4

我正在使用带有MRU 插件的 Vim 7.3 。

使用此插件,当您键入时,您:MRU会看到一个包含最近使用文件的新窗口。这很酷,但我想要比这更具体的东西:

假设我只使用一个窗口。我首先打开文件 A,然后打开文件 B,然后打开文件 C。

现在我现在在文件 C 上,我想返回文件 B,然后通过击键返回文件 A,就像浏览器历史记录上的后退按钮一样。我也想继续前进,从文件 A 回到文件 B,最后回到文件 C,就像我在玩浏览器历史记录一样。

我怎样才能做到这一点?

4

3 回答 3

7

Vim 会记录你在文件内和文件之间所做的最后 100 个跳跃动作的列表。您可以使用Ctrl-O跳回之前的位置,以及Ctrl-I再次向前跳。

于 2012-07-12T05:17:05.027 回答
4

文件 A、B 和 C 在 Vim 用语中称为“缓冲区”。您想要的是直接从缓冲区跳转到缓冲区的能力或选择要跳转到的缓冲区的能力。

从一个缓冲区跳转到另一个缓冲区很容易。它是通过:b命令或其表亲完成的:

:b filename<CR>         " jump directly to the named buffer
:b fil<tab>             " select from <tab>-navigable menu if
                        " more than one match, completes the 
                        " filename otherwise
:b <tab>                " select from <tab>-navigable menu
:2b                     " go to buffer number 2
:bfirst<CR>    (or :bf) " self-descriptive
:blast<CR>     (or :bl) " self-descriptive
:bnext<CR>     (or :bn) " self-descriptive
:bprevious<CR> (or :bp) " self-descriptive

从列表中选择缓冲区也很容易::ls<CR>显示一个编号的缓冲区列表并等待命令。此时,您键入:b <number><CR>:<number>b<CR>跳转到选定的缓冲区。您可以将以下映射添加到您的~/.vimrc,以使整个过程更快:

nnoremap <leader>b :ls<CR>:b<space>

还有相当多的缓冲区切换插件可供您使用(页面的其余部分也充满了有趣的信息)。

如果可以,我会使用未列出的CtrlP,如果不能,则使用上面的映射。

于 2012-07-12T07:26:05.343 回答
0

我还强烈推荐使用 Tim Pope 的Unimpaired插件,它可以让您使用:bprev和快捷方式,以及更多功能。:bnext[b]b

于 2014-07-03T09:43:26.960 回答