1、编辑模式:

编辑模式和命令模式

(1)、按字母“i”可以进入编辑模式,光标位置不会变化,左下角会出现“插入”两个字,按“Esc”退出。
编辑模式和命令模式

(2)、按大写的字母“I”,进入编辑模式。光标会定位到行首位置,按“Esc”退出。
编辑模式和命令模式

(3)、按小写字母“o”,进入编辑模式,在光标所在行中往下另起一行,按“Esc”退出。
编辑模式和命令模式

(4)、按大写字母“O”,进入编辑模式,在光标所在行中往上另起一行,按“Esc”退出。
编辑模式和命令模式

(5)、按字母“a”,进入编辑模式,在光标所在位置往后挪一个字符,按“Esc”退出。

(6)、按大写字母“A”,进入编辑模式,光标定位在光标所在行的行末,按“Esc”退出。
编辑模式和命令模式

2、命令模式:

编辑模式和命令模式

搜索匹配
/word 向光标后搜索字符串word,按小写的“n”向后继续搜索。
编辑模式和命令模式
搜索到最后一个字符串之后,会出现下图提示,继续按“n”就会从开头接着查找。
编辑模式和命令模式
按大写的“N”是向上查找,同样也会出现提醒,继续按“N”就从结尾继续查找。
编辑模式和命令模式

?word 向前搜索,按小写字母“n”就向上搜索,按大写字母“N”就向下搜索,与 /word 相反。

:g/targetWord 全局搜索

:n1,n2s/oldWord/newWord/g 指定替换
:1,$s/oldWord/newWord/g 全部替换
见下图例子,
编辑模式和命令模式
回车,见下图,
编辑模式和命令模式
可以看右下角,光标所在行为100行,所以光标下面的单词 dnsmasq 就没有被替换,使用命令 /lyslinux 可以查找,见下图,
编辑模式和命令模式
上面这个命令中,不加g,就只替换每行的第一个字符串,见下图例子,
编辑模式和命令模式
这边输入:之后,按向上的方向键,也是可以查找之前的命令。回车,见下图,
编辑模式和命令模式
返回到第一行,见下图,
编辑模式和命令模式
以上就是加不加 g 的区别,通常都是会加上 g 的。
全部替换的情况,见下图,
编辑模式和命令模式
回车,见下图,
编辑模式和命令模式
试着搜索一下 /dnsmasq ,见下图,
编辑模式和命令模式
可以看到,找不到 dnsmasq 这个字符串了。

接着做实验,见下图,
编辑模式和命令模式
将 /etc/hosts 替换成 lyslinux.com ,回车,见下图,
编辑模式和命令模式
发现这个命令系统无法识别,具体怎么操作呢?见下图,
编辑模式和命令模式
命令中加入两个 \ ,表示\后面的/不是命令间隔,只是普通字符。回车,见下图,
编辑模式和命令模式
结果就可以替换成功了。但是上面这个命令运用起来有点麻烦,有没有比较简单的方法呢?见下图,
编辑模式和命令模式
用“#”替代命令中的“/”就不影响 /etc/hosts 中的 / 了。回车,见下图,

编辑模式和命令模式

可以看到替换成功了。将上面命令中的“#”换成“@”,也是可以的,见下图,

编辑模式和命令模式

回车,见下图,

编辑模式和命令模式

使用上面的命令也成功了。

n 搜索下一个同样的内容
N 搜索上一个同样的内容

命令行模式下的一些技巧
DTc 删除从光标的c之间的所有字符
Rc 将光标的字符替换为c
nDD 删除n行数据
nYY 复制n行数据
nX 删除n个字符
R 进入替换状态,esc退出

接着看一下以 : 开头的命令,
a. :wq 保存并退出
b. :wq! 强制保存并退出
c. :q 退出,不保存
d. :q! 强制退出,不保存
e. :w! 强制保存,在root用户下,即使文本只读也可以完成保存
f. :set nu 显示行号
e. :set nonu 不显示行号
g. :nohl 去掉查找时显示的黄底字符串,hl 为 high light 高亮的意思
h. :x 更改文件内容后保存并退出,效果与 :wq 一致;仅查看文件而没有更改的话,:wq 是可以更改 mtime 的时间,而 :x 则不会更改 mtime 的时间。