Unix モードでインストールされた Windows に Vim を使用しています。このサイトのおかげで、gf
コマンドを使用してカーソル下のファイルに移動できるようになりました。
次のいずれかのコマンドを探しています。
- 前のファイルに戻る ( ctags の Ctrl+と同様)、またはT
gf
新しいウィンドウで新しいファイルを自動的に起動するように再マップします。
私が使うCtrl-O
Ctrlこれには-をよく使います6。
2 つのファイル間をすばやく行き来できるので便利です。
を使用CTRL-W gf
して、ファイルを新しいタブで開くことができます。
新しく開いたファイルはいつものように で閉じることができます。:bd
または、CTRL-6
バッファを変更する他の通常の方法を使用してください。
:e#
- を続けて使用するだけEnterで、基本的に最後の(最新の)ファイルを編集することを意味します。
gf を使用してファイルに降り、 :bf を使用して戻ります
私はCTRL-Wf仕事に行きました。
これらのコマンドのマップを完成させるのに長い時間を費やしたのに、組み込みバージョンがあることを発見しただけで、非常に憂鬱です。
あなたの質問のパート2の答えはわかりませんが、パート1のお手伝いはできます。
:e#
Vimは、編集中のファイル(バッファー)のリストを保持しています。入力した場合
:buffers
現在編集しているすべてのファイルが一覧表示されます。そのリストの横に%が付いているファイルが現在のファイルです。横に#が付いているのは代替ファイルです。:e#は、現在のファイルと代替ファイルを切り替えます。それほど多く入力するのではなく、F2を:e#にマップして、現在のファイルと代替ファイルを簡単に切り替えることができるようにします。これを.vimrcに追加して、コマンドをF2にマップします
nmap `<F2> :e#<CR>`
( gfまたは:nまたは別のコマンドを使用して)新しいファイルを開くと、古いファイルはバッファーリストに残ります。開いているファイルを:lsで一覧表示できます
vimのバッファー間を簡単に移動したい場合は、次のようなマッピングを作成できます。
nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>
Altこれで、 +を使用してバッファを切り替えることができます←</kbd> or Alt+→</kbd>.
マッピングに関する完全なドキュメントは次のとおりです。
:help map.txt
:help 代替ファイルを参照してください。
あなたのgfコマンドは見ていませんが、:eまたは:findコマンドを使用していると思います。
これが正しいと仮定すると、:eまたは:findを:new (または垂直分割の場合は:vnew ) に置き換えるだけで、ファイルは同じウィンドウではなく新しいウィンドウで開きます。
例えば
"header と cpp の切り替え nmap ,s :find %:t:r.cpp<CR> nmap ,S :new %:t:r.cpp<CR> nmap ,h :find %:t:rh<CR> nmap ,H :new %:t:rh<CR> nmap ,F :new =expand("<cfile>:t")<CR><CR> nmap ,d :new =expand("<cfile>")<CR><CR>