How do you return from 'gf' in Vim
我将Vim用于以Unix模式安装的Windows。 多亏了此站点,我现在使用
我正在寻找命令之一:
到Ctrl + T(用于ctags),或者
自动启动新文件
在新窗口中。
我使用Ctrl-O
我经常为此使用Ctrl-6。
这很方便,因为它使我可以在两个文件之间快速来回跳转。
您可能要使用
您可以像以前一样使用
使用gf下降到文件中,然后使用:bf返回
只需使用
Ctrl-Shift-6是一个。
我不知道您问题的第2部分的答案,但是我可以为第1部分提供帮助。
1 | :e# |
Vim会维护一个正在编辑的文件(缓冲区)列表。如果您输入
1 | :buffers |
它将列出您当前正在编辑的所有文件。该列表中带有%的文件是当前文件。旁边带有#的是备用文件。 :e#将在当前文件和备用文件之间切换。我将F2映射到:e#而不是键入太多内容,因此可以轻松地在当前文件和备用文件之间切换。我通过将命令添加到.vimrc将其映射到F2
1 | nmap `<F2> :e#<CR>` |
我有CTRL-W f可以工作。
令人沮丧的是,我花了这么长时间完善这些命令的映射,才发现有内置版本。
当您打开新文件(使用gf或:n或其他命令)时,旧文件仍保留在缓冲区列表中。您可以使用:ls列出打开的文件
如果要在vim中的缓冲区之间轻松导航,可以创建如下映射:
1 2 | nmap <M-LEFT> :bN<cr> nmap <M-RIGHT> :bn<cr> |
现在,您可以使用Alt +左??箭头或Alt +右箭头在缓冲区之间切换。
有关映射的完整文档在这里:
1 | :help map.txt |
参见:help替代文件。
我没有看过您的gf命令,但我想它使用了:e或:find命令。
假设这是正确的,只需将:e或:find替换为:new(或:vnew进行垂直拆分),文件将在新窗口中打开,而不是在同一窗口中打开。
例如
1 2 3 4 5 6 7 | "Switch between header and cpp nmap ,s :find %:t:r.cpp<CR> nmap ,S :new %:t:r.cpp<CR> nmap ,h :find %:t:r.h<CR> nmap ,H :new %:t:r.h<CR> nmap ,F :new =expand("<cfile>:t")<CR><CR> nmap ,d :new =expand("<cfile>")<CR><CR> |