Linux环境中vim的使用
1、vi 简介
vi即Visual interface(视觉 界面)
- Vi有三种基本工作模式:
- 命令模式
- 输入模式
- 末行模式
2、命令模式
2.1、先说命令模式,使用vim打开一个文件,默认就是命令模式。这个模式下常用的命令如下
- gg: 光标移动文件开头
- yy :复制当前光标所在行
- dd :删除当前光标所在行
- u : 撤销上一步操作
- G: 光标移动到文件末尾 (或者Ctr + C)
- 键盘输入数字 + 大写的G, 跳到指定的数字行
- Ctr+ f: 向下翻一屏
- Ctr+ b: 向上翻一屏
- { :按段移动,上移
- } :按段移动,下移
- 如果是大的键盘, home 键就是跳到行首,end到行尾, 上下左右案件就是上下左右移动。
2.2 删除更加细分的命令
x: 删除光标后一个字符,相当于 Del
X: 删除光标前一个字符,相当于 Backspace
dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符
d0: 删除光标前本行所有内容,不包含光标所在字符
dw: 删除光标开始位置的字,包含光标所在字符
2.3 撤销命令
-
u: 一步一步撤销
-
Ctr-r: 反撤
2.4 复制粘贴
-
yy: 复制当前行,n yy 复制 n 行
-
p: 在光标所在位置向下新开辟一行,粘贴
2.5查找命令
-
/: 通过 按 / 进入查找,输入查找的内容,自动就开始匹配,找到匹配的内容,按enter键,光标跳到这个字符的开头。
怎么接着找?
-
n: 查找到需要的字符后,按n找下一个 这个字符
-
N:查找到需要的字符后,按N找下一个 这个字符
3、命令模式进入插入模式
进入插入模式有下面几种方式,区别是进入插入模式后,左下角会有insert 的字样光标的位置不同。按ESC可以从插入模式进入命令模式
- i:在当前字符前插入文本。光标会停留在当前字符之前,你可以开始输入文本。
- I:在当前行的开头插入文本。光标会移动到当前行的起始位置,你可以开始输入文本。
- a:在当前字符后插入文本。光标会停留在当前字符之后,你可以开始输入文本。
- A:在当前行的末尾插入文本。光标会移动到当前行的末尾,你可以开始输入文本。
- o:在当前行的下方新开一行并进入插入模式。光标会停留在新行的开头,你可以开始输入文本。
- O:在当前行的上方新开一行并进入插入模式。光标会停留在新行的开头,你可以开始输入文本。
在插入模式下,就和我们正常的编辑文本的操作类似了,输入字符或者删除字符。
4、末行模式
vim 进入模式后,按:进入末行模式
如上图,按:后,最左下角就有了:,这个时候就是末行模式, 这个时候在冒号后可以输入一些命令。
如果对 Vim 的设置或命令有疑问,可以通过 :help 命令查看 Vim 的帮助文档
4.1 保存文件内容相关
- :w:保存当前文件。
- :wq 或 :x:保存当前文件并退出 Vim。
- :q:如果文件没有被修改,则退出 Vim;如果文件被修改过,则不会退出。
- :q!:不保存任何更改并强制退出 Vim
4.2 行号相关
- :set nu 或 :set number:显示行号。
- :set nonu 或 :set nonumber:隐藏行号。
- :set ic 或 :set ignorecase:在搜索时忽略大小写。(只在本次有效,退出后重新打开设置就恢复默认了)
- :set noic 或 :set noignorecase:在搜索时考虑大小写。
4.3 文件替换
- : %s/old/new/g:在整个文件中替换 “old” 为 “new”。
- : s/old/new/:在当前行替换 “old” 为 “new”。
- : %s/old/new/gc:在整个文件中替换 “old” 为 “new”,但在每次替换前都询问用户。
4.4 跳转到指定位置
- :行号:跳转到指定行号。例如,:10 将跳转到第 10 行。
- :1,$:范围选择,表示从第 1 行到文件末尾
4.5 清空全文件
- :%d 清空全文件内容