大家好,又见面了,我是你们的朋友全栈君。
ctrl + b 上一页
ctrl + f 下一页
ctrl + u 上半页
ctrl + d 下半页
H 跳到屏幕的第一行
M 跳到屏幕的中间行
L 跳到屏幕的最后一行
zt 将光标所在的那一行移至屏幕顶部
zb 将光标所在的那一行移至屏幕底部
zz 将光标所在的那一行移至屏幕中部
G 跳到文件底部
g+g 跳到文件顶部
#G 跳到第#行
数字0 跳到行首
^ 跳到行内非空格的第一个字符
w 跳到下一字头(大写标点符号不算单词)
e 跳到下一子尾(大写标点符号不算单词)
b 跳到上一字头(大写标点符号不算单词)
小x 删除后1字符
#x 删除后#字符
大X 删除前1字符
#X 删除前#字符
dd 删除所在行
#dd 删除所在行开始#行
d← 删除光标前的字符
d→ 删除光标处的字符
d0 删除至行首
D 删除至行尾
‘. 定位到上一次修改点
‘. 定位到上一次修改行
yw 复制所在处到字尾
#yw 复制#字
yy 复制所在行
#yy 复制所在行开始的#行(向下)
p 粘贴
r 更改当前字符,并保持在正常模式
R 连续替换当前光标下的字符,按<Esc>结束
大C 替换当前行后面的部分,并进入插入模式,按<Esc>结束
小cc 替换当前行(大S),并进入插入模式,按<Esc>结束
cw 替换当前单词并进入插入模式,按<Esc>结束
小s 替换当前字符并进入插入模式,按<Esc>结束
~ 更改当前字符的大小写
u 恢复,撤销
U 还原当前行
<< 当前行左移一个TAB
>> 当前行右移一个TAB
v或者ctrl + v 进入可视化(用于选中)
shift + * 向下查找并高亮显示
shift + # 向上查找并高亮显示
g + d 高亮显示光标所属单词,“n” 查找!
:noh 取消高亮
[ + ctrl + i 跳到函数变量和#define处,用ctrl + o返回 ctrl + ]
[ + ctrl + d 跳到#define处,用ctrl + o返回
ctrl + o 跳到后几次光标位置(返回)
ctrl + i 跳到前几次光标位置
小括号跳转:跳到句子的个开下头,句子以句号或者空行结束
( 光标移到这个句子开头
) 光标移到下一句子开头
中括号跳转:跳到函数的开头或结尾
[[ 跳往上一个 函数的起始大括号
]] 跳往下一个 函数的起始大括号
[] 跳往上一个 函数的结束大括号
][ 跳往下一个 函数的结束大括号
大括号跳转:跳到段落开头,以空行划分
{ 跳到上一段落
} 跳到下一段落
:res[ize] [N] 修改窗口高度为N
:vertical res[ize] [N] 修改窗口宽度为N
查找与替换
语法如下:
:{作用范围}s/{目标}/{替换}/{替换标志}
例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)。
作用范围
作用范围分为当前行、全文、选区等等。
当前行:
:s/foo/bar/g
全文:
:%s/foo/bar/g
选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :'<,’>。
:'<,’>s/foo/bar/g
2-11行:
:5,12s/foo/bar/g
当前行.与接下来两行+2:
:.,+2s/foo/bar/g
替换标志
上文中命令结尾的g即是替换标志之一,表示全局global替换(即替换目标的所有出现)。 还有很多其他有用的替换标志:
空替换标志表示只替换从光标位置开始,目标的第一次出现:
:%s/foo/bar
i表示大小写不敏感查找,I表示大小写敏感:
:%s/foo/bar/i
# 等效于模式中的\c(不敏感)或\C(敏感)
:%s/foo\c/bar
c表示需要确认,例如全局查找”foo”替换为”bar”并且需要确认:
:%s/foo/bar/gc
回车后Vim会将光标移动到每一次”foo”出现的位置,并提示
replace with bar (y/n/a/q/l/^E/^Y)?
按下y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。^E与^Y是光标移动快捷键,参考: Vim中如何快速进行光标移动。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142881.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...