更好的使用 Vim

    xiaoxiao2023-09-07  156

    改键

    我之前一直以为改键的操作做没有必要,但是在尝试了一个月以后我已经没办法重新使用别人的键盘了 ———— 太慢了。

    改建的意义在于将 Ctrl 映射到 Caps Lock 上。原因在于小拇指很容易按到这个大写锁定而很难按到原来 ctrl 的位置。

    改键对于 Emacs 用户更为重要。

    操作方法:Ubuntu 参考这篇文章, windows是改注册表,自行google吧。

    Tmux

    我一直把 Ubuntu 作为工作写代码的操作系统,终端对于我来说有仅次于文本编辑器使用频率。

    Tmux 不需要有很牛逼的技巧,我每次只是分割窗口而已,没有什么高端操作。

    C-b 加上 % 就可以切分窗口,想要切换的时候就 C-b 加上 → 就是转到右边的窗口,同理,左边也是一样。

    安装很简单 sudo apt install tmux 即可。

    Plugins

    有插件的 Vim 和没有插件的 Vim 是两款编辑器。

    我推荐的做法是安装 vundle.vim作为 vim 的包管理器,安装方法文档里面有。我只是介绍这么个东西而已。亲手实践才能印象深刻。

    之后推荐一个网站vimawesome.com这里有 vim 的插件集合,可以看到大部分插件的信息。

    然后给一个我自己的插件列表:

    Plugin 'VundleVim/Vundle.vim' Plugin 'bling/vim-airline' Plugin 'kien/ctrlp.vim' Plugin 'scrooloose/nerdcommenter' Plugin 'scrooloose/nerdtree' Plugin 'Raimondi/delimitMate' Plugin 'lepture/vim-css' Plugin 'wavded/vim-stylus' Plugin 'fatih/vim-go' Plugin 'SirVer/ultisnips' Plugin 'gosukiwi/vim-atom-dark' Plugin 'pangloss/vim-javascript' Plugin 'mattn/emmet-vim'

    主题颜色是 atom-dark 我曾试用过 material theme, 但是我觉得太丑了,完全没有在 sublime 上的美感,所以还是换了。

    ctrlp 是快速搜索文件用的,说实话真的超级有必要。它给我养了个坏习惯:再也受不了 webstorm 的搜索功能了。

    nerdcommenter 是用来快速注释和反注释的,很明显没有 sublime 智能,但是一直没有找到比较好的替代品。

    nerdtree 是文件树列表。真神器。自从我读了一遍 help 以后才发现它上天入地无所不能

    airline 纯粹是装饰用的。对我来说没什么实质作用。但是我一天九个小时都对着这货不好看一点儿怎么受得了。

    delimitMate 自动补全"这些东西。

    下面的css, stylus, go, javascript都是语言加强的

    ultisnips 是快速代码片段,像是每个文件都有的头注释,框架的东西都可以放在里面。大量写代码的时候是神器。

    快捷键

    vim 本身的快捷键快得有些不讲道理。以至于难以记忆。

    一开始看 vim 的快捷键会觉得是在看谭浩强的书。到处都是莫名其妙的简写。然而所有的键位都是有明确意义的。下次再看到某些简写的时候试着按照下面的列表理解一下:

    其他还有很多,总之在使用的时候多想想为什么这个操作会对应这个键。

    当然,有几个键完全是不讲道理,为了效率而做的,比如hjkl这四个。

    还有神奇的.操作,可以重复上一个操作。非常非常有用的技巧。不过我不准备说太多,我认为这些东西更多的在自己的实践和领悟。

    vim 有个神奇的 键,我将其映射在了;上,因为离右手小拇指比较近,容易按,而且和正常的键并没有很多功能上的冲突。

    下面是个人对于插件的键位设置:

    我将 nerdtree 的 toggle 映射在了;t上,没有什么原因,纯粹是手感好。

    ;cc 是注释, ;cu是取消注释。这个键位是跟 jeffway 学来的,一直觉得不是很好按,但是习惯了也还好。

    其他的倒没什么特别了

    常用操作

    我虽没有几十年的 vim 使用经验,然而还是有一些自己认为比较常用的操作的。

    我平常不太喜欢用buffer,更多的是用tab来做,因为tab更容易观察得到。

    所以下面的一些快捷键比较常用了:

    gt: tab切换

    Ctrl-w-h, 当前窗口切换,我认为这个组合键的的意思是 w 代表 window, Ctrl 只是前缀。后面的hjkl就是上下左右了。

    深入插件

    对于插件,我有些要说的。

    插件的配置在我看来还是挺复杂的。

    比如 ctrlp 你需要把 node_modules 这些没用的东西 ignore 掉,

    对于 airline 你需要下载 powerline-fonts 来让它显示三角形。

    在nerdtree中可以按r刷新当前节点,按m有更多选项,在m中可以新建文件删除文件什么的操作。

    在 ultisnips 中还要自己写自己的snippets

    我觉得深入插件才能更好的应用它们,才会更加理解这些插件的强大。要知道写这些插件的各个都是大牛,他们可不能忍受自己做出来傻逼产品!

    文章转载自 开源中国社区[http://www.oschina.net]

    最新回复(0)