vi编辑器快捷操作大全:从入门到精通
创作时间:
作者:
@小白创作中心
vi编辑器快捷操作大全:从入门到精通
引用
1
来源
1.
https://www.cnblogs.com/santia-god/p/18082260
vi编辑器是Linux系统中常用的文本编辑器之一,掌握其快捷操作可以大大提高工作效率。本文详细介绍了vi编辑器的各种快捷键和操作技巧,包括打开文件、模式转换、光标跳转、增删改查、视图模式、末行模式、多文件操作、多窗口操作以及一些配置选项。无论你是vi编辑器的初学者还是有一定经验的用户,都能从本文中找到实用的技巧。
打开文件
- 打开文件时,光标在第5行:
vim +5 /etc/fstab - 打开文件时,直接进入尾行:
vim + /etc/fstab +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首- 打开文件时,光标在关键词keyword处:
vim +keyword /etc/fstab
模式转换
编辑模式到输入模式
i:insert,在光标所在处输入a:append,在光标所在处后方输入o:在光标所在处下方打开一个新行,光标直接在行首I:在光标所在行的行首输入A:在光标所在行的行尾输入O:在光标所在处的上方打开一个新行
输入模式到编辑模式
ESC
编辑模式到末行模式
:
末行模式到编辑模式
ESC
光标跳转
命令模式
- 行首/尾跳转
0:行首跳转(绝对行首)^:行首跳转(相对行首,行首第一个非空字符)$:行尾跳转
- 字符跳转
h:右(相当于小键盘右键)j:下(相当于小键盘下键)k:上(相当于小键盘上键)l:左(相当于小键盘左键)
- 字符串/单词跳转
- 短跳转【单词定界可能是:空格,短横线,引号,下划线等特殊符号】:
w:(world)单词跳转,到下一个单词词首b:(begin)词首跳转,到本单词词首,如国已在词首,则跳转到上一单词词首(相当于反向w)e:(end)词尾跳转,到本单词词尾,如果已在词尾,则跳转到下一单词词尾- 长跳转【单词定界符是:空格{space},制表符{table},换行{enter}】:
W:(world)单词跳转,到下一个单词词首B:(begin)词首跳转,到本单词词首,如国已在词首,则跳转到上一单词词首(相当于反向w)E:(end)词尾跳转,到本单词词尾,如果已在词尾,则跳转到下一单词词尾
- 多段跳转
- 数字+跳转符(n+cmd)
- 如:
5l【光标左移5个字符】;6W【光标左移6个单词】;8E【光标右移8个单词】
- 行间跳转
gg:默认跳转到首行G:默认跳转到末行5gg:跳转到第五行7G:跳转到第7行
- 句间跳转
):跳转到下一句(:跳转到上一句
- 段间跳转
}:跳转到下一段}:跳转到上一段
- 翻屏操作
Ctrl + f:向文件尾部翻一屏Ctrl + b:向文件首部翻一屏Ctrl + d:向文件尾部翻半屏Ctrl + u:向文件首部翻半屏Enter:向文件尾部翻一行k:向文件首部翻一行
命令模式增删改查
- 查找
/keyword:查找关键词(keyword)
- 替换(不改变词句长度)
r:只替换光标处字符R:从光标处开始替换
- 字符删除
del键:删除光标处字符x:删除光标处字符X:删除光标前字符5x:删除光标后5个字符(包含光标)5X:删除光标前5个字符(不包括光标)
- 字段删除
d:删除命令,可结合光标跳转字符,实现范围删除D:删除到行尾d$:删除当前光标所在处到行尾的内容,也可以使用Dd0:删除到行首(包括行首空格不包括光标处字符)d^:删除当前光标所在处到行首的内容(不包括行首的空格)dw:删除到光标到下一个单词的词首de:删除到光标到本单词词尾或下一个单词的行尾db:删除到光标到本单词词首或上一个单词的词首dd:删除光标所在的行5dW:向后删除5个单词
- 复制
y:复制,工作行为相似于d命令y$ y^ y0 ye yw yb yE yW yB yy5yW:向后复制5个单词
- 粘贴
p:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的下方,否则则粘贴至当前光标所在处的后方P:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,则粘贴至当前光标所在处的前方
- 撤销(undo)
u:撤销此前的操作5u:撤销此前的5个操作
- 反撤销
- 恢复此前的撤销操作
Ctrl + r
- 重复
- 重复执行前一个编辑操作
.(点号)
- 删除然后插入
c:编辑模式--> 输入模式,实现删除操作- 和d命令效果是一样的,只是他做完删除动作以后会将当前模式转换为输入模式
视图模式
可视化模式
v:按字符选定V:按行选定
结合编辑命令:y,p,d
视图模式可以批量插入与删除,便于批量注释与解注释
删除(当删除内容为 行首的 # 时,即可批量解除注释 )
- 光标移动(上,下,左,右键 / k,j,l,h)选中块
- 然后
del删除块(del/x)
插入(当行首块 批量插入内容为 # 时,即可完成批量注释)(仅vim有效,vi无效)
- 光标移动(上,下,左,右键 / k,j,l,h)选中块
- 然后按插入符(
I:光标前插入;A:光标后插入),插入 字符串 会在第一行出现 - 最后双击
ESC,同步插入的 字符串 到所有选择块区
末行模式
:start_pos[,end_pos]
#特定的第#行,例如5即第5行.:当前行$:最后一行;#,#:指定行范围,左侧为起始行,右侧为结束行;#,+#:指定行范围,左侧为起始行绝对编号,右侧为相对左侧行号的偏移量;- 例如:
3,+7:表示从第三行开始,然后增加七行。 .,$-1:表示从当前行到倒数第二行1,$:表示全文,也可以用%表示/pattern/:从光标所在处开始向文件尾部第一次被这个指定的模式所匹配到的行/first/,$:表示从当前光标开始第一次能被first匹配到的行开始到最后一行结束/pat1/,/pat2/:从光标所在处起始,第一次由pat1匹配到的行开始至第一次由pat2匹配到的行结束之间的所有行
可同编辑命令一同使用
dyw /PATH/TO/SOMEFILE:将范围内的文本保存至指定的文件中;r /PATH/FROM/SOMEFILE:将指定的文件中的文本读取并插入至指定位置
末行模式批量注释与取消注释
多文件
用法
vim FILE1 FILE2...
在文件间切换
:next下一个:prev上一个:first第一个:last最后一个
退出所有文件
:wqall保存所有文件并退出:wall:qall
多窗口
-o:水平分割窗口vim -o fstab fstab.new fstab.patch- 同时按
Ctrl + w然后再按住上或者下就可以切换屏幕 -O:垂直分割窗口vim -O fstab fstab.new fstab.patch- 同时按住
Ctrl + w然后再按左或者右就可以切换屏幕
单个文件也可以分割为多个窗口进行查看:
Ctrl + w,然后松开,然后再按s:水平分割窗口Ctrl + w,然后松开,然后再按v:垂直分割窗口
q或者wq等等只是退出当前文件,使用qall或者wqall才会退出所有
有效范围
在末行模式下的设定仅对当前vim进程有效
永久有效的话就需要编辑配置文件
- 全局:
/etc/vimrc - 用户个人:
~/.vimrc。在此文件中加入set nu时打开文件都会显示行号
行号
- 显示:
set number,可简写为set nu - 取消显示:
set nomber,也可简写为set nonu
粘贴模式
- 启用:
set paste - 取消:
set nopaste
语法高亮
- 启用:
syntax on - 禁用:
syntax off
插入模式
热门推荐
中国农大团队完成首个绵羊端粒到端粒基因组组装,揭示Y染色体秘密
写日记,提升自我认知的有效途径
分手后如何调整心态?心理学告诉你几个有效方法
详解驾照考试关键:驾驶技巧与交通法规的应用
洛阳水席PK郑州烩面:谁才是河南小吃王?
白皮书 | 行业深度解析:中国AI在全球舞台的崛起与挑战
华为上半年营收增34%至4175亿,负债率降至56.5%
从内分泌到社会关系:解析瑜伽提升心理健康的多重机制
简单又营养:六款适合冬季的儿童午餐食谱
工业氯化钙检测项目包括氯化钙 加热减量 水蒸气吸附量
北京特色香椿:春季限定的美味传奇
冬季爱步鞋保养指南:从清洁到存放的全方位护理
第18个世界糖尿病日:专家解读如何平衡健康管理与幸福感
化石草的功效与作用:化石草现代应用方法详解
皮肤用药市场分析:456亿规模下,皮炎湿疹类成新增长极
奠定、开创、巩固、统一:四位帝王影响华夏文明进程
中介违规操作致房屋买卖纠纷,四方面监管措施亟待加强
轻松掌握微信群发技巧,提高沟通效率与互动体验的方法分享
五种常见的心血管疾病 心血管疾病的合理用药方法
狸花、英短、布偶、美短:四种常见猫咪的品种特征与收养指南
红军长征结束,三大主力各有多少红军?抗战为何129师兵最少?
重庆航空春运新增900班次,多条航线票价低至230元起
彭高翁青雅分手,《心动的信号7》再掀恋综诈骗热议
《第二圆舞曲》:生命哲学的狂欢
眼睛干涩、痒痛?选对眼药水是关键
专家提醒:游戏成瘾可致身心受损,这些方法助孩子走出困境
个头超大的咸肉粽,是广西最隆重的美味
5日均线10日均线实战:股市买卖信号与风险控制
书房设计巧思:打造高效与舒适的阅读空间
甘肃玉门古金矿探秘:千年宝藏重现人间