通常モードのコマンドgf
は、カーソルが現在あるパスのファイルに移動します。
ただし、現在のウィンドウでは、現在のテキストが置き換えられます。つまり、後で戻るには明示的に戻る必要があり、潜在的に現在のバッファに変更を書き込む必要があるということです。
代わりに新しいタブビューでカーソルの下のファイルを開くことで可能だと確信していますか?
通常モードのコマンドgf
は、カーソルが現在あるパスのファイルに移動します。
ただし、現在のウィンドウでは、現在のテキストが置き換えられます。つまり、後で戻るには明示的に戻る必要があり、潜在的に現在のバッファに変更を書き込む必要があるということです。
代わりに新しいタブビューでカーソルの下のファイルを開くことで可能だと確信していますか?
回答:
編集:Vimにはデフォルトで水平分割ケース用の2つのマッピングがあるため、垂直分割ケース用のきれいな対称マッピングを提案します。
「カーソル下のファイル」を編集する方法はいくつかありますがgf、@ alexander-myshovが言及しているように、新しいタブページで編集するために確実に再マッピングできますが、つまり、新しいタブページで編集するには2つの方法がありますが、現在のウィンドウで編集しますが、これも必要に応じて行います。標準のマッピングを使用することは難しいことではないですが、あなたがそれらのいずれかに再マッピングしたい場合はgf、私がお勧めしたいの切り替えあなたがそれらの失うことはありませいずれかを実行しそうという、マッピングを。
カーソルの下のファイル名を編集する方法のいくつかは
垂直分割でカーソルの下にある既存のファイルを編集するための標準のマッピングはありませんが、最初にウィンドウを垂直に分割してから、現在のウィンドウでカーソルの下にあるファイルを編集することで実現できます。
上記のように、水平分割でカーソルの下にあるファイルを編集するための2つのデフォルトマッピングがあります。したがって、それらの1つを上記のキー文字列に再マッピングし、マップのグループを拡張して、垂直分割ケースもカバーできます。もちろん、何でもバインドできますが、これは対称性をうまく完成させるようです:nnoremap <C-W><C-F> <C-W>vgf
。今、あなたは持っています
カーソルの下のファイル名の後に行番号が続く場合、ファイル内の特定の行に移動することもできます。あなたが持っている場合
filename:10
ファイルを編集し、カーソルを10行目に移動させることができますgF。同等のために真であるC-WF分割のとC-WgFタブページのため。ここでは、垂直分割の対称性を完成させるのは簡単ではありませんが、でC-WC-S-F取得したマップは、候補としてデフォルトマップのor + をnnoremap <C-W><C-S-F> <C-W>vgF
模倣することをお勧めします。FShiftf
これ:
は一例であり、ファイル名文字以外の任意の文字を使用できます(を参照:h 'isfname'
)。
これらのすべてのコマンドには、次のようなアップルソースが付属しています。
'path'
オプションに応じて、現在のディレクトリよりも多くの場所を見る'suffixesadd'
オプションに従って、ファイル拡張子をファイル名に追加する'includeexpr'
オプションに従って、指定されたfilnameを変更して一致を見つけます:help gf
これらのさまざまなオプションの詳細とヘルプトピックを参照してください。
カーソル名の下にファイル名が存在しないファイルは、あなたがより良いと標準の編集コマンドを使用してのものであってもよい場合<cfile>
のように、
:edit <cfile> // edit non-existent file under cursor in current window
:split <cfile> // edit non-existent file under cursor in split window
:vsplit <cfile> // edit non-existent file under cursor in vertical split window
:tabe <cfile> // edit non-existent file under cursor in new tabpage
もちろん、これらを使用:spl+10 filename
すると、カーソルを特定の行:tabe+/cologne filename
に移動したり、パターンの最初の出現箇所にカーソルを移動したりすることができます。
これにはバインディングを使用します。
新しいウィンドウで開く(分割):
nnoremap gf <C-W>f
vnoremap gf <C-W>f
新しいタブで開く:
nnoremap gf <C-W>gf
vnoremap gf <C-W>gf
これも確認してください:
:help CTRL-W_gf
gf
他の何かにリマップすることを望んでいないようです。でもnnoremap gf :echo "hello"<CR>
、まだ新しいバッファ内のカーソルの下のファイルを開きます(はい、私はのvimrc調達)。
'hidden'
オプション(set hidden
)をオンにすると、保存されていないバッファーから移動できます。私にとっては、これは生産性を大幅に向上させるものであり、分割やタブに頼るのをやめるには不可欠でした。