Linux システムで Vim を使用してリモート ファイルを読み書きするコマンドの詳細な説明

Linux システムで Vim を使用してリモート ファイルを読み書きするコマンドの詳細な説明

vim の動作モードを設定する (一時的)

:set (モード情報)
:set nu — 行番号を表示する:set nonu — 行番号をキャンセルする:set mouse=a — マウスを使用可能にする:set cursorline — 表示行を設定する:help — ヘルプを表示する

今日は、Vim の使用スキル、つまり Vim を使用したリモート ファイルの読み取りと書き込みについて説明します。この目的を達成するには、 netrw.vimというプラグインを使用する必要があります。 Vim 7.x 以降では、netrw.vim はデフォルトでインストールされる標準プラグインとして設定されています。このプラグインを使用すると、ユーザーは ftp、rcp、scp、http などのプロトコルを介してリモート ファイルを読み取り、書き込み、編集、参照できます。

netrw プラグインとは何ですか?

netrw (ネットワーク指向の読み取り、書き込み、および参照) プラグインは、ローカル端末とリモート端末間のネットワークを介したファイルの編集、読み取り、および書き込みをサポートするだけでなく、ローカル端末とリモート端末のディレクトリの参照もサポートします。このプラグインの詳細な情報については、Vim セッションでhelp netrwと入力してください。

Vim を使用して、ローカル システムからリモート Linux システムに保存されているファイルを読み書きする方法を見てみましょう。

Linux で Vim を使用してリモート ファイルを読み書きする

リモート ファイルの読み取りと書き込みの方法は、リモート ファイルの編集とほぼ同じです。ローカル システムからリモート ファイルを読み取るには、次のコマンドを使用してファイルを開くだけです。

$ vim scp://[email protected]/info.txt 

ファイルを終了するにはqと入力します。

ローカル システムからリモート ファイルに書き込むには、まず上記のコマンドを使用してファイルを開き、 iを押して挿入モードに入り、ファイルに書き込みます。ファイルに書き込む内容を書き込んだら、 ESCキーを押して挿入モードを終了し、 wqと入力して保存して終了します。

このコマンドの背後で実行されているプロセスは、実際には scp コマンドを使用してリモート ファイルをローカル システムの/tmpディレクトリにコピーし、そのファイルを開いて編集することです。編集が完了したら、scp コマンドはローカルで編集したファイルをリモート システムに再度コピーします。

リモート ファイルの内容がローカルで変更されたかどうかを確認するには、次のコマンドを使用します。

$ ssh [email protected] 猫情報.txt

リモート端末ディレクトリへの絶対パスを使用する場合は、次のコマンドのように二重のスラッシュを使用する必要があります。

$ vim scp://[email protected]//home/cirdan/Documents/info.txt

セキュリティ上の理由で SSH ポートを変更した場合は、以下に示すように SSH ポート番号を明示的に指定する必要があります。

$ vim scp://[email protected]:2200/info.txt

ここで、ポート 2200 はカスタム ポート番号です。特定の状況に応じて、上記のコマンドで 2200 の代わりに独自の ssh ポート番号を使用することもできます。

ssh/scp チャネルがない場合は、代わりに次のように他のプロトコルを使用できます。

$ vim ftp://user@remotesystem/path/to/file

Vim セッションでリモート ファイルの読み取りと書き込みを行う

すでに Vim セッション中の場合は、Nread (NetRead) コマンドと Nwrite (NetWrite) コマンドを使用してリモート ファイルの読み取りと書き込みを行うことができます。

次のコマンドを使用して、ローカル システムで Vim エディターを開くとします。

$ ヴィム

これで、Vim セッションが開始されます。新しくキャッシュされた Vim セッションでリモート ファイルをローカルに読み取るには、次のコマンドを実行します。

:e scp://[email protected]/info.txt

さらに、次のようにNreadコマンドを使用することもできます。

:Nread scp://[email protected]/info.txt

または、次のように入力します。

:N「scp://[email protected]/info.txt」を読み取ります

このコマンドの詳細を知るには、Vim セッションで次のコマンドを入力します。

:N読んでますか?

説明ファイルを読み終わったら、 :qと入力してファイルを終了します。

同様に、リモート ファイルに書き込むには、まず次のコマンドを使用する必要があります。

:e scp://[email protected]/info.txt

iキーを押して挿入モードに入り、ファイルの書き込みや変更を行います。

:wを使用してファイルを作成して書き込むこともできますが、このコマンドは新しい空のファイルのみを作成します。

:w s​​cp://[email protected]/info.txt

書き込み後、 ESCキーを押して編集を終了し、 :wqと入力してファイルを保存して終了します。

また、 Nwriteコマンドを使用してファイルの作成と書き込みを行うこともできます。使用例は次のとおりです。

:Nscp://[email protected]/info.txt に書き込みます

Nwriteコマンドの詳細情報を取得するには、Vim セッションで次の情報を入力します。

:N書き込み?

要約する

これで、Linux システムで Vim を使用してリモート ファイルを読み書きする方法に関するこの記事は終了です。Linux で vim を使用してリモート ファイルを読み書きする方法に関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux ipcs コマンドと ipcrm コマンドの詳細な使用方法
  • Linux sar コマンドの使用方法とコード例の分析
  • Linux lsコマンドの使用
  • Linux sedコマンドの使用
  • Linux xargsコマンドの使用
  • Linuxの読み取りコマンドの使用
  • Linux chkconfig コマンドの使用
  • Linuxのtimeコマンドの使い方の詳しい説明
  • Linux lnコマンドの使用
  • Linux の cut コマンドの説明
  • Linux ipcsコマンドの使用

<<:  MySQLのスロークエリの詳細な説明

>>:  js を使用して数字推測ゲームを実装する

推薦する

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...

vue.js ベースの QQ チャット ルーム

目次導入効果のデモンストレーションは次のとおりです。 MChat コンポーネントのレンダリング: I...

MySQLはtruncateコマンドを使用してデータベース内のすべてのテーブルを素早くクリアします

1. まずSELECT文を実行して、すべての切り捨て文を生成します。ステートメント形式: selec...

フロントエンドページのスライド検証を実装するための JavaScript + HTML (2)

この記事の例では、クールなフロントエンドページのスライド検証の具体的なコードを参考までに共有していま...

Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮...

DockerコンテナでArthasを使用するための詳細な手順

Arthas はあなたのために何ができるでしょうか? Arthas 、開発者に深く愛されている Al...

リストループスクロールを実現するための HTML+CSS+JavaScript サンプルコード

説明: 指定された時間内に前のノードのコンテンツを置き換えるタイマーを設定します。 1. キーコード...

Gojs がアリのラインアニメーション効果を実装

目次1. Gojsの実装1. 描画2. 破線の実装3. 点線を動かす2. 点線と点線アニメーションの...

Docker+K8S+GitLab/SVN+Jenkins+Harbor をベースにした継続的インテグレーション配信環境の構築に関する詳細なチュートリアル

目次環境設定の概要1.K8Sとは何ですか? 2. K8S を使用する理由3. K8S を使用する利点...

mysql 行列変換サンプルコード

1. 需要3 つのテーブルがあります。一定期間にわたるさまざまな抗生物質感受性の結果、つまり rep...

MySQL 権限制御の詳細分析

目次1. グローバルレベル2. データベースレベル3. 表面レベル4. 列レベルの権限5. サブルー...

Docker Desktop で rocketmq をインストールするための非常に詳細なチュートリアル

Dockerデスクトップをインストールするダウンロード先: Docker Desktop for M...

nginx共有メモリの仕組みの詳細な説明

Nginx の共有メモリは、高いパフォーマンスを実現できる主な理由の 1 つであり、主にファイル キ...

Navicat が MySQL に接続するときに発生する 1045 エラーの解決方法

ローカル データベースに接続すると、Navicat for MySQL は以下のように 1045 エ...