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的意思
撤回
删除
-
d
:删除,delete的意思,可以配合光标移动操作发挥作用
-
dd
,删除当前行
-
d + [数字] + h/j
,向下或上删除几行(包含本行)
查找
-
/ + 关键字 + 回车
:向下查找到一个出现的关键字的位置
-
? + 关键字 + 回车
:向上查找到一个出现的关键字的位置
-
n
:按照/或者?指定的查找方向
,正向查找下一个关键字的位置
-
N
:按照/或者?指定的查找方向
,反向查找下一个关键字的位置
在任何非普通模式下,点按Esc
返回普通模式
输入模式
用于修改文本内容
普通模式下:
改变
插入
-
i
:在当前位置进行输入,大多数情况下使用i进入输入模式
提行输入
命令模式
用于保存,退出
普通模式下,使用输入:
进入
退出
-
q
:退出,一般用于文本正确修改后退出
-
q!
:强制退出,一般用于心虚,生怕改错了地方时退出
保存
-
w
:保存
-
w + q + [!]
:保存并退出(这里加不加叹号无异)
可视模式
普通模式下,使用输入v
进入,一般用于选择性复制
切记
遇到改错的时候不要心急使用ctrl + c
,静下心来回到普通模式,撤回和强退是你的定心丸