本人的VIM使用经验

2020-09-24  本文已影响0人  老杜振熙

VIM是一个魔鬼,让人又爱又恨。特别是对其各种个性化的配置,让人痛不欲生,光是一个You Complete Me,就能把人搞崩溃。但是,如果熟悉了VIM的各项快捷键,那么在写代码的时候又可以达到风一般的速度。本文总结一些本人在使用VIM的过程中会用到的小技巧。

修改特定区域的代码

我们都会有这样的情况,想要重写函数的括号里面的所有代码,比如对于下面的代码,我们想改变调用add函数的入参,比如说现在想改成add(100, 200)。对于常规的编辑器,当然是拿鼠标选中对应的区域,删除,然后重写。但对于VIM来说,则只需要在normal模式下将光标移至括号内,然后输入命令ci(就可以重新输入新的入参了。ci(的意思是change in (,是不是很直观而且很简洁呢?当然除此之外,还有很多其他的操作命令,但核心的一点,就是搞清楚这样一个模式:Motion <==> i/a/ /t/ <==> Area。随便举一个例子,dtk这个命令的意思就是delete to k,也就是删除直至最近的字母k出现的位置(k不删除),仔细体会吧。

int add(int a, int b){
    return a+b;
}

int main(){
    int ret = add(4,34);
    std::cout << "ret is " << ret << std::endl;
    return 0;
}

寄存器

寄存器是个好东西,特别是当需要复制粘贴其他地方的本文内容的时候。在VIM中,寄存器代表一个存储了一些文本内容的空间,比如说我们常用的yy命令,就是将当前行的内容存储至一个特定的寄存器中,随后,再通过执行p命令,我们将这个寄存器中的文本内容再粘贴至下一行。
VIM中的寄存器有很多,可以通过名字进行指定,可选的名字有很多,包括a,b,c,d这样的字母一起一些其他的字符等等。比较特殊的是+寄存器(寄存器的名字是加号),这个寄存器保存的就是电脑的剪切板里面的内容,所以我们可以调用这个寄存器进行复制粘贴。调用寄存器使用双引号加上寄存器名字,比如说"+yG,则代表将VIM当前光标处直至文本末尾的所有内容保存到剪切板里面。又或者,"add,则代表将当前行删除,并且该行的内容存储至寄存器a中。

上一篇 下一篇

猜你喜欢

热点阅读