1,vi 和 vim 常见的三种模式

1,正常模式
正常模式,可以使用快捷键,可以使用上下左右移动光标,删除字符,删除整行,复制,粘贴等
2,插入模式/编辑模式
按下i, I, o, O, a, A, r, R任何一个字母会进入插入模式,
3,命令行模式
完成读取,存盘,替换,离开,显示行号等

2,三种模式转化图

image.png
image.png

3,常用快捷键

1,yy 拷贝当前行 5yy 拷贝当前向下的5行并粘贴
2,dd 删除当前行 5dd 删除当前行向下的5行
3,/关键字 回车查找, n向下查找下一个
4,set nu/nonu 设置/取消行号
5,u 撤销,正常模式下
6,g /G 光标移动尾行/首行

4,快捷键

1.vi/vim文本编辑器

[1] 没有菜单,只有命令
[2] 模式: a.插入模式 (i || o || a) b.编辑模式 (Esc键 + :+ 命令) c.命令模式 (ESC键)
[3] a. 进入 - vi filename b.退出 - :wq
[4] 编辑模式 - 冒号(:) + 命令

2.插入命令

[1] a - 在光标后附加文本
[2] A - 在本行行末附加文本
[3] i - 在光标前插入文本
[4] I - 在本行开始插入文本
[5] o - 在光标下插入新行
[6] O - 在光标上插入新行

3.定位命令

[1] h - 方向左键
[2] j - 方向下键
[3] k - 方向上键
[4] l - 方向右键
[5] $ - 移至行尾
[6] 0 - 移至行首
[7] H - 移至屏幕上端
[8] M - 移至屏幕中端
[9] L - 移至屏幕下端
[10] :set nu - 设置行号
[11] :set nonu - 取消行号
[12] gg - 到第一行
[13] G - 到最后一行
[14] nG - 到第n行
[15] :n - 到第n行

4.定位命令

[1] x - 删除光标所在处字符
[2] nx - 删除光标所在处后n个字符
[3] dd - 删除光标所在行,ndd删除行
[4] dG - 删除光标所在行在到末尾的内容
[5] D - 删除从光标所在处到行尾
[6] :nl,n2d 删除指定范围的行

5.复制和粘贴命令

[1] yy/Y - 复制当前行
[2] nyy/nY - 复制当前行以下n行
[3] dd - 剪切当前行
[4] ndd - 剪切当前行以下n行
[5] p/P - 粘贴在当前光标所在行下或行上

6.替换和取消命令

[1] r - 取代光标所在处字符 replace one
[2] R - 从光标所在处开始替换字符,按Esc结束 Replace All
[3] u - 取消上一步操作 undo

7.搜索和替换命令

[1] /string - 向前搜索指定字符串,搜索是忽略大小写 :set ic
[2] n - 搜索指定字符串的下一个出现位置
[3] :set ic (ignore case) - 忽略大小
[4] :%s/old/new/g - 搜索指定字符串的下一个出现位置 g - global
[5] :n1,n2s/old/new/g - 在一定范围内替换指定字符串 c - confirm

8.保存退出

[1] :wq - 保存并退出
[2] shift + zz - 保存退出
[3] :!q - 退出不保存
[4] :q - 退出
[5] :wq! - 强行保存退出 (设为只读时,只有root和文件所有者才可以执行此操作)

9.应用实例技巧

[1] r filename 导入其他文件内容
[2] :! command 执行命令
[3] r !date - 导入命令执行结果
[4] 快捷键 - map 快捷键 触发命令
a. ctrl+p注释:map ^p(ctrl+v+p:ctrl键) I#
b. map ^p 0x c.map ^p iwww.baidu.com ^p:表示ctrl键
[5] 连续行注释 - a. :n1,n2s/^/#/g b. :n1,n2s/#//g c. :n1,n2/^#//g (把行首#号去掉,避免中间被去掉)
[6] 转义符替换 :5,12s/\/\/#/g
[7] 替换: ab sammail samlee@lampbrother.net
[8] 取消替换: unab sammail
[9] unmap 快捷键
[10] ~ 宿主目录
[11] ~/.vimrc 默认vim的配置文件 设置默认配置文件,把配置命令写入即可