声明
- 本文参考自饥人谷若愚老师的视频及酷壳陈皓简明vim练级攻略
- 本文只是用作自己笔记,不作用任何商业途经。
vim基本操作
- vim两种模式,Normal和Insert,
Normal模式下,只能输入命令,无法进行文本操作,
Insert模式下,可以对文本进行操作,
两种模式的切换,用Esc和i键,
即Normal模式下用i(注意小写)来进入Insert模式,Insert模式下,用Esc来切换成Normal模式 - 基本命令(注意,所有命令都是在Normal下使用的)
i,进入Insert模式(i、a、o都可以进入Insert模式,分别作用不同,后面会介绍)
:wq,保存文本并退出
:q!, 强制退出
h,j,k,l,可以控制光标移动,分别h←,l→,j↓,k↑,(方向键也是可以用的)
x,(小写)删除光标当前所在后一个字符,相当于Delete键
dd,删除当前行,并把当前行文本存入剪切板
p,粘贴剪切板
(注意,可以输入ddp进行复制粘贴,但要注意,此命令会删除当前行文本,所以一般用在前后行文本换位,慎用)
vim快捷操作
- vim作为一个编辑器,有其独特的魅力,会让你在艰难的学习之后,爱上并一直使用它
- vim常用命令(注意,所有命令都是在Normal下使用的)
插入命令
a,在光标后插入
o,(小写)在当前行之后添加一个新行
O,(大写) 在当前行之前添加一个新行
cw,删除光标所在位置的单词,也称替换光标所在位置的单词(常用c2w,c3w等)
光标移动
注:blank字符是指空格,tab,换行,回车等
0,(数字0),光标移动到行头,(也可用Home键)
$, 光标移动到行尾,(也可用End键)
^, 光标移动到第一个非blank字符的位置
w,光标移动到下个单词的开头
e,光标移动到下个单词的结尾
g_,光标移动到本行最后一个不是blank字符的位置
+,光标移动到非空格符的下一行
-,光标移动到非空格符的上一行
gg,光标移动到本档案第一行
G,光标移动到本档案最后一行
nG,光标移动到本档案数字代表的那一行(1G等同于gg)
n+Space,n(代表数字)和空格键的组合,光标会向右移动n个字符的距离
n+Enter,n(代表数字)和空格键的自合,光标向下移动n行
H,(大写)光标移动到屏幕所显示行里的第一行(可以理解为当前页面第一行)
M,(大写)光标移动到屏幕所显示行里的中间那一行(即当前页面中间)
L,(大写)光标移动到屏幕所显示行里的最下面那一行(即当前页面最下面)
Ctrl+b,向上翻一页(也可用Page Up键)
Ctrl+f,向下翻一页(也可用Page Down键)
Ctrl+d,向下翻半页
Ctrl+u,向上翻半页
**复制、粘贴、删除常用命令
注:n是数字的意思
yy,复制光标所在那一整行
nyy,复制光标所在下面n行所有数据
y1G,复制光标所在行到档案第一行之间所有的数据
yG,复制光标所在行到档案最后一行之间所有的数据
y0(数字0),复制光标所在位置到本行第一个字符之间的数据
y$,复制光标所在位置到本行最后一个字符之间的数据
p、P,p将数据粘贴在光标所在之后一行,P将数据粘贴在光标之前一行
X,(大写)删除光标所在位置之前一个字符,相当于Backspace键,(x小写是之后一个字符,前面说过)
nx,删除光标之后n个字符
ndd,删除光标下面n行(dd是删除整行,前面介绍过)
d1G,删除光标所在行到文档第一行之间所有数据
dG,删除光标所在行到文档最后一行之间所有数据
d0(数字0),删除光标到本行第一个字符的距离(简单说向左移动到光标所在位置)
d$,删除光标到本行最后一个字符的距离(简单说向右移动到光标所在位置)
进阶指令
J(大写),将光标所在行与下面一行的数据合并成一行
c(小写),重复删除多个数据,例如10cj,向下删除10行,类似于ndd,但不等同于
u,复原前一个动作(撤回)
Ctrl+r,重复前一个动作
.(冒号),重复前一个动作,与Ctrl+r,那个方便用哪个
n+命令,重复某个命令几次,例如3dd,删除三行,3p,粘贴3次
/word(单词或字母),在光标之后搜索word这个字符,若有多个,可以按n来进行寻找下一个,若是大写N则进行反向搜寻
?word(单词或字母),在光标之前搜索word这个字符,若有多个,可以按n来进行往上搜索,若是大写N则进行反向搜寻
f+字符,光标移动到下个此字符的位置
t+字符,光标移动到下个此字符之前的第一个位置上
写在最后
- 数字很好用,多尝试数字加命令,会很方便
- 这里的命令之能说给新手有些帮助,过于深层的还请多查多练
- :help usr_02.txt是在线帮助文档,可以多看,很强大