vim快捷键介绍

开始之前:本来打算传张图片上来的,结果串不上来 ,我说我其实是会画图的,你们信么。

vim 是一款强大的屏幕文本编辑器,即一次读取所有的文本内容,并显示在屏幕上;与之对应的是行编辑器,每次仅读取一行内容比如说ed。


vim的选项:

虽然标题是快捷键,但是我还是把选项也写上吧。


vim file :没有选项的选项,直接使用vim打开文件 
    扩展: vim file1 file2 file3  :使用vim 同时打开多个文件 ,但是只能显示一个,但是可以通过命令进行文件之间的切换。
        :next 下一个
        :prev 前一个
        :first 第一个
        :last 最后一个 
        :wall 保存所有
        :qall 退出所有
        :wqall 保存退出所有

.

 行跳转选项:
     即在打开vim时决定光标停留的行,行跳转可以使用 数字或模式实现
    +# : 打开文件时光标跳转到 # 行的行首 
         vim +14 /etc/passwd
    +/patter :打开文件时光标停留在第一次匹配到该字符串的地方.
         vim +/root /etc/passwd

.

vim -m file : 以只读的方式打开文件

.

vim -b file :以二进制的方式打开文件

.

vim -d file1 file2  : 以分屏的方式 打开两个文件.高亮显示差别.

.

vim -o/-O file1 file2 : 代开多个文件 ,但将窗口分割为多个小窗口
-o 水平分割 
-O 垂直分割

.

vim -e file :打开文件时进入扩展的命令模式
    等价命令ex

vim快捷键

个人理解: vim 进入后的界面不同于windows的记事本可以直接编辑,vim编辑器进入之后只能使用命令。包括ed编辑器,也不是直接编辑的。
而且编辑模式命令与扩展命令模式命令,其实都是命令的一种,只是有的命令动作比较长,在动作中可能需要用户的输入。也就是inster状态。有的命令带有扩展选项,:。

插入操作
i:在当前的光标位置之前插入字符,esc键结束插入,
    # i,esc :为1个完整的动作,重复执行动作#次,当#不指定时,默认为1 次。
a:光标向后移动一个字符,然后在当前光标前插入。即在当前光标位置之后插入字符。esc键结束插入。
    # a,esc :为1个完整的动作,重复执行动作#次,当#不指定时,默认为1 次。
l:在当前行的行首插入字符 ,esc键结束插入,
    #I,esc :为一套完整的动作,重复执行动作# 次,当# 不指定时,
A:在当前行的行尾插入一个字符,esc键结束插入
    #A,esc :为一套完整的动作,重复执行动作# 次,当# 不指定时,默认为1次 。
o:在当前行的下方插入新的空白行,
    #o:无需esc 键结束,重复执行o动作 #次,当#不指定时,默认为1 
O:在当前行的上方插入新的空白行。
    #O:无需esc 键结束,重复执行O动作# 次,当# 不指定时,默认为1 。
c:修改模式,可实现范围修改,即清空指定范围,然后进入插入模式。

窗口操作
ZZ :保存退出
ZQ :退出不保存
单文件窗口分割:
    ctrl+w, s :水平分割
    ctrl+w, v :垂直分割
    ctrl+w ,q:取消相邻窗口
    ctrl+w ,o:取消全部窗口
    : wqall : 退出

跳转操作

字间跳转

...
.上k.
左h.右l
.下 j.

词间跳转:

..
当前或上一个词首 b下一个词首 w
.当前或下一个词尾 e

当前页跳转:

...
页首:H页中:M页底: L

行内跳转:

..
^ :非空白字符的行首.
0:真正的行首行尾 :$

段落跳转:

..
)跳至下一句 .为分割(跳至上一句 .为分割
} 跳至下一句 空行为分割{ 跳至上一句 空行为分割

翻页操作:

..
ctrl + b 向上全屏ctrl + u 向上半屏
ctrl + f 向下全屏ctrl + d 向下半屏

G 行号跳转

.
gg 跳至首行
G 跳到行号为#的行
gg 跳到行号为#的行
G 跳到尾行

字符编辑

x :剪切光标处的字符,光标位置不改变,剪切位置后的字符向前补齐                        
    \#x 重复执行x ,#次
~ :装换字符的大小写,转换后光标位置向后移动一位。
    \#~ 重复执行~ , #次
r/R :替换/连续替换光标处的字符。连续替换时每替换完成一个单词,光标向后移动1位。
    \#r 重复执行r ,#次,r动作类似于宏。r替换开始,至输入字符,替换完成,为一个r动作。所以#r会替换#个相同的字符。
d :删除操作,可结合光标跳转字符功能,实现范围删除。
    格式:<start>d<end>:从指定的开始位置为开始,至指定的位置为结束,对期间的内容[start-end]执行d操作即删除。其中start的内容可以默认,即使用光标位置。
        1ggdG :删除全部内容
        d50gg :删除当前光标位置至50行的所有内容
        0d$ :删除整行内容            
y :复制操作,可结合光标字符跳转功能,实现范围删除。
p :粘贴操作,
    p:如果粘贴的为整行则在当前行的下面粘贴,如果是字符则在光标后粘贴。
    P:如果粘贴的为整行则在当前行的上面粘贴,如果是字符则在光标前粘贴。
J :删除当前行后的换行符

可视化操作:

.
v:面向字符
V:面向行
c+v:面向块

撤销

.
u :撤销最近一次更改
#u :撤销之前#次更改
U :撤销光标移动至该行后的所有更改
ctrl + r 恢复最近1次撤销

重复操作

.
. 重复之前的操作
. 重复之前的操作#次

扩展命令模式
使用:进入命令扩展模式,使用对应命令进行操作。
个人理解:vim中并无模式,插入模式,命令扩展模式,都不过是执行的命令过程中的一部分,只是有些命令动作较多。扩展命令模式是一条带有参数的命令。
:q 退出
:w 保存
:x 保存退出
:r 读取文件的内容或命令的输出,类似于重定向
:! 在命令之后表示强制执行该命令 ,在外部(对于vim)命令之前表示执行该命令
:!ls
:r!ls

查找:
    :/PATTERN : 从当前光标所在处向文件尾部查找
    :?PATTERN : 从当前光标所在处向文件首部查找
    n: 与命令同方向
    N:与命令反方向    

地址定界:
格式 :start_pos,end_pos
数字表示法:
# : 单一行号,只表示该行号的行
# ,# :使用数字表示具体的行号。表示一段范围。
# ,+#:从左侧#表示的行号为开始,+#表示增量,即#+#行。
模式匹配法:
/pat1/,/pat2/ :从第一次被pat1匹配到的行开始,一直到第一次被pat2匹配到的行结束,
特殊表示:
. 表示当前的行
-1 表示最后一行的上一行
% 表示全文
使用方法:
地址定界中的表示方法可以混合使用。在地址定界后跟随一个动作,如d(删除),y(复制),w file(将定界内容保存到文件),r file(在指定的位置插入指定文件中的内容)
替换:
:s 格式:地址定界 s/要查找的内容/替换为的内容/修饰符
可以不指定地址定界,在不指定地址定界时,默认为光标所在的行。
要查找的内容:可使用模式,但是基本的正则表达式。
替换为的内容:不能使用模式,但是可以使用\1,\2…等后项引用,还可以使用&引用前面查找时找到的整个内容
s前面可以指定范围 %全文
修饰符
i: 忽略大小写
g: 全局替换,默认情况下,每一行只替换第一次出现
gc: 全局替换,每次替换前询问
查找替换中的分隔符/可替换为其他字符
s@/etc@/var@g
s#/boot#/#!
& :表示之前搜索到的文本
%s/root/&er/g
改变大小写
gu :变为小写
gU :变为大写

vim属性更改:
    更改的属性仅对当前使用的vim有效,如果长期有效许定义在配置文件中
    :set nu 增加行号    set nonu 取消行号
    :set sm 括号成对高亮
    :set ai 自动缩进
    :syntex on /off 语法高亮
    :set ic 忽略字符的大小写。
    :set fileformat=dos   启用windows格式:
    :set fileformat=unix  启用unix格式:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值