代码之家  ›  专栏  ›  技术社区  ›  JayG

你怎么从维姆的“gf”回来?

  •  167
  • JayG  · 技术社区  · 16 年前

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

    我在找一个命令:

    1. 返回到上一个文件(类似 到 Ctrl键 + T 对于CTAGS),或
    2. 重新映射 GF 自动启动新文件 在新窗口中。
    11 回复  |  直到 13 年前
        1
  •  265
  •   ib. Evgeny Shavlyugin    13 年前

    我用 Ctrl键 - o

        2
  •  66
  •   ib. Evgeny Shavlyugin    13 年前

    我经常使用 Ctrl键 - 为此。

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

        3
  •  39
  •   Roman Odaisky    16 年前

    你可能想用 CTRL-W gf 在新选项卡中打开文件。

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

        4
  •  11
  •   Ram    14 年前

    使用gf下降到文件中并使用:bf返回

        5
  •  11
  •   ib. Evgeny Shavlyugin    13 年前

    只使用 :e# 然后 进入 -这基本上意味着要编辑最后一个(最新的)文件。

        6
  •  9
  •   tzot    16 年前

    ctrl-shift-6就是其中之一。

    :e#↲ 是另一个。

        7
  •  5
  •   codebunny    15 年前

    我不知道你问题第二部分的答案,但我可以帮助你完成第一部分。使用

    :e#
    

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

    :buffers
    

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

    nmap `<F2> :e#<CR>`
    
        8
  •  4
  •   groovyspaceman    16 年前

    我让ctrl-w f工作。
    令人沮丧的是,我花了这么长时间来完善这些命令的映射,结果发现有内置版本。

        9
  •  2
  •   Bruno De Fraine    16 年前
        10
  •  2
  •   Oli    16 年前

    打开新文件时 GF N 或者另一个命令)旧文件保留在缓冲区列表中。可以列出打开的文件 LS

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

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

    现在,您可以使用alt+左箭头或alt+右箭头在缓冲区之间切换。

    有关映射的完整文档如下:

    :help map.txt
    
        11
  •  0
  •   groovyspaceman    16 年前

    我没看过你的 GF 命令,但我想它使用 E 找到 命令。
    假设这是正确的,只需替换 E 找到 具有 新的 (或) VNEW 对于垂直拆分),文件将在新窗口中打开,而不是在同一窗口中打开。

    例如

    "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>