在Vim中打开特定文件的快捷方式?

7

有没有办法在我的.vimrc中配置一个快捷方式,自动在新的缓冲区中打开特定的文件?我经常需要访问一个文件,并且希望在编码或写作会话期间快速地在一个新的缓冲区中打开该文件。我不是要使用Command-T或PeepOpen这样的模糊搜索,而是要使用一个快速命令来打开一个特定的文件并将其放在一个新的缓冲区中。如果有一种方法可以控制新缓冲窗口的形状,那就更好了。


1
“:e”,“:split”,“:vsplit”或“:tabopen”有什么问题吗? - Benjamin Bannier
我要打开的文件不在我的工作目录附近。使用 :e 命令会非常麻烦,因为我必须输入文件的完整路径。 - drbunsen
@dr.bunsen 关于长路径:您可以始终使用Tab键来自动完成路径模式。 - Zsolt Botykai
3个回答

12

您可以创建一个映射,例如:

nmap <leader>v :e ~/.vimrc<CR>

在正常模式下按下\v,会打开你的.vimrc文件。

注意\是默认的leader设置,你可以进行更改。

let leader="WHATEVER_KEY_PREFIX_YOU_PREFER"
在你的 .vimrc 文件中也可以这样设置。
如果你想在一个新的缓冲区中打开,只需尝试:
nmap <leader>v :find ~/.vimrc<CR>

1
如果你想要文件立即打开,你需要在命令后面加上<cr>,至少我必须这样做才能让它起作用。否则,该命令只会被放入命令行中,我仍然需要执行它。 - BergmannF
1
理想情况下,我希望文件在其打开的缓冲区中打开,而不是当前缓冲区。 - drbunsen
@Gjallar 感谢您指出这一点。@dr.bunsen 请查看我有关使用:find的更新。或者您可以使用:badd YOURFILE,但是新文件/缓冲区将在后台打开。 - Zsolt Botykai
我有一堆初始缓冲区映射到这个位置 nmap ,x0 :e e:/work/scratch0.txt<CR>,其中 0-9 对应不同的缓冲区,其中 , 是我的 leader。 - RunHolt

4

我使用大写标记来标记经常打开的文件。您可以使用大写标记作为特定文件的书签。例如:

  • mV — 将当前文件设为书签。
  • 'V — 转到由mV标记的文件。

2
请注意,只有在您的viminfo设置正确配置以记住全局书签时,此功能才能正常工作。如果您意外地重新定义了V,则可能会跳转到其他宇宙...我是说文件。 - Zsolt Botykai

0
尝试这个:

:e $MYVIMRC

启动时,$MYVIMRC 环境变量被定义为您的 .vimrc 路径。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接