大家好,又见面了,我是你们的朋友全栈君。
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中如何快速进行光标移动。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142881.html原文链接:https://javaforall.cn