美文网首页Vim
VIM技巧收集

VIM技巧收集

作者: mst7 | 来源:发表于2015-06-30 18:58 被阅读152次
    1. 启动vim,不加载.vimrc
      vim -u NONE -N

    加载特定的.vimrc: vim -u code/vimrc.vim

    1. normal mode下的变量
      VIM vim软件的安装目录VIMRUNTIME vim程序的执行目录
      HOME 用户主目录(Win默认为C:\Users\username\,Linux默认为/home/username/)MYVIMRC 用户的第一VIMRC文件位置,为什么说是“第一”呢,请参考:version命令。

    2. 不重启vim重新加载.vimrc
      :source $MYVIMRC

    3. 关闭中文拼写检查
      :set nospell
      :set spell

    4. 统计字符数
      选中需要统计的文本,NORMAL 模式下,按g<C-g>

    5. 计算器
      INSERT 模式下,按<C-r>=,在命令栏输入表达式即可。计算的结果显示在插入光标位置。

    6. buffers
      查看buffer清单 :buffers:ls:files
      切换到指定Num的buffer Num <C-^>:buffer Num
      新建Buffer :enew
      关闭Buffer :bdelete

    7. windows
      新建水平拆分window :split [file]
      新建垂直拆分window :vsplit [file]
      关闭窗口: <C-w>c或q
      窗口间焦点切换:
      <C-w>h j k l,上下左右方向切换窗口
      <C-w>w,逆时针窗口逐步切换
      将焦点所在窗口移动到指定屏幕位置:
      <C-w>H J K L
      调整焦点所在窗口的屏占大小:
      <C-w>=,所有窗口高度一样
      <C-w>-,减小当前窗口高度
      <C-w>+, 增加当前窗口的高度
      <C-w>_,当前窗口高度最大化
      <C-w>L,所有窗口宽度一样
      <C-w><,减小当前窗口宽度
      <C-w>>,增加当前窗口宽度
      <C-w>|,当前窗口宽度最大化

    8. 在INSERT模式下粘贴文本
      <C-r>+
      参考URL:Paste in insert mode?

    <C-r>{reg}命令用于粘贴VIM中的寄存器内容,{reg}是内存寄存器名字:
    register description
    " the default register
    % the current file name
    # the alternate file name
    * the clipboard contents (X11: primary selection)
    + the clipboard contents
    / the last search pattern
    : the last command-line
    . the last inserted text
    - the last small (less than a line) delete

    参考URL:Pasting from Insert mode

    1. 让粘贴缩进等格式保持原样
      使用前::set paste
      使用后::set nopaste
      参考URL: Using Vim's paste mode with the system paste command

    2. 修改语法高亮
      :set syntax=markdown

    3. 不使用插件显示目录列表
      水平分屏显示目录列表::Ex[plore]
      垂直分屏显示目录列表::Ve[xplore] 推荐,实现效果类似于NERDTree

    4. VIM Help
      :help information
      <C-]> help内链接跳转
      <C-t> 返回跳转前

    5. 快捷跳转到当前编辑文件目录
      :edit %<TAB>
      :edit %:h<Tab> 当前编辑文件的所在目录的路径

    6. 选择模式跳转方向
      使用v命令进入字符选择模式,通过方向键可以选择指定区域的文本,但是如果选择了一半,发现起始位置有错,那可以在选择模式使用o命令切换选择方向。

    7. 高亮当前光标下所有单词
      在NORMAL模式下,光标移动到指定单词,输入*
      取消高亮:noh

    8. 正则表达式转义
      VIM中对正则表达式有完整的支持,尤其在搜索和替换过程中,使用正则表达式将会非常方便的完成对文本的精确匹配。
      很多正则表达式使用特殊字符标识(如反斜杠\),这就需要在搜索或替换过程中对其进行转义,以便VIM可以正常区分是VIM命令还是正则表达式,转义符与其他语言一致,使用\实现,但是如果需要转义的字符非常多,那整个搜索替换语句将会非常混乱、难以识别,这时候就需要用到整句的转义开关命令符,使用这个命令符后的所有字符均不用转义。
      转义字符:\v
      例子:%s/\vabc\aa/aba/g,转换文章所有abc\aa字符为aba
      参考URL:vim 正则表达式 很强大

    9. 当前光标复制的内容,粘贴到COMMAND MODE光标处
      正常操作:

    1. Normal Mode普通模式:yank复制内容
    2. 到COMMAND MODE下,输入<C-r>+"

    快捷操作:

    Command Mode命令模式:<C-r><C-w>复制当前光标处一个单词到命令行,或者<C-r><C-a>复制一个字符串。

    其他技巧资料

    1. Vim使用笔记
    2. Vimcasts
    3. vim tips and tricks

    相关文章

      网友评论

        本文标题:VIM技巧收集

        本文链接:https://www.haomeiwen.com/subject/ktaeqttx.html