vim学习
在Linux下工作和学习,离不开vi和vim的使用,巧妙记住各种模式下的各种指令,不仅可以在工作中大大提高效率,还能装一个满分的哔
我比较菜,只会下面最常用的4种模式中的部分组合技能 (-。- 不过好像在我的开发工作中已经完全足够了。。。
模式:
- 普通模式
- 编辑模式
- 命令模式
- 可视模式
普通模式
光标移动
h
,j
,k
,l
:←
,↓
,↑
,→
- 数字 + 方向实现连续动作:
3j
:向下跳3行,8l
:向右跳8列
- 数字 + 方向实现连续动作:
b
begin的意思,跳到这个单词的前面w
world的意思,跳到这个单词的后面f + 字符
: 向后移动到字符第一次出现的列位置gg
: 跳到文本开头GG
: 跳到文本结尾ctrl + u
: 向上翻页ctrl + d
: 向下翻页
赋值粘贴
y
:复制,yank的意思,可以配合光标移动操作发挥作用yy
:赋值当前行y + b
:从单词头部复制到次光标处y + w
:从单词尾部复制到次光标处y + aw
:复制整个单词:yank all word的意思y + f + 字符
:向后复制到字符出现的列位置y + [数字] + h/l
:向左或右复制几列y + [数字] + j/k
:向下或上复制几行(包含本行)y + gg
:向上复制文本开头y + GG
:向下复制到文本结尾
p
:粘贴,paste的意思
撤回
u
:撤销,undo的意思
删除
d
:删除,delete的意思,可以配合光标移动操作发挥作用dd
,删除当前行d + [数字] + h/j
,向下或上删除几行(包含本行)
查找
-
/ + 关键字 + 回车
:向下查找到一个出现的关键字的位置 -
? + 关键字 + 回车
:向上查找到一个出现的关键字的位置 -
n
:按照/或者?指定的查找方向
,正向查找下一个关键字的位置 -
N
:按照/或者?指定的查找方向
,反向查找下一个关键字的位置
在任何非普通模式下,点按Esc
返回普通模式
输入模式
用于修改文本内容
普通模式下:
改变
c
:改变c + aw
:改变整个单词
插入
i
:在当前位置进行输入,大多数情况下使用i进入输入模式
提行输入
o
:在下一行进行输入
命令模式
用于保存,退出
普通模式下,使用输入:
进入
退出
q
:退出,一般用于文本正确修改后退出q!
:强制退出,一般用于心虚,生怕改错了地方时退出
保存
w
:保存w + q + [!]
:保存并退出(这里加不加叹号无异)
可视模式
普通模式下,使用输入v
进入,一般用于选择性复制
切记
遇到改错的时候不要心急使用ctrl + c
,静下心来回到普通模式,撤回和强退是你的定心丸