模式切换
Esc 正常模式
i 插入模式
(除了键入字符,其他命令都需要在正常模式下才能运行)
v 可视模式, 字符选择,会将光标经过的地方反白选择
V 行选择, 会将光标经过的行反白选择
命令历史
以:和/开头的命令都有历史记录,可以键入:或/然后按上下键来获得
导航命令
% 括号匹配
插入命令
i 在当前位置前插入(正常模式下选中的范围前)
I 在当前行的行首插入
a 在当前位置后插入(正常模式下选中的范围后)
A 在当前行的行尾插入
o 在当前行后插入新的一行
O或Shift+o 在当前行前插入新的一行
查找命令
/text 查找text,回车后出现查找结果,按n键跳转下一个,按N键跳转上一个
?text 查找text,回车后出现查找结果,反向查找,按n键跳转上一个,按N键跳转下一个
:set ignorecase 忽略大小写
:set noignorecase 不忽略大小写
:set hlsearch 高亮显示全部搜索结果
:set nohlsearch 关闭高亮搜索显示
:nohlsearch 关闭当前的高亮搜索显示,但如果再次搜索或按下n/N键,会再次高亮
:set incsearch 逐步搜索模式,对每次输入的结果立刻进行搜索
:set wrapscan 重新搜索
替换命令
r 切换到替换模式,继续输入即可替换当前字符
:s/old/new/ 用new替换当前行中第一个匹配的old
:s/old/new/g 用new替换当前行中所有匹配的old
:%s/old/new/ 用new替换所有行中第一个匹配的old
:%s/old/new/g 用new替换所有行中所有匹配的old
:r1,r2, s/old/new/ 对于r1-r2行进行替换(其他类似)
例子::10,20, s/^/ /g 在10-20行每行前加两个tab空格缩进
ddp 交换光标所在行和其下紧邻的下一行(剪切粘贴原理)
xp 交换当前字符和其后一个字符
移动命令
h 左移一个字符
l 右移一个字符
k 上移一行
j 下移一行
(可以在前面加上数字使用,比如10j就是下移10行)
w 右移一个符号/字符串,光标停在单词词首
b 左移一个符号/字符串,光标停在单词词首
e 右移一个符号/字符串,但光标停在单词词尾
ge 左移一个符号/字符串,但光标停在单词词尾
^ 移动到当前行第一个非空白字符
0或home 移动到当前行行首
$ 移动到当前行行尾
3$ 移动到下面3行的行尾
gg 移动到文件头
G 移动到文件尾
fx 将移动到光标后第一个x的位置 3fx将移动到第三个x的位置
Fx 反向查找,移动到光标前第一个x的位置
:r1或r1+G 跳到第r1行第一个非空白字符处
Ctrl+e 向下滚动一行
Ctrl+y 向上滚动一行
Ctrl+d 向下滚动半屏
Ctrl+u 向上滚动半屏
Ctrl+f 向下滚动一屏
Ctrl+b 向上滚动 一屏
撤销命令
u 撤销(undo)
Ctrl+r 重做(redo)
删除命令
x或dl 删除当前字符
3x 删除当前光标开始向后三个字符
X或dh 删除当前字符的前一个字符
dd 删除当前行
dj 删除当前行以及上一行
dk 删除当前行以及下一行
D或d$ 删除当前字符至行尾
kdgg 删除当前行之前的所有行
jdG 删除当前行之后的所有行
:r1, r2d 删除r1到r2行
:r1, $d 删除r1到最后一行
J或shift+j 删除两行间的空行
拷贝粘贴剪切命令
yy 拷贝当前行
p 在当前光标后粘贴,如果之前用了yy复制,那么在当前行的下一行粘贴
nyy 拷贝当前行到下n-1行,即包括当前行一共复制n行
Shift+p 在当前行之前粘贴
:r1, r2 co r3 将r1-r2行内容复制后粘贴到r3的下一行
:1, $ co \$ 将整个文件内容复制后粘贴到文件尾部
ddp 交换当前行和下一行
xp 交换当前字符和其后一个字符
dd 剪切当前行
ndd 类似nyy,剪切当前行到下n-1行
:r1, r2d 剪切,p即可粘贴(所以删除其实就是剪切)
:r1, r2 m r3 将r1-r2行移动到r3的下一行
退出命令
:wq或ZZ 保存并退出
:q! 强制退出并忽略更改
:e! 放弃修改,并打开原文件
窗口命令
:split或:new 打开新窗口,光标停在顶层的窗口上
:split file或:new file 新窗口打开文件
使用:vsplit可以纵向打开窗口
Ctrl+ww 移动到下一个窗口
Ctrl+wj 移动到下方的窗口
Ctrl+wk 移动到上方的窗口
:close 关闭窗口
:q 退出
:only 只保留当前窗口,关闭其他窗口
注释命令
(利用替换命令)
:r1, r2 s/^/#/g 注释r1-r2行(将每行行首替换为#)
:r1, r2 s/^#//g 取消注释
:1, $ s/^/#/g 注释整个文档
:%s/^/#/g 注释整个文档
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228671.html原文链接:https://javaforall.net
