vim的强大操作

利用vim可以有用一些强大的功能。本章节将对其高级功能进行描述。

一、缩写

单词的缩写
:iab ad advertisement
键入ad,就会自动补全advertisement
语句的缩写
:iab fft for i from to do {};
类似的命令可以都写在一个文件里,再在.vimrc文件中加入source此文件的命令,以后就可以一直用这些缩写

二、宏操作

编程时,我们通常会用到一些重复性的操作。我们可以通过宏操作来简化我们的过程。
1、使用qa命令开始,其中a可以是任意的一个字母,这个操作就表明后续动作都被记录下来
2、执行操作
3、使用q结束命令
使用@a就可以执行刚刚记录下来的操作,3@a就是执行三次

三、键映射、定义

除了F1具有预定义的帮助功能外,其余的键在vim中都没有预定义的内容,都可以用来做键映射。

  • 正常模式之下的map命令
  • 插入模式之下的imap命令
  • 取消一个键的映射unmap命令

如果重复操作中具有参数的话,我们可以通过:command来创建一条新的命令。
例1:我们希望把当前行所有的output替换成reg
:command SS s/output/reg/g
下次执行:SS就等价于执行😒/output/reg/g
例2:命令的含义:command -nargs=+ SS s/output//g
-nargs=1 1个参数
-nargs=* 任意个数的参数
-nargs=? 0个或1个参数
-nargs=+ 1个或多个参数
:command -range=% SS ,s/output/reg/g
-range 默认当前行
-range=% 默认所有行
重新定义一个命令":command! SS
删除一个命令:delcommand SS
一定要注意-range和-nargs在命令中的位置。

四、块操作

块操作在日常选中一大段,对这一大段进行操作时十分有用。下面就来介绍几种块操作。
Ctrl+v命令能进入一种可视的模式,在这种模式下可以选中一个矩形文本,然后对这个文本进行操作
此操作可以分为两个部分:第一部分是选中,第二部分是操作。
第一步:将光标放到所需要的起始位置;然后按下Ctrl+v键进入可视模块;结合jkhl键选出你所需要的矩形块。此时矩形块是高亮的状态。
第二步:

  • I,在文本块的左边添加文本 光标在第一行,键入文本后,以 ESC键结束,则可以对整个块进行操作。
  • A,在文本块的右边添加文本
  • c,删除文本块并添加文本
  • r,整个文本块以r后键入的一个字符来替换
  • >,整个文本块右移一个tab的距离
  • <,整个文本块左移一个tab的距离
  • y,copy一个文本块
  • p,黏贴
  • d/x,删除
    注意:对于语句块{}这三种括号包括起来的块,可以将光标置于{[(上,然后键入命令,命令主要包括:
    >%,缩进一个tab的距离
    d%,删除整个语句块
    y%,copy整个块语句

五、多文件编辑

1、Vim中支持在同一个vim中打开多个文件

:e aa.v,如果文件不在当前目录里面,那么你需要指定相对或者绝对路径。
此时被关闭的当前文件,并没有消失而是被放到了vim的一个缓冲区。通过:ls或者:buffers可以产看缓冲区列表。以下命令可以进入你想要跳到的文件。

  • :buffer2 ,其中2是缓冲区编号,通过:ls/:buffers查看
  • :b2
  • :buffers aaa.v ,利用Tab键可以实现自动补全功能
2、多窗口编辑
  • :split aaa.v:sp aaa.v,对aaa.v的文件上下分屏显示
  • :vsplit aaa.v:vs aaa.v,左右分屏显示
  • :e ex1-1,将ex1-1文件打开替换掉当前光标定位的文件。
  • :close,关闭当前窗口
  • :only,关闭所有其他窗口只保留当前窗口
  • :split aaa.v,上下分屏显示
  • :new,新打开一个窗口
  • :qall :wall :wqall :全部退出,全部保存,全部退出和保存
    在Linux命令行底下,可以直接输入命令分屏打开好几个文件
  • vim -O file1 file2 :垂直分屏打开文件
  • vim -o file1 file2:水平分屏打开文件

gf,快捷键,可以将光标定位在文件名上,就可以直接打开此文件
:br,命令回到文件列表
例:import /home/x00464410/xuqing.v 注意如果不是在此路径下,一定要注明相对路径或者绝对路径。
这个命令在vim编辑器里面查看顶层文件时,有着十分简便的应用。

posted on 2018-08-15 19:34  猪肉白菜_125  阅读(522)  评论(0编辑  收藏  举报