Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 您如何从';gf';精神抖擞_Vim_Editor - Fatal编程技术网

Vim 您如何从';gf';精神抖擞

Vim 您如何从';gf';精神抖擞,vim,editor,Vim,Editor,我正在使用安装在Unix模式下的Vim for windows。多亏了这个网站,我现在使用gf命令转到光标下的文件 我正在寻找以下命令之一: 返回到上一个文件(类似 CTAG的Ctrl+T),或 重新映射gf 自动启动新文件的步骤 在新窗口中 Ctrl-Shift-6就是其中之一 :e#↲是另一个。我使用Ctrl-O只需使用:e#然后按Enter键-基本上就是说编辑最后一个(最近的)文件。请参见。我不知道您问题第2部分的答案,但我可以帮助您完成第1部分。使用 :e# Vim维护一个正在编辑的文

我正在使用安装在Unix模式下的Vim for windows。多亏了这个网站,我现在使用
gf
命令转到光标下的文件

我正在寻找以下命令之一:

  • 返回到上一个文件(类似 CTAG的Ctrl+T),或
  • 重新映射
    gf
    自动启动新文件的步骤 在新窗口中
  • Ctrl-Shift-6就是其中之一


    :e#↲
    是另一个。

    我使用Ctrl-O

    只需使用
    :e#
    然后按Enter键-基本上就是说编辑最后一个(最近的)文件。

    请参见。

    我不知道您问题第2部分的答案,但我可以帮助您完成第1部分。使用

    :e#
    
    Vim维护一个正在编辑的文件(缓冲区)列表。如果你打字

    :buffers
    
    它将列出您当前正在编辑的所有文件。该列表中旁边带有%的文件是当前文件。旁边有#的是备用文件:e#将在当前文件和备用文件之间切换。我没有输入那么多,而是将F2映射到:e#,这样就可以轻松地在当前文件和备用文件之间切换。我通过将其添加到.vimrc将命令映射到F2

    nmap `<F2> :e#<CR>`
    
    nmap`:e#`
    
    为此,我经常使用Ctrl-6

    它很方便,因为它允许我在两个文件之间快速来回跳转。

    当您打开一个新文件(使用gf或:n或其他命令)时,旧文件仍保留在缓冲区列表中。您可以使用以下命令列出打开的文件:ls

    如果希望在vim中的缓冲区之间轻松导航,可以创建如下映射:

    nmap <M-LEFT> :bN<cr>
    nmap <M-RIGHT> :bn<cr>
    

    我没有看过你的gf命令,但我想它使用了:e:find命令。
    假设这是正确的,只需将:e或:find替换为:new(或:vnew表示垂直拆分),文件将在新窗口中打开,而不是在同一窗口中打开

    e、 g。 “在收割台和cpp之间切换 nmap,s:find%:t:r.cpp nmap,S:new%:t:r.cpp nmap,h:find%:t:r.h nmap,H:new%:t:r.H nmap,F:new=expand(“:t”) nmap,d:new=expand(“”)

    您可能需要使用
    CTRL-wgf
    在新选项卡中打开文件


    您可以像往常一样使用
    :bd
    关闭新打开的文件,或者使用
    CTRL-6
    和其他常用的更改缓冲区的方法。

    我让CTRL-W f工作。

    非常令人沮丧的是,我花了这么长时间来完善这些命令的地图,却发现有内置版本。

    使用gf进入一个文件并使用:bf返回

    不需要移位。停止滥用你的手指。嗯。我有点老了。在我过去在wo使用的Wyse终端上,Ctrl-6不能与vi一起工作rk几年前。看,有些东西仍然被蚀刻。在这个组合中不使用Shift对我的手指虐待几乎没有影响。嘿,至少你已经尽力了。HTH.HAND。这会切换到所谓的。CTRL-O以转到跳转列表中的较旧位置,或CTRL-I以转到较新位置。@g33kz0r助记符将是O=OUT,I=in=>Ctrl-O带你出来,Ctrl带你进来。如果每次跳转都像进门一样,也就是说。Ctrl-O会跳转到最后访问的位置,当新文件被搜索进来时,这很烦人。我更喜欢Shift-Ctrl-6(在我的情况下Ctrl-6不起作用),我认为paxdiablo的答案更好。:e#只后退一步(即使我们打开了文件或目录).ctrl-o转到第一个文件。我认为您不想使用:e,因为这可能会重新加载文件。:b#没有这个问题。很好的一点。在不重新加载的情况下切换到另一个缓冲区。tab对我来说比buffer更方便,使用
    nnoremap gf
    在新选项卡中打开可能更好。我没有wo窗口在选项卡中打开,这只是在第一个窗口中打开了第二个窗口,而不是跳回上一个缓冲区。
    gf
    是内置的。它属于我们所有人。:-)我正在寻找的答案。谢谢!
    :help map.txt
    
    "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>