如何用vim在不同的行打开多个文件?
我知道,一个文件可以在不同的线路用打开:如何用vim在不同的行打开多个文件?
vim foo.c +123
vim +123 foo.C# same result
多个文件可以使用开:
vim foo.c bar.c
但我怎么能结合这两个动作? vim +123 foo.c +456 bar.c
不起作用,bar.c
在一条线,而不是456
我看到Vim : Open multiples files on different lines被打开,但是这将打开不同的标签,而我习惯:prev
和:n
用于导航。
我不知道是否有更简单的方法,但是这里有一个解决方法非常简单,不会影响您的工作流程,因为您不是选项卡用户。
-
首先,设置自动命令你
.vimrc
发出tabo[nly]
(其中关闭所有其他选项卡)输入VIM之后。autocmd VimEnter * tabo
-
接下来,使用该解决方案在你的链接的问题在多个选项卡中打开文件与
vim +123 foo.c +"tabnew +456 bar.c"
所以会发生什么是在幕后,VIM打开文件选项卡,但立即关闭除了最后一切以外的一切。所有打开的文件应该在打开的缓冲区中可用。
即使通常没有多个文件打开vim(你会看到一个无害的消息 - “已经只有一个标签页” - 在下一个关键笔画上消失),这工作正常。此外,由于此命令仅在VimEnter
上发出,因此它不会阻止您稍后在会话中使用选项卡(如果希望的话)。
随着file:line - Allows you to open file:line and it does the right thing插件,你可以使用
$ vim foo.c:123 bar.c:456
它不-o
拆分工作,但它确实为预先设定的行号在参数列表的文件的使用情况。
我目前使用[vim-fetch](https://github.com/kopischke/vim-fetch),它比链接的file_line插件维护得更多。你现在在用什么? – Lekensteyn 2015-10-04 20:12:11
@Lekensteyn我还在file:line;该插件非常简单(并且Vim非常稳定),因此不需要进行维护。 – 2015-10-10 18:57:17
除了文件:line插件,正如Ingo的建议,我只是在https://gist.github.com/xim/6123691上做了一个bash函数 - 作为对Vim : Open multiples files on different lines的回答。
file:行显示不处理空格和其他特殊字符的文件名,并且在使用vim -p
时没有在标签页中打开我的文件 - 虽然Lekensteyn可能是更好的选择,因为它没有强迫你选择文件。
嗯,看看[这Q/A](http://stackoverflow.com/q/53664/427545),选项卡似乎更快。无论如何,有没有更快的方式来打开文件在给定的行? – Lekensteyn 2013-03-12 15:00:18
通过查看您发布的链接,它不会打开选项卡中的文件,但会将第二个文件加载到新的拆分窗口中。如果你只需要一个新的缓冲区,你可以试试'vim +6 file1 +“e +3 file2”'。 – 2013-03-12 15:06:46
不,'view +10 action-chain.c +'e +5 empathy-camera-monitor.c''不起作用。并不会''只是覆盖当前的缓冲区? – Lekensteyn 2013-03-12 15:09:20