Vim

来自技术笔记
跳到导航 跳到搜索

插件[编辑 | 编辑源代码]

通过 Vundle 来管理

  • :BundleInstall
  • :BundleUpdate
  • :BundleClean

插入[编辑 | 编辑源代码]

  • i:在当前字符的左边插入
  • I:在当前行首插入
  • a:在当前字符的右边插入
  • A:在当前行尾插入
  • o:在当前行下面插入一个新行
  • O:在当前行上面插入一个新行
  • c{motion}:删除 motion 命令跨过的字符,并且进入插入模式。比如:c$,这将会删除从光标位置到行尾的字符并且进入插入模式。ct!,这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式。被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。
    • cw,删除当前光标到这个字符结尾。
  • d{motion}:和上面差不多,但是不进入插入模式。

可视化[编辑 | 编辑源代码]

不像最初的 VI,Vim 允许你高亮(选择)一些文本,并且进行操作。这里有三种可视选择模式:

  • v:按字符选择。经常使用的模式,所以亲自尝试一下它。
  • V:按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用。
  • <C-V>:按块选择。非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。 一旦你高亮了选区,你或许想进行一些操作:
    • d:剪贴选择的内容到剪贴板。
    • y:拷贝选择的内容到剪贴板。
    • c:剪贴选择的内容到剪贴板并且进入插入模式。 如果你很清楚的知道你想拷贝或者剪切什么,那你根本就不需要进入可视选择模式。这样也会节省时间:
    • d{motion}:剪切 motion 命令跨过的字符到剪贴板。比如,dw 会剪切一个词而 dfS 会将从当前光标到下一个 S 之间的字符剪切至剪贴板。
    • y{motion}:和上面类似,不过是拷贝。
    • c{motion}:和 d{motion} 类似,不过最后进入插入模式。
    • dd:剪切当前行。
    • yy:拷贝当前行。
    • cc:剪切当前行并且进入插入模式。
    • D:剪切从光标位置到行尾到剪贴板。
    • Y:拷贝当前行。
    • C:和 D 类似,最后进入插入模式。
    • x:剪切当前字符到剪贴板。
    • s:和x类似,不过最后进入插入模式。

文件切换[编辑 | 编辑源代码]

  • :cd dirname
  • :e filename
  • :e #:n,下一个文件
  • :p,上一个文件
  • :请输入,第几个文件

文件保存[编辑 | 编辑源代码]

  • :f filename,重命名
  • :w filename,另存为

参考[编辑 | 编辑源代码]

https://linuxtoy.org/archives/efficient-editing-with-vim.html