我需要在 Vim 的两个文件之间来回跳转。
我可以手动执行此操作,:e file1.txt
然后:e file2.txt
. 有没有直接跳转到之前打开的文件的快捷方式?
注意:我不想在拆分窗口或多个选项卡中打开这两个文件。
我正在寻找类似的东西[ctrl + o]
,只有跳转应该是前一个文件,而不是同一个文件中的前一个位置
感谢您的任何提示
我需要在 Vim 的两个文件之间来回跳转。
我可以手动执行此操作,:e file1.txt
然后:e file2.txt
. 有没有直接跳转到之前打开的文件的快捷方式?
注意:我不想在拆分窗口或多个选项卡中打开这两个文件。
我正在寻找类似的东西[ctrl + o]
,只有跳转应该是前一个文件,而不是同一个文件中的前一个位置
感谢您的任何提示
使用<C-^>
或<C-6>
。
来自:h ctrl-^
:
Edit the alternate file. Mostly the alternate file is
the previously edited file. This is a quick way to
toggle between two files. It is equivalent to ":e #",
except that it also works when there is no file name.
If the 'autowrite' or 'autowriteall' option is on and
the buffer was changed, write it.
Mostly the ^ character is positioned on the 6 key,
pressing CTRL and 6 then gets you what we call CTRL-^.
But on some non-US keyboards CTRL-^ is produced in
another way.
我不确定我是否理解正确,但只打开两个文件可能buffer next
:bn
就足够了吗?
要真正在两个文件之间切换,请使用:b#
: 当您打开两个以上的文件时,这会更方便。
假设您已加载file1
, file2
,并希望在和file3
之间切换:2
3
:b file2
打开文件2:b file3
打开文件3:b#
从 3 切换到 2,反之亦然。在这种情况下,:bn
将循环遍历 1, 2, 3, 1, 2, 3, ...
这是文件和缓冲区管理的主题。您可以查看相关文档。我想出了一些你可能感兴趣的命令:
CTRL+^
:转到同一窗口中最后编辑的文件。
gf
:如果可以找到光标下的链接,则转到文件。
:bn
:bp
: 转到下一个或上一个缓冲区。
:n
:N
: 转到下一个或上一个 arg 文件。
还有一个叫unimpaired的插件,让你更开心!
如果您想根据需要跳转到文件:
:b partial_word
然后按Tab
,您将获得自动完成。
:ls
然后:b a_number
去那个缓冲区。
一些像bufexplorer、nerdtree这样的插件非常有用。但是在这种情况下,您可以考虑使用 CtrlP,它可以非常快速地搜索所有文件!
如果我的问题是正确的,那就是:e#
我不知道更好的解决方案,但一种可能的解决方案是按照以下步骤操作:
:e file1.txt
:e file2.txt
: <commands commands>
:e <UP_ARROW> / <DOWN_ARROW> to switch between the files
这可能不是您所要求的,但利用了自动完成功能。
我使用 :bn 转到下一个打开的文件,但由于我很懒,我重新映射 N 所以我所要做的就是 shift-n ...非常快!
(额外的问题:^Z 是干什么用的?A:那是我 SCO 时代的遗留物,当时我会用手指按 ctrl-z 并弹出 vi 进入后台工作......我应该删除它,但是记忆......)
这是我的 gvimrc,用于在我使用的每个 Windows 机器上自定义 Vim:
" custom gvimrc " 这个命令在 GUI 启动时执行。" slc 07/05/2013 - 默认(通常是 c:\program files\Vim)
设置标尺
设置制表符=3
设置 shiftwidth=3
设置扩展选项卡
设置无备份
设置备份目录=C:\Windows\Temp
设置目录=C:\Windows\Temp
彩色果仁蛋糕
设置 nohlsearch
地图 N :bn
地图 ZZ :xa
map ^Z :No Jobs...不在 Vim 中使用...
语法