Answers:
首先,在vim中,您可以输入:(冒号),然后输入help help
,:help
以获取自助主题列表,包括一个简短的教程。在主题列表中,将光标移到感兴趣的主题上,然后按ctrl],该主题将被打开。
一个适合您开始的好地方将是主题
|usr_07.txt| Editing more than one file
好的,继续您的回答。
用文件列表启动vim之后,您可以通过输入:next
或:n
简称进入下一个文件。
:wnext
是写当前更改,然后移至下一个文件的缩写。
还有一个类似的:previous
,:wprevious
和:Next
。(请注意,它:p
是的简写:print
。:previous
是:prev
或的简写:N
。)
要查看您在文件列表中的位置,请输入:args
,当前正在编辑的文件将出现在[]
(括号)中。
例:
vim foo.txt bar.txt
:args
结果:
[foo.txt] bar.txt
您可以在打开vim时打开另一个文件,:tabe filename
并切换到您键入的其他文件:tabn
或相应:tabp
的下一个和上一个文件。
当您不在编辑模式下(即不在插入,替换等模式下)时,也可以使用键盘快捷键gT和gt来切换选项卡。在某些系统Ctrl+ Alt+ Page Up和Ctrl+ Alt+ Page Down还允许标签切换,但这并不总是有效(例如,它不会在OS X终端工作“开箱即用”)。
您可以在vim应用程序的顶部看到文件名。
vim -p file1 file2
:argadd filename
,然后添加:next
到它。同样,您可以:argdel filename
用来删除正在编辑的文件之一。
在缓冲区之间切换的命令:
: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
像普通人一样使用
:bw
,以防您好奇:vi.stackexchange.com/questions/2212/…–
除了给出的答案之外,另一个选择是用以下方法拆分窗口:
:sp
:vsp
:vsp
用于垂直分割。然后使用Ctrl+W <ARROW_KEYS>
来移动窗格。
:vs
代替:vsp
Ctrl+W, v
垂直分割和Ctrl+W, s
水平分割。
CTRL+W
了多年,最近我在网页中进行了大量的VI编辑。每一次,我什至都没有想过就输入命令,并且... whammmm ...浏览器选项卡消失了!我总是忘记。我真的需要学习一个新的快捷方式。
我在超级用户那里问了类似的问题,
“如何在使用VI打开的不同bash窗口和文件之间复制和粘贴?”
我的问题的答案是不能,但是可以使用VIM的:split
命令在一个bash窗口中打开两个文件:
$ vim file1
,使用:split file2
命令在VIM中打开第二个文件。$ vim -o file1 file2
从bash 使用。:q
退出并:q!
强制退出。我的bash是黑白的,因此每个屏幕的文件名都被设置为反向的“ selected”行,并在其中引用了文件名。
!
有很多方法可以做到这一点。第一个(可能不太方便)是调用vim
要编辑的文件-创建:
vim first_file second_file ...
它在两个缓冲区中调用两个文件。要将文件切换到另一个文件,请使用:n
和:N
。要列出您正在编辑的文件,:args
将完成此工作。:help buffer
将在此方面为您提供更多帮助。
这应该可以回答您的问题。但是这里有更多信息:
通过使用vim拆分控制台屏幕,有一种以更方便的方式编辑文件的方法。为此,在使用vim时用:split
(:sp
)或:vsplit
(:vs
)打开两个框架。然后使用组合+ > + 在这些框架中导航。也可以使用+ +箭头或键(,,或对应于下一个帧)。完成后,使用编辑文件。将在此方面为您提供更多帮助。CtrlWCtrlWCtrlWHJKL:e file_name
:help opening-window
现在,如果您想查看文件之间的差异,请使用-d
参数或对相应文件调用vimdiff程序(相同)。:help diff
将在此方面为您提供更多帮助。
vim -d first_file second_file ...
如果您有任何问题,请告诉我。
我喜欢使用水平和垂直拆分窗口来编辑多个文件。
我使用tmux更轻松地管理这些窗口
https://tmux.github.io/ “什么是终端多路复用器?它使您可以轻松地在一个终端中的多个程序之间切换,分离它们(它们在后台继续运行),然后将它们重新连接到另一个终端。还有更多。请参阅手册。”