vim是从vi发展而来的文本编辑器,仅仅通过键盘就可以高效率地操作。Vim具有6种基本模式和5种派生模式,vim的6中基本模式为:普通模式(Normal mode)、插入模式(Insert mode)、可视模式(Visual mode)、选择模式(Select mode)、命令行模式(Command line mode)、Ex模式(Ex mode)。
终端命令
vim
:打开文件
cp
:拷贝文件到当前目录
vim -r
:恢复文件(断电时使用)
vim -x
:创建加密文件
(文字碰到\n之前为一句,有空白行相隔的为一段(文字碰到两个\n以上的是一段)。下文’行‘的意义等同于句)
vim 可以记住每句光标的位置
hjkl:左下上右
l、h:后移、前移(单句内移动)
[space]、[backspace]:后移、前移(文档内移动)
n[space]、n[backspace]:后移、前移n个字符
e:单词结尾
ge:前一个单词结尾
b、w:上一个、下一个单词(对中文来说,一块纯中文的内容就算一个单词)
0、$:本句句首、句尾(句中包括缩进)
[home]/[end]:本句句首、句尾(句中包括缩进)
^:本句句首(句中不包括缩进)
j、k:下一句、上一句(每句光标在历史位置)
+、-:下一句、上一句(每句光标在句首,句中不包括缩进)
[Enter]:下一句(每句光标在句首)
nG:移到文档的第n行 (n is a number)
n [enter]:向下移n行
():段首、段尾(光标所在是段的第一个字,把空白行当成只有一句的段)
{}:段首、段尾(空白行是段的开头,空白行不为段)
H、L:屏幕顶行、屏幕底行
M:屏幕中间行
Ctrl+d/ctrl+u:向下/向上移动半页
Ctrl+f/Ctrl+b:向下/向上移动一页(page down /page up)
G/%G:移到文档的最后一行
1G/gg:移到文档的第一行
[Ctrl]+o:回到上次光标位置
x、X:删除、退格
nx、nX:删除n个字符、退格n个字符
dw/daw:删除一个单词
dnw:删除n个单词
D/d$:删除至行尾(从光标处起)
d0/d^:删除至行首(光标前一个字符到本行第一个字符)
dd:删除一行
2dd/dj:删除两行
ndd:向下删除n行
yw:复制一个单词
y$:复制到行尾
y0:复制到行首
y/Y/yy:复制当前行
nyy:向下复制n行
yG:复制到最后一行
y1G:复制到第一行
r
cc:删除整行,并进入编辑模式
C/ce/cw:删除至词尾,并进入编辑模式
c
c0:删除至行首,并进入编辑模式(包括缩进)
c$:删除至行尾,并进入编辑模式
~:大小写互换
u:变成小写
U:变成大写
>>:增加首行缩进
<<:减少首行缩进
p、P:句后粘贴、句前粘贴
J:合并两行(去掉/n)
ddp:交换上下行
u:撤销(undo)
U:撤销所在行所有操作
[Ctrl]+r:重做
.:重复动作
ggVG:格式化
ZZ:保存退出
ZQ:不保存退出
/word:光标之后查找word
?word:光标之前查找word
n:重复查找
N:反向重复查找
# / *:向上/向下查找光标所在单词(重复按下一个)
F/f
\*:查找所在的单词
ctrl]+w+▲/▼:切换到上/下窗口
i:insert,插入模式,光标之前插入
I:行首插入
a:append,附加模式,光标之后插入
A:行末插入
R:replace,替换模式,替换光标字符
o:在下一行插入
O:在上一行插入
[Esc]:退出到一般模式
底线命令模式,执行命令(:键),搜索(/和?键)或者过滤命令(!键)
:e
:f:显示正在编辑的文件名
:f
:w 写入档案中
:q 离开vim
:q! 强制不储存离开
:x/:wq 储存后离开
:wq! 强制储存离开
:w
:n1,n2 w
:r
:ls:列出文件
:ewcover
:s/old/new 将光标所在行出现的第一个old替换为new
:s/old/new/g 将光标所在行出现的所有old替换为new
:s/old/new/gc 同上,替换之前提示用户确认是否替换
:n,ms/old/new/g 在n和m指定的行之间进行检查和替换
:%s/old/new/g 针对整个文本进行替换
格式::set
:set nu:显示行号
:set nonu:取消显示行号
:set ic:忽略大小写(ignore case)
:set显示被修改的参数
:set ruler:右下角显示状态栏
:set shiftwidth=10:设置缩进为10(可简写为sw)
:ce 本行居中
:ri 本行靠右
:le 本行靠左
vim \
:打开多文件
:files:查看打开的文件
:n:切换到下一个文件
:N:切换到上一个文件
:e#:回到上一个文件
一个界面内打开多个窗口
:new:打开一个新的视窗
:sp
:vsp
:q:退出切割
[Ctrl]+ww :切换一个文件的窗口
[Ctrl]+h、j、k、l:移动到视窗
[Ctrl]+H、J、K、L:移动视窗
[Ctrl]+w+s/v:水平/垂直分屏
[Ctrl]+w+o:只剩当前视窗
[Ctrl]+w+ +/-:增加/减小视窗高度
[Ctrl]+w+q:结束分割出来的视窗。
:!
:help:打开帮助文件
[F1]:打开帮助文档
:h
:ver:显示版本和参数
选取文本,高亮文本
v :字符可视化模式,文本选择以字符为单位。
V :行可视化模式,文本选择以行为单位。
Ctrl+v: 块可视化模式,选择一个矩形内的文本。
参考文献:
https://www.shiyanlou.com/courses/2/learning/?id=16
https://www.runoob.com/linux/linux-vim.html
https://www.cnblogs.com/yhjoker/p/8405845.html