
次のファイルパスを持つ 2 つのファイルがあるとします。
~/another/project/file1.txt
~/this/is/some/very/deep/project/file2.txt
ご覧のとおり、file1.txt
と はfile2.txt
ファイルシステム内で互いに「離れた」位置にあります。
今、私が を編集していて、 をウィンドウでfile1.txt
開きたいとします。開くために私が選ぶ最も速い方法はfile2.txt
vsplit
file2.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 のデフォルト設定では、実際にはプロジェクトのルートから検索が開始されます。技術的には、適切に動作させるにはルート ノードを別の方法で設定する必要があります。