vim 编辑器的使用
1 vim 编辑器的两种工作模式
Vi是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix/Linux机器都会提供这套软件,Vi 的原意是 “Visual”,它可以立刻看到操作结果 。
Vim是一个类似于Vi的文本编辑器, 是Vi IMproved的简称。在Vi的基础上增加了很多新的特性,Vim最大的优势在于, 它最常用的命令都是简单的字符, 这比起使用复杂的控制组合键要快得多, 而且也解放了手指的大量工作。
1.1 命令模式
键入vim命令进入编辑器时,就处于命令模式。此时,从键盘上键入的任何字符都被当作编辑命令来解释。命令模式可以通过命令完成光标定位、字符串检索、文本恢复、修改、替换、标记、行结合及文本位移等功能。
1.2 插入模式
插入模式也叫做输入模式,在该模式下,从键盘上键入的所有字都被插入到正在编辑的缓冲区中,被当作该文件的正文在屏幕上显示出来。插入模式下如同Windows下的“记事本”,可以完成文本的输入、修改和光标的移动等功能。
1.3 命令模式到输入模式的转换命令
如果想建一个文件,或者想对已存文件添加或者要做较多修改,那么就要在插入模式输入新的文本。文本插入命令就是从命令模式转换到插入模式。
1.3.1 插入模式
① 按 i 键,在光标之前插入,使随后输入的文本插在光标位置之前,光标后的文本相应向右移动。
② 按 I 键,在光标所在行首插入新增文本,行首是该行的第一个非空白字符。
1.3.2 附加命令
① 按 a 键,在光标之后插入,光标可在一行的任何位置。当输入a命令时,光标就会在所停留字符后进入输入模式状态。
② 按 A 键,在光标所在行的行尾添加文本。当输入A命令后,光标自动移动到该行的行尾。
1.3.3 打开新行命令
① 按小写 o 键,在光标所在行的下面插入一行。
② 按大写 O 键,在光标所在行的行上面插入一行。
2 命令模式下的操作
2.1 删除与修改
2.2 光标移动
2.3 查找与替换
/[str]
:查找字符串str。[str]表示要查找的字符串,回车后会加亮显示所有查找到的字符串,接着命令 n 移动到下一个找到的字符串,命令 N 移动到上一个找到的字符串。
2.3.1 部分替换
部分替换,只能替换光标所在的行。
:s/[src]/[dst]
,/i 忽略大小写, /g 全部匹配
:3,6s/[src]/[dst]/ig
,在3~6行中查找。
2.3.2 全部替换
:%s/[src]/[dist]/g
:将文档中所有src的字符串替换为dst字符串。
:%s/^ //g
:将文档每一行行首的空格去掉。
2.4 块操作
v,可视化选择状态。选中块之后,可以对块进行删除(d),复制(y),剪贴(x)。
Ctrl+v,竖向选择模式,主要用于批量注释代码,输入步骤如下:
① 首先按 Ctrl+v,竖选选中要注释的行。
② 输入大写 I ,然后输入//。
③ 在输入 ESC,选中的行就被注释了。
2.5 存盘及退出
:w
:把编辑缓冲区的内容写到编辑的文件中。
:q
:退出,如果没有任何修改可以退出。
:wq
:存盘后退出。
:q!
:强行无条件退出,丢弃缓冲区内容。
2.6 vim 外使用到的命令
sed,管道查找程序。
cat a.txt | sed 's/aa/bb/'>b.txt
:将 a.txt 中的 aa 替换成 bb 并重定向输出到 b.txt 中。
vimdiff命令