vim
之类的操作来打开多个文件,但是如何在文件之间切换并一次关闭一个文件呢?另外,如何知道我正在编辑的当前文件的文件名?#1 楼
首先,在vim中,您可以输入:(冒号),然后帮助help
,ala :help
以获得自助主题的列表,包括简短的教程。在主题列表中,将光标移到感兴趣的主题上,然后按ctrl],将打开该主题。一个很好的起点是主题
|usr_07.txt| Editing more than one file
好吧,继续您的答案。
:next
是写电流更改的缩写,然后移到下一个文件。还有一个类似的
:n
,:wnext
和:previous
。 (请注意,:wprevious
是:Next
的简写。:p
的简写是:print
或:previous
。) )。 示例:
vim foo.txt bar.txt
:args
[foo.txt] bar.txt
评论
:wn是:next的缩写。
– oh
2011-12-26 at 4:34
您也可以执行:rew返回第一个文件。 :e#在2个文件之间交换。 :n!无需写入即可转到下一个文件。另请参阅:set自动写入。
– Sasquiha
2012年1月27日在21:41
关于多个缓冲区/窗口/选项卡,另请参见StackOverflow的《如何有效地在Vim中处理多个文件》?以及使用Vim的选项卡(例如缓冲区)。
–mmoya
13年2月2日在17:31
我发现第22章“查找要编辑的文件”也非常有用。它使用目录浏览器来编辑所需的文件。
–哈里·莫雷诺(Harry Moreno)
'18 Feb 1'在23:30
:wn真棒。
– rammayur
18年6月9日在0:49
#2 楼
您可以在用:tabe filename
打开vim时打开另一个文件,并相应地切换到另一个文件,键入:tabn
或:tabp
作为下一个和上一个。当您不在编辑模式下(即不在插入,替换等模式下)时。在某些系统上,Ctrl + Alt + Page Up和Ctrl + Alt + Page Down也允许选项卡切换,但这并不总是有效(例如,在OS X终端“开箱即用”中不起作用)。 您可以在vim应用程序的顶部看到文件名。
评论
这个。也可以使用以下选项卡在选项卡中打开文件:vim -p file1 file2
–不是现在
2011年12月25日,1:15
惊奇!尽管使用vim已经很多年了,但我从来没有遇到过。这改变了一切。
–me_and
13年8月21日在13:13
请注意,选项卡不适用于多个文件。它们旨在用于多种布局。见文章。
–patryk.beza
15-10-14在9:26
另外:如果您已经在vim中并且想要添加另一个文件,则可以使用::argadd文件名,然后使用:next。同样,您可以使用:argdel filename删除正在编辑的文件之一。
– luv2code
17年1月19日在19:05
#3 楼
在缓冲区之间切换的命令::bf # Go to first file.
:bl # Go to last file
:bn # Go to next file.
:bp # Go to previous file.
:bw # Close file.
:help buffer
以查找更多信息要了解文件名,请使用Ctrl + G,
:file
或:f
评论
:bw关闭文件哈哈。不要忘记阅读:bw的帮助,它说只有在知道自己在做什么的情况下才应使用它。没什么大不了的,但是除非您想抹掉文件的所有标记和信息,否则最好像普通人一样使用:bd或:q
–迪伦
18年8月17日在16:45
如果您好奇的话,更多有关:bw的信息:vi.stackexchange.com/questions/2212/…
– Wisbucky
18-10-5在23:06
#4 楼
除了给出的答案之外,另一个选择是使用以下方法分割窗口::sp
:vsp
:vsp
用于垂直分割。然后使用Ctrl+W <ARROW_KEYS>
在窗格中移动。评论
您可以使用:vs而不是:vsp
–卡贾·敏哈朱丁(Khaja Minhajuddin)
2012年6月3日上午8:09
甚至只按Ctrl + W,v表示垂直分割,按Ctrl + W,s表示水平分割。
–俄罗斯
2015年1月5日在18:20
我已经使用CTRL + W多年了,最近我在网页中做了很多VI编辑。每一次,我什至都不会思考地键入命令,并且……whammmm……浏览器选项卡消失了!我总是忘记。我真的需要学习一个新的快捷方式。
–each
18年2月9日在16:56
#5 楼
:n -> Move to next file
:N -> Move to previous file
#6 楼
我在超级用户处问了一个类似的问题,“如何在使用VI打开的不同bash窗口和文件之间复制和粘贴?”
我的问题的答案是可以t,但您可以使用VIM的
:split
命令在一个bash窗口中打开两个文件:使用
$ vim file1
打开一个文件,使用:split file2
命令在VIM中打开另一个文件。或,请使用bash中的
$ vim -o file1 file2
。在VIM中使用ctrl-w ctrl-w在文件之间切换-切换活动文件。 3),然后将p内容粘贴(或放置)到file2中。
当任一窗口处于活动状态时,其他一切正常,因此
:q
退出而:q!
强制退出。 ,因此每个屏幕的文件名都将样式设置为反向的“选定”行,并在其中引用文件名。哇!
评论
是否有类似数字2的选项,可让您从bash中打开多个文件并垂直或水平拆分它们,但其中一个窗口是当前终端?我知道我可以使用:terminal命令在Vim中执行类似的操作,但是我希望能够通过bash进行操作。
–尼古拉斯·库萨尔(Nicholas Cousar)
20年5月4日,1:15
#7 楼
argadd a/b c/d e/f
argadd ...
会将所有文件添加到args,还添加到:ls
/ :buffers
,并允许您对其进行编辑。 /> 此外,您还可以仅对带有
:h arglsit
的arg执行某些操作,并且可以通过执行:h argedit
重新开始args。#8 楼
我发现编辑多个文件最方便的方法是使用选项卡。您可以通过命令行在单独的选项卡中打开多个文件,如下所示:vim -p file1.txt file2.txt
或者如果已经打开了vim,则可以在新选项卡中打开新文件像这样:
:tabe file2.txt
一旦打开选项卡,请使用
gt
查看下一个选项卡,并使用gT
查看前一个选项卡。您也可以使用
1gt
跳到第一个选项卡,使用2gt
跳到第二个选项卡,等等。 :tabc
位于n
的位置,其中:ntabm
是大于或等于n
的任意数字。#9 楼
有很多方法可以做到这一点。第一个,可能不太方便,是用要编辑的文件调用vim
-创建:vim first_file second_file ...
它在两个缓冲区中调用两个文件。要将文件切换到另一个文件,请使用
:n
和:N
。要列出您正在编辑的文件,:args
将完成这项工作。 :help buffer
将在此方面为您提供更多帮助。这将回答您的问题。但是这里有更多信息:
有一种方法可以通过使用vim拆分控制台屏幕来以更方便的方式编辑文件。为此,在使用vim时,用
:split
(:sp
)或:vsplit
(:vs
)打开两个框架。然后,使用Ctrl + W> Ctrl + W组合在这些框架中导航。您也可以使用Ctrl + W +下一个框架所对应的箭头或键(H,J,K或L)。完成后,使用:e file_name
编辑所需的文件。现在,如果您想查看文件之间的差异,请使用:help opening-window
参数或对相应的文件调用vimdiff程序(相同)。 -d
将在此方面为您提供更多帮助。vim -d first_file second_file ...
如果您有任何问题,请告诉我。
#10 楼
我喜欢使用水平和垂直拆分窗口来编辑多个文件。我使用tmux可以更轻松地管理这些窗口。
https://tmux.github。 io /
“什么是终端多路复用器?它使您可以轻松地在一个终端中的多个程序之间切换,分离它们(它们在后台运行)并重新连接到另一个终端。还有更多操作。请参见手册。“
示例:在右侧查看文件或运行测试,在左侧查看测试和源文件:
#11 楼
:e #(filename)
在两个打开的文件之间切换:p
用于上一个文件:n
用于下一个文件评论
欢迎使用U&L,这几乎没有增加任何其他答案。
–炼金术士
17年1月3日,12:20
评论
相关:gvim -p打开的标签页有限制吗?