Linux 如何在vim中导航打开的文件?

Linux 如何在vim中导航打开的文件?,linux,vim,Linux,Vim,我在vim中使用打开了一个文件 女朋友 该命令打开了当前光标位置所在的文件 我曾经 ctrl+^ 用于在最后两个打开的文件之间切换。 但是 如何向前和向后打开文件?:next到下一个文件 :prev到上一个文件:bn&:bp循环缓冲区 要循环窗口,我使用ctrl+w+w 循环打开文件的步骤:下一步和上一步 要列出打开的缓冲区::ls 从良好的旧vi:e#重新打开上一个文件^^^^(很久以前就没有使用它了……因为VIM来到我的系统^^) 编辑:在windows中快速测试gvim(设置nocp) m

我在vim中使用打开了一个文件

女朋友

该命令打开了当前光标位置所在的文件

我曾经

ctrl+^

用于在最后两个打开的文件之间切换。 但是
如何向前和向后打开文件?

:next
到下一个文件
:prev
到上一个文件
:bn
&
:bp
循环缓冲区

要循环窗口,我使用
ctrl+w+w

循环打开文件的步骤:下一步和上一步

要列出打开的缓冲区:
:ls

从良好的旧vi
:e#
重新打开上一个文件^^^^(很久以前就没有使用它了……因为VIM来到我的系统^^)

编辑:在windows中快速测试gvim(设置nocp)

map^[:bn^M
要输入escape(^[)和(^M),必须按ctrl+v,然后按特殊字符

编辑2:一种更简洁的方法是将其放入.vimrc中

map <C-tab> <esc>:bn<cr>
map:bn
但请记住,对键使用助记符取决于其他一些选项(我不记得是哪一个)


最好的方法是编写一个VIM函数,保存实际模式,执行切换,然后恢复它,然后将它映射到每种模式(:[xxx]map命令)

或者,您可能想查看任何一个插件,以使缓冲区导航更容易

我自己已经把它缩减为
bx
x
是缓冲区的编号。 通过底部一个漂亮的弹出列表选择缓冲区

要获得此行为,首先安装LustyJuggler(),然后在vimrc文件中设置如下快捷方式:

nmap <leader>b :LustyJuggler<CR>
:nnoremap <Tab> :bnext<CR>
:nnoremap <S-Tab> :bprevious<CR>
nmap b:LustyJuggler

请注意,此映射仅在正常模式下工作。

您还可以映射TAB键以快速循环打开的缓冲区

将以下内容添加到vimrc文件:

nmap <leader>b :LustyJuggler<CR>
:nnoremap <Tab> :bnext<CR>
:nnoremap <S-Tab> :bprevious<CR>
:nnoremap:bnext
:nnoremap:b上一页

工作正常……但是,我需要ESC模式。您可以添加一些自定义映射以强制ESC模式,循环缓冲区并重新进入编辑模式。某个地方有一个VIM脚本将此映射到ctrl+F6,将尝试找到它。@sat:这有助于提供更多详细信息。“它不工作”太广泛,无法进行任何猜测。对于打开的文件,它也工作正常。我以为这是循环缓冲区。这就是为什么,我放了那个注释。别误会我。这取决于文件的打开方式。启动一个vim,执行:e file1,然后执行:e file2,然后尝试:next或:prev。你会惊讶它会告诉你“只有一个文件要编辑”,而如果执行a:ls,则显示2个缓冲区。@Jayan、:prev和:next仅在打开这样的文件时有效,
vim a.txt hidden.php php\u info.php
。@Jayan和@sat:此功能称为参数列表,启动后可以添加文件(
:args*.cs
:argadd*.config
:revend
)。请务必查看
argdo
,谢谢您的链接,很好的插件。