vim

普通模式(命令模式)

跳转光标

G:将光标跳转到最后⼀⾏(Shift + g)
gg:将光标跳转到第⼀⾏
Ngg:将光标跳转到指定⾏(N代表正整数):5
$:将光标跳转到当前所在⾏的⾏末
^:将光标跳转到当前所在⾏的⾏⾸(或者按 0)
0:(shift+0)将光标跳转到最后一行最后一位

翻⻚

Ctrl + f :向下翻⻚
Ctrl + b :向上翻⻚

复制粘贴

yy:复制当前光标所在⾏的内容
p:将复制的内容粘贴到当前光标所在⾏的下⼀⾏(剪切或者复制的是⾏)
P:将复制的内容粘贴到当前光标所在⾏的上⼀⾏(剪切或者复制的是⾏)
Nyy(yNy):复制当前行和以下n-1行

当复制或者剪切的是字符的时候

p:往当前光标所在字符的右边粘贴
P:往当前光标所在字符的左边粘贴
Nyy 或者 yNy:复制多⾏内容(N代表正整数)

删除剪切

dd:剪切(当前行)
p:粘贴
Ndd 或 dNd:剪切多⾏内容(N代表正整数)
dG:剪切当前光标所在⾏到⽂件末尾所有内容
dgg: 剪切当前光标所在⾏到⽂件开头所有内容
x:剪切当前光标所在的字符(小p粘右,大p粘zuo)
X:剪切当前光标所在字符的前⼀个字符
C :剪切当前光标所在⾏到 行末尾所有内容,同时进入插入模式
cc:剪切当前光标所在⾏(整行),同时进入插入模式
D:(shift + d)删除当前光标,所在字符,之后的内容(⾏)(小p粘右,大p粘左)
VIM中删除空白行,有很多种方法,记录一下直接删除的方法:
:g/^$/d
:g/[1]$/d
:g/^s
$/d

:1,$d 删除所有行(无论光标在哪)

撤销替换

u:撤销上⼀步操作(退出vim之后没用了)
Ctrl + r:恢复刚才的撤销操作(u一次,就只能用一次)
r:替换当前光标所在的字符(只能⼀个字符替换⼀个字符,不能替换多个)
R:替换当前光标所在字符和之后的所有内容,直到按ESC取消(回车加入空行)

可视 ⾏(只能在普通模式 命令模式进⼊)(d删除)

Shift + v

可视 块

Ctrl + v

将⼀个⽂件的5-15⾏,前⾯加注释

1.⾸先将光标跳转到第五⾏
1)5gg
2)上下左右
3):5
2.Ctrl + v 进⼊可视块模式
3.15gg,将光标选中5-15⾏
4.Shift + i 进⼊编辑模式
5.输⼊ # 号
6.输⼊ ESC

o:往当前光标所在⾏的下⼀⾏(空行)插⼊内容(进入编辑模式或输入模式)
O(shift + o):往当前光标所在⾏的上⼀⾏插⼊内容
s:删除当前光标所在的字符,并且进⼊编辑模式
S(shift + s):删除当前光标所在内容,并且进⼊编辑模式
a:在当前光标所在字符之后,进⼊编辑模式,插⼊内容
A(shift + a):在当前光标所在⾏末尾,进⼊编辑模式,插⼊内容
C :剪切当前光标所在⾏到⽂件末尾所有内容,同时进入插入模式
cc:剪切当前光标所在⾏(整行),同时进入插入模式

从编辑模式 切换回 命令模式 按 ESC

100

vim 可以同时编辑多个文件
vim -o /etc/service cervices 上下
vim -O /etc/service cervices 左右

编辑模式 ⽆法直接切换到末⾏模式

普通模式 才能直接切换到末⾏模式

使⽤ 冒号, 从普通模式切换到末⾏模式

:N 切换后,直接输⼊ N (正整数) 会跳转到指定⾏(:N)
:wq 保存退出(写⼊并且退出)
write quit
:w 保存不退出
:q 退出不保存
:wq! 保存退出
:q! 强制退出
:w! 强制保存(权限不足的时候可能需要强制)
!: 强制执⾏
:x 保存退出
ZZ(shift + zz):保存退出

:set nu 显示⽂件⾏号
:set nonu 取消显示⽂件⾏号
:set ic 忽略⼤⼩写(/搜索关键字的时候)
:set noic 取消忽略⼤⼩写
:set ai ⾃动缩进(作用在编辑模式) vim a.txt(记忆回车键)(末行模式进入编辑模式)
:set noai 取消⾃动缩进
:set list 显示制表符(回车键),tab..(显示每一行的结尾)
:set nolist 取消显示制表符

:%s#binkp#zls#g
:%s#binkp#zls#gc (询问)
:%10s#binkp#zls#gc
:%$s#binkp#zls#gc
:1,.s/from/to/g 对第一行到当前行的内容进行替换

%:全⽂替换(不加不行)
1,10 1-10⾏替换(%后s前)
s:替换
g:匹配的所有


  1. [:space:] ↩︎

原文地址:https://www.cnblogs.com/syy1757528181/p/12813174.html