更好的使用 Vim
改建的意义在于将 Ctrl 映射到 Caps Lock 上。原因在于小拇指很容易按到这个大写锁定而很难按到原来 ctrl 的位置。改键对于 Emacs 用户更为重要。
改键
我之前一直以为改键的操作做没有必要,但是在尝试了一个月以后我已经没办法重新使用别人的键盘了 ———— 太慢了。
改建的意义在于将 Ctrl 映射到 Caps Lock 上。原因在于小拇指很容易按到这个大写锁定而很难按到原来 ctrl 的位置。
改键对于 Emacs 用户更为重要。
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 的快捷键会觉得是在看谭浩强的书。到处都是莫名其妙的简写。然而所有的键位都是有明确意义的。下次再看到某些简写的时候试着按照下面的列表理解一下:
| d | delete(删除) |
| y | yank(粘贴) |
| c | change(改变) |
| v | view(视图) |
| o | open(打开) |
| r | replace(更换) |
| w | word(单词) |
| u | undo(撤销) |
其他还有很多,总之在使用的时候多想想为什么这个操作会对应这个键。
当然,有几个键完全是不讲道理,为了效率而做的,比如hjkl这四个。
还有神奇的.操作,可以重复上一个操作。非常非常有用的技巧。不过我不准备说太多,我认为这些东西更多的在自己的实践和领悟。
vim 有个神奇的<Leader> 键,我将其映射在了;上,因为离右手小拇指比较近,容易按,而且和正常的键并没有很多功能上的冲突。
下面是个人对于插件的键位设置:
我将 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
我觉得深入插件才能更好的应用它们,才会更加理解这些插件的强大。要知道写这些插件的各个都是大牛,他们可不能忍受自己做出来傻逼产品!
本文文字及图片出自 annatarhe.github.io

你也许感兴趣的: