vi命令 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
vim的四种模式
- 正常模式
- 插入模式
- 命令模式
- 可视模式
插入模式
选择在文本的什么位置插入内容
- i 在光标的所在位置
- I 光标所在行的行首
- o 光标所在行的下一行行首
- O 光标所在行的上一行行首
- a 光标的后一位
- A 光标所在行的行尾
正常模式
使用vi
或者vim
命令的开始界面,通过操作光标或者使用快捷键对文本内容操作。
- 光标操作
- h 左移
- j 下移
- k 上移
- l 右移
- <行号>+G(shift+g) 移动光标到指定行
- gg 移动到首行首列
- G 移动到末行首列
- ^ 移动光标到行首
- $ 移动光标到行尾
- 复制
- yy 复制整行
- <数字>yy 从光标所在行向下复制<数字>行
- y$ 复制光标所在位置到行尾
- 剪切
- dd 复制整行
- <数字>dd 从光标所在行向下复制<数字>行
- d$ 复制光标所在位置到行尾
- 粘贴 p
- 撤销 u
- 重做 CTRL+r (可以对撤销进行重做)
- 删除 x
- 重新修改字符 r+<新字符>
命令模式
命令模式又称末行模式,可以对整个文档进行操作。在正常模式使用shift + ;
进入命令模式
-
保存
- :q 退出
- :w <文件路径> 保存文件
- :wq 保存文件并退出
- :! <执行命令> 可以执行shell命令后,返回到vi编辑器
-
搜索文本
-
/<文本内容> 从前到后搜索文本
-
?<文本内容> 从后到前搜索文本
N(上一个搜索结果),n(下一个搜索结果)
-
-
替换命令
- : s/<需要替换的字符>/<替换的新字符> 将光标所在行第一个匹配的字符进行替换
- : s/<需要替换的字符>/<替换的新字符>/g 将光标所在行匹配的所有字符进行替换
- :%s/<需要替换的字符>/<替换的新字符>/g 将所有文本内容匹配的字符进行替换
- :<需要替换文本起始行>,<需要替换文本截至行>s/<需要替换的字符>/<替换的新字符>/g 将起始行-截至行文本内容匹配的字符进行替换
-
set设置
- :set nu 显示行号
- :set nonu 不显示行号
set命令设置只是单次生效,如果需要长久生效需要修改配置文件
/etc/vimrc
可视模式
在正常模式下,进入可视模式后,可以实现对文本字符的批量操作。
进入模式
- v 字符可视模式
- V 行可视模式
- CTRL+v 块可视模式
可视模式可以配合字符d(删除)I(插入)进行便捷操作。