[原]总结VIM的实用技巧

  VIM真是一个神奇而又复杂的编辑器,让我这样的Linux编程新手茫然不已啊。每次到真正动手编程的时候才发现完全不知道该怎么操作VIM,一点都没感觉到VIM的强大,哈哈~~正好今天学习了一点VIM操作技巧,顺便记下来,一边日后不断积累不断提高。

一、复制、剪切、粘贴

(1)在命令模式下将光标移动到要复制的段开始位置,按下字母v进入可视模式,然后移动光标覆盖需要复制的内容,按下y完成复制,按下d完成剪切。再将光标移动到目标位置,按下字母p完成粘贴

(2)在命令模式下,在目标行按下两次字母y,即yy完成行复制,两次字母d,即dd完成行剪切,再将光标移动到目标位置,按下字母p完成粘贴

(3)在命令模式下,输入命令 “:起始行号,结束行号 y” 可以完成连续多行拷贝,然后将光标移动到目标位置按下p完成粘贴

(4)在命令模式下,输入命令 “n1,n2w!/tmp/tmpfile” 可以把行号n1至行号n2的内容写入到/tmp/tmpfile文件中临时保存,然后将光标移动到目标位置,输入 “r /tmp/tmpfile” 把内容读进来。

(5)在插入模式下,将光标移动到需要插入内容的地方,然后用鼠标选中需要复制的内容,按下鼠标中键即可完成复制和粘贴,粘贴的位置就是刚才光标所在的位置。

一、代码注释

(1)连续多行注释

  在命令行下输入如下命令:

  :起始行号,结束行号s/被替换的字符/替换后的字符/g

  例如在文件第10行至25行的行首位置插入#或者//时分别可以输入以下命令:

:10,25s/^/#/g 
:10,25s/^////g

   其中,^符号表示行首插入的意思,因为/在命令中用到了,所以要想输入 “//” 就必须用到两次转义字符 “” 。g表示每次替换时不需要确认,如果希望确认,则将g替换成c即可。

(2)随意注释不连续的行

  如果想要随意注释不连续的行,那么就要用到快捷键了。比如:可以为行首注释动作添加一个快捷键。添加快捷键的命令为:

  :map ^P I//

  其中,^P表示Ctrl + P,在输入此命令的时候要连续按下Ctrl + v + p才行,当然也可以不用p而设置其他字母。I// 表示在光标所在行的行首位置插入。取消此快捷键的方式为:

  :unmap ^P

二、字符串自动补全

  可以定义一个特殊的字符串补全,有时候会非常方便。设定替换语句的方式为:

  :ab 快捷字符串 完整字符串

  例如,可以为我的邮箱设定一个快捷字符串为KLH,在每次输入KLH之后按下回车或者空格就能变为我的邮箱地址了:

:ab KLH kuliuheng@126.com

 三、执行系统命令

  在VIM中完全可以直接执行SHELL命令而不需要退出VIM。执行的方法就是在命令模式下先输入!,然后接着输入命令即可。例如显示当前的工作路径:

:!pwd

   如果想从外部的某个文件中导入文件内容,可以使用r命令,例如:

:r ../echoServer/main.cpp

  引申一下,发现可以把两个命令结合在一起使用,使用方式为:r !系统命令。例如在文件中插入当前的系统时间:

:r !date

四、查看系统帮助

  在需要查询的系统函数上,按下大字字母K即可转到帮助文件上,这是一种方法。

五、辅助功能

(1)目录浏览,输入:Ex

(2)分割窗口目录浏览,输入:Sex

(3)显示当前buffer情况,输入:ls

(4)显示当前打开的文件,输入:args

(5)光标回溯移动为Ctrl + c + p,光标前向移动为Ctrl + c + i,列出跳转历史为:ju

(6)如果需要将上述个性化设置保存,直接写入~/.vimrc 文件中即可。

原文地址:https://www.cnblogs.com/kuliuheng/p/3992401.html