Linux Vim工作模式和多窗口编辑

我们首选的文本编辑器是 Vim,它是一个基于文本界面的编辑工具,使用简单且功能强大,更重要的是,Vim 是所有 Linux 发行版本的默认文本编辑器。

很多 UNIX 和 Linux 的老用户习惯称呼它为 Vi,Vi 是 Vim 的早期版本,现在我们使用的 Vim(Vi improved)是 Vi 的増强版,増加了一些正则表达式的査找、多窗口的编辑等功能,使得 Vim 对于程序开发来说更加方便。

想了解 Vi 和 Vim 的区别,可以在 Vim 命令模式下输入":help Vi_diff",就能够看到两者区别的摘要。值得一提的是,Vim 是慈善软件,即软件使用是免费的。

Vim的工作模式

在使用 Vim 编辑文件前,我们先来了解一下它的三种工作模式:命令模式、输入模式和编辑模式,如图 1 所示。



图 1 Vim 的三种工作模式

命令模式

使用 Vim 编辑文件时,默认处于命令模式。在此模式下,可以使用上、下、左、右键或者 k、j、h、l 命令进行光标移动,还可以对文件内容进行复制、粘贴、替换、删除等操作。

输入模式

在输入模式下可以对文件执行写操作,类似在 Windows 的文档中输入内容。进入输入模式的方法是输入 i、a、o 等插入命令,编写完成后按 Esc 键即可返回命令模式。

编辑模式

如果要保存、查找或者替换一些内容等,就需要进入编辑模式。编辑模式的进入方法为:在命令模式下按":"键,Vim 窗口的左下方会出现一个":"符号,这时就可以输入相关的指令进行操作了。指令执行后会自动返回命令模式。

对于新手来说,经常不知道自己处于什么模式。不论是自己忘了,还是不小心切换了模式,都可以按一次 Esc 键返回命令模式。如果你多按几次 Esc 键后听到"嘀————"的声音,则代表你已经处于命令模式了。

在使用 Vim 进行编辑的过程中,经常会遇到需要同时对连续几行进行操作的情况,这时如果每行都有行号提示,就会非常方便。

在命令模式下输入":set nu"即可显示每一行的行号,如图 1 所示。


图 1 显示行号
如果想要取消行 号,则再次输入":set nonu"即可。

 

Linux Vim多窗口编辑,Vim打开多个窗口方法详解

在编辑文件时,有时需要参考另一个文件,如果在两个文件之间进行切换则比较麻烦。可以使用 Vim 同时打开两个文件,每个文件分别占用一个窗口。

例如,在査看 /etc/passwd 时需要参考 /etc/shadow,有两种办法可以实现:

  1. 先使用 Vim 打开第一个文件,接着输入命 令":sp/etc/shadow"水平切分窗口,然后按回车键;如果想垂直切分窗口则可以输入":vs/etc/shadow";
  2. 可以直接执行命令"vim-o 第一个文件名 第二个文件名",也就是"vim-o /etc/passwd /etc/shadow"。


得到的结果如图 2 所示。



图 2 使用 Vim 打开多个窗口


切换到另一个文件窗口,可以按"Ctrl+WW"快捷键。

如果想将一个文件的内容全部复制到另一个文件中,则可以输入命令":r被复制的文件名",即可将导入文件的全部内容复制到当前光标所在行下面。

转载:http://c.biancheng.net/view/804.html

猜你喜欢

转载自blog.csdn.net/weixin_30363263/article/details/88059157