vim命令使用教程
vi 是 Unix 和 Linux 系统下标准的编辑器。
vim 是 vi 的升级版本,兼容 vi 所有指令,支持语法高亮和多级撤销等新特性
模式
vi/vim 分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。\
输入模式
在命令模式下按下 i/a/o 就进入了输入模式。
ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
常用命令
移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
w 移动到下一个单词的词首
e 移动到当前或下一个单词的词尾
b 移动到当前或前一个单词的词首
多次移动:10h、10←、3j、2k、5l
[Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键
[Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键
[Ctrl] + [d] 屏幕『向下』移动半页
[Ctrl] + [u] 屏幕『向上』移动半页
shift + ^ 移动到行首
shift + $ 移动到行尾
:0 / gg 移动到首行
:$ / G 移动到尾行
:10 移动到第 10 行
行号
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!
删除
dd 删除游标所在的那一整行
ndd 删除 n 行,例如 2dd
dw 删除一个单词
ndw 删除 n 个单词,例如 2dw
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
d$ 删除游标所在处,到该行的最后一个字符
ggdG Gd1G清空整个文档
复制
yy 复制光标所在的那一行
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
粘贴
p
撤销与重做
u 撤销前一个动作
[Ctrl]+r 重做上一个动作
取代
r, R 进入取代模式(Replace mode):
r 只会取代光标所在的那一个字符一次;
R会一直取代光标所在的文字,直到按下 ESC 为止
重复上一个动作
. 重复前一个动作。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了!
查找与替换
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2
:1,$s/word1/word2/g 或 :%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代
命令行快捷键
- Ctrl+a: 跳到本行的行首
- Ctrl+e: 跳到页尾
- Ctrl+u:删除当前光标前面的文字
- Ctrl+k:删除当前光标后面的文字
- Ctr+d: 往前删除一字符
- Ctr+h: 往后删除一字符
- Ctrl+y 撤销
- Ctrl+l 清屏
本文地址:https://www.tides.cn/p_linux-vim