コマンドラインでvimの遠隔ファイルを開く簡単な方法

コマンドラインでvimの遠隔ファイルを開く簡単な方法

次のファイルパスを持つ 2 つのファイルがあるとします。

~/another/project/file1.txt
~/this/is/some/very/deep/project/file2.txt

ご覧のとおり、file1.txtと はfile2.txtファイルシステム内で互いに「離れた」位置にあります。

今、私が を編集していて、 をウィンドウでfile1.txt開きたいとします。開くために私が選ぶ最も速い方法はfile2.txtvsplitfile2.txt

:vsplit ~/this/is/some/very/deep/project/file2.txt

これは、あいまい補完を使用しても、明らかに効率的ではありません。

すぐに「ブックマーク」したり「ディレクトリにジャンプ」してアクセスする方法はありますかfile2.txt?

私の最初の考えは、シェルからコマンドを実行して(コマンドモード内で、を使用して!)、何らかの方法でジャンプを容易にすることです。次のようなものを使用します。ジャンプ役に立つかもしれないが、方法は分からない。

答え1

この質問の回答で説明されているように、グローバル マークを使用してみることもできます。

https://stackoverflow.com/questions/1581505/vim-create-marks-across-files

のように大文字でマークを付けるとmA、 でそのマークに移動することでそのファイルに戻ることができます'A

適切に保存されていれば、これはセッション間で機能します.viminfo

答え2

同じファイルを定期的に使用している場合は、シンボリック リンクを使用できます。

リンクを保存するためのフォルダーを作成します。

mkdir ~/links/

ファイルをリンクします。

ln ~/another/project/file1.txt ~/links/file1.txt
ln ~/this/is/some/very/deep/project/file2.txt ~/links/file2.txt

リンクに別の名前を付けることもできます。ファイルがsomereallylongname.txtの場合はshname.txtにリンクできます。

ln ~/this/is/some/very/deep/project/somereallylongname.txt ~/links/shname.txt

答え3

友人が私に提示したもう一つの答えは、制御プラグイン。ctrlp プラグインを使用すると、複数のディレクトリから同時にファイルを検索するのが容易になります。

編集: ctrlp のデフォルト設定では、実際にはプロジェクトのルートから検索が開始されます。技術的には、適切に動作させるにはルート ノードを別の方法で設定する必要があります。

関連情報