vi/vim常用命令

vi/vim常用命令ctrl+b上一页ctrl+f下一页ctrl+u上半页ctrl+d下半页H跳到屏幕的第一行M跳到屏幕的中间行L跳到屏幕的最后一行zt将光标所在的那一行移至屏幕顶部zb将光…

大家好,又见面了,我是你们的朋友全栈君。

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账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号