Linux/Unix vi/vim:打开并在多个文件之间切换

时间:2020-01-09 10:40:45  来源:igfitidea点击:

我正在使用vi/vim文本编辑器来编辑/etc /目录中的文件。
我使用打开文件

vi /etc/resolv.conf/etc/hosts

我只能编辑/etc/resolv.conf文件。
在Linux/BSD/Apple OS X/Unix等操作系统下使用vim文本编辑器时,如何在两个打开的文件之间切换?

有多种命令和方式可以在像操作系统那样在Unix上运行的vi/vim文本编辑器下处理多个打开的文件。

语法

要使用名为vi/vim的文本编辑器一次打开多个文件,请使用以下语法:

$ vi file1 file2 fileN

或者

$ vi *.py

例子

打开演示文件,执行:

$ vi /tmp/foo /tmp/bar

或者

$ vi /tmp/{foo,bar}

列出打开的文件:

:ls

输出示例:

1 %a   "/tmp/foo"                     line 1
  2      "/tmp/bar"                     line 0

要切换到下一个文件:

:n

或者

:bn

要切换到上一个文件:

:p

或者

:bp

要打开名为10的特定文件缓冲区(使用:ls命令列出所有打开的文件缓冲区):

:b10

您还可以使用以下语法在所有打开的文件之间切换:

:b foo

或者

:b bar

现代文本编辑器(例如vim)支持增强的制表符完成功能,以获取打开文件的列表:

:b [HIT-TAB-KEY]

要保存当前打开的文件:

:w

视觉编辑器

要垂直拆分当前窗口:

CTRL+W v

要水平拆分当前窗口:

CTRL-W s

要在垂直打开的窗口之间切换,即浏览打开的窗口,请执行以下操作:

CTRL-W h

和/或

CTRL-W l

要在水平打开的窗口之间切换,即浏览打开的窗口,请执行以下操作:

CTRL-W k

和/或

CTRL-W j

切换后,您可以使用上述任何一种语法加载文件:

:n
:b10
:p