Vimでは、gf
コマンドを使用して カーソルの下のファイルを開く を実行できます。
また、<c-w> f
を押すと、新しい分割ウィンドウでそのファイルを簡単に開くことができます。これは本当に素晴らしい時間節約機能です。
しかし、(新しいウィンドウを作成せずに)既に開いている分割ウィンドウでファイルを開く方法がわかりません。
私はトリックをするためにすべてのピースを集めました。最善の方法は、すべてのコマンドのカスタムマッピングを作成することです。
_ map <F8> :let mycurf=expand("<cfile>")<cr><c-w> w :execute("e ".mycurf)<cr><c-w>p
_
説明:
map <F8>
_は "F8"に続くコマンドをマッピングしますlet mycurf=expand("<cfile>")
はカーソルの下のファイル名を取得し、mycurf
に保存します<c-w>w
_フォーカスを次に開いている分割ウィンドウに変更しますexecute("e ".mycurf)
はmycurf
に保存されたファイルを開きます<c-w>p
_は、フォーカスを前のウィンドウ(実際に元のウィンドウ)に変更しますそれは簡単にはできません。 [count]
の前の<C-w>f
は、'path'
で一致するファイルを開くことを指定しますが、開くnot既存のウィンドウを選択します。 <C-w>w
コマンドの場合のみ、[count]
は「既存のウィンドウ番号に移動」を意味します。
この機能を使用するには、カスタムマッピングを作成する必要があります。
[count]
ウィンドウに移動してgf
コマンドをエミュレートする、または[count]
ウィンドウに複製し、そこでgf
を実行しますこれは私のために働きました:
function! OpenFileInPrevWindow()
let cfile = expand("<cfile>")
wincmd p
execute "edit " . cfile
endfunction
nmap ,f :call OpenFileInPrevWindow()<CR>