资讯专栏INFORMATION COLUMN

Vim 折腾记

Joyven / 861人阅读

摘要:自己用的编辑器还是想自己折腾,然后今天就趁着我对这个还有点热度赶紧折腾起来。在的文章里面有提到中文版本的帮助文档,遂下载之。果然还是中文的比较浅显易懂。这里主要是抄的百度的配置总结折腾了一下午,终于算是搞定了。

</>复制代码

  1. 原文地址:http://www.ahonn.me/2017/02/1...

昨天在微信读书上面看到了池建强的《MacTalk 人生元编程》,然后花了差不多一天看完,其中有篇有关于 Vim 的文章提起了我对这个编辑器的再一次兴趣(对的,我对它感兴趣很多次了,每次都懒..)。

一直懒得去慢慢配置它,又不想用别人的配置。自己用的编辑器还是想自己折腾,然后今天就趁着我对这个还有点热度赶紧折腾起来。

MacVim

其实在命令行里面直接写代码还有有些不习惯的,所以选了 MacVim 这个 GUI 版本。这样又可以与其他编辑器一样多带带打开,想小改代码的时候又可以直接打开命令行搞。

在 MacTalk 的文章里面有提到 Vim 中文版本的帮助文档,遂下载之。果然还是中文的比较浅显易懂。

以前看别人的 .vimrc 配置,里面有些编辑器的基本配置,也不知道是哪里查的。原来这些配置可以在编辑器中输入 :help options 进行查看。

缩进

关于缩进的配置,主要设置了 autoindent, smartindentexpandtab 这三个选项。

autoindent 选项根据上一行决定新行的缩进

smartindent 选项智能自动缩进

expandtab 选项将 tab 转换为空格

</>复制代码

  1. set autoindent
  2. set smartindent
  3. set expandtab
行号

显示行号是硬需求,但是与其他编辑器不同,在 vim 上还有相对行号。

</>复制代码

  1. set number
  2. set relativenumber
插件

显而易见,手动安装 vim 插件是很麻烦很麻烦的。与 sublime text 之类的类似,vim 同样有类似的插件管理器 Vundle。

创建文件夹 ~/.vim 和配置文件 ~/.vimrc,并安装 Vundle:

</>复制代码

  1. $ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

为了方便管理再新建一个 .vimrc.bundles 来多带带存放插件列表:

</>复制代码

  1. set nocompatible " be iMproved, required
  2. filetype off " requried
  3. set rtp+=~/.vim/bundle/vundle/
  4. call vundle#begin()
  5. " Let Vundle manage Vundle
  6. Bundle "gmarik/vundle"
  7. " .... 其他插件
  8. call vundle#end()
  9. " required
  10. filetype plugin indent on

以后添加插件的时候只需要在这个文件里面添加一行:

</>复制代码

  1. Bundle "xxx"

安装插件输入 :BundleInstall 命令即可,卸载插件时删除对应的配置并运行 :BundleClean 删除插件。

括号补全

第一次用的时候,输入 ( 居然没有自己蹦出来另外一个 )。这不科学,讲道理这个是一定要的。

发现很多人用的是 delimitMate ,添加 Bundle "delimitMate".vimrc.bundles,运行 BundleInstall

安装完直接就可以自动补全括号了。

Emmet

很多浏览器都支持 Emmet 插件,vim 同样也有。但这个 Emmet 是第三方的,叫 Emmet.vim。

安装完之后主要是设置一下出发的快捷键,默认的快捷键是 Ctrl + y
我把快捷键修改成 Ctrl + e 比较顺手。

</>复制代码

  1. " Emmet.vim
  2. let g:user_emmet_expandabbr_key = ""
目录树

目录树就基本上也就是使用 NERDTree。

开启目录树的快捷键修改为 Ctrl + b,然后当 vim 只剩目录树显示的时候自动退出。

</>复制代码

  1. " NERDTree
  2. map :NERDTreeToggle
  3. autocmd vimenter * NERDTree
  4. autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
补全

补全用的就是大名鼎鼎的 YouCompleteMe 了。

关于这个插件网上有很多插件,我就不啰嗦了。这里主要是抄的百度 EFE 的配置:

</>复制代码

  1. " YouCompleteMe
  2. " http://efe.baidu.com/blog/vim-javascript-completion/#youcompleteme
  3. let g:ycm_min_num_of_chars_for_completion = 3
  4. let g:ycm_autoclose_preview_window_after_completion=1
  5. let g:ycm_complete_in_comments = 1
  6. let g:ycm_key_list_select_completion = ["", ""]
  7. let g:ycm_key_list_previous_completion = ["", ""]
  8. " Use tab
  9. function! TabFunction ()
  10. let line = getline(".")
  11. let substr = strpart(line, -1, col(".")+1)
  12. let substr = matchstr(substr, "[^
  13. ]*$")
  14. if strlen(substr) == 0
  15. return ""
  16. endif
  17. return pumvisible() ? "" : ""
  18. endfunction
  19. inoremap =TabFunction()
  20. let g:ycm_semantic_triggers = {
  21. "css": [ "re!^s{2}", "re!:s+"],
  22. "html": [ "
  23. 总结
  24. 折腾了一下午,终于算是搞定了。其实过程还是蛮好玩的,有机会还想写写插件玩玩。

  25. 之后就抛弃 VS Code,开始 Vim 之旅感受一下双手不离键盘,效率爆棚的感觉。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24912.html

相关文章

  • vim的一段往事

    摘要:而函数跳转的那个问题也类似,一直也没有找到一个完美的解决方案。尝到甜头之后,开始尝试把公司的项目往上面迁,结果开发效率有了极大的提升,而更关键的是写代码变成了一件愉快的事情。 这就要从大学里面学c语言说起了,那个时候我们还在用古老的 visual c++ 6.0(满满的回忆有木有……),不过我唯一的印象只剩下了,嗯,这个东西真的很丑很难用,不过还好,不久就有了 visual studi...

    syoya 评论0 收藏0
  • 靡不有初,鲜克有终——写在VNote半周岁

    摘要:舒适的编辑体验通过语法高亮,最大地消除与生俱来的编辑和阅读的割裂感。所以,是不是又少了一个回到阅读模式的借口代码块语法高亮通过插件可以支持代码块里面的代码语法高亮,其他的编辑器好像没有支持。 首发于简书. showImg(https://segmentfault.com/img/remote/1460000009164987); 从去年的十一开始到今天,VNote已经半周岁了,也迭代到...

    roland_reed 评论0 收藏0
  • php函数中文帮助文档生成工具

    摘要:最后决定自己搞个工具,生成中文文档,方便自己,能方便他人那是最好了。写这工具的思路,就是遍历的所有函数,从中文手册上抓取对应的函数说明生成帮助文档,抓取数据和生成文档的功能是由完成。 最近开始撸php了。 俗话说‘工欲善其事,必先利其器’,近段时间一直在用vim做开发,所以免不了折腾一翻,把vim打造成php的ide。 而在撸php的过程中,比较头疼的就是php的函数了。我那小容量...

    Anchorer 评论0 收藏0
  • php函数中文帮助文档生成工具

    摘要:最后决定自己搞个工具,生成中文文档,方便自己,能方便他人那是最好了。写这工具的思路,就是遍历的所有函数,从中文手册上抓取对应的函数说明生成帮助文档,抓取数据和生成文档的功能是由完成。 最近开始撸php了。 俗话说‘工欲善其事,必先利其器’,近段时间一直在用vim做开发,所以免不了折腾一翻,把vim打造成php的ide。 而在撸php的过程中,比较头疼的就是php的函数了。我那小容量...

    Charlie_Jade 评论0 收藏0
  • window环境下搭建vim前端开发环境

    摘要:前端折腾记自从换了一个键盘之后,对的热情递增,终于找一个时间,静下心来折腾一下,在下使用着实蛋疼,不过前端开发要求不高,之前用,其实也没用到什么牛逼的插件,将就着用吧。 前端 window vim 折腾记 自从换了一个poker键盘之后,对vim的热情递增,终于找一个时间,静下心来折腾一下vim,在window下使用vim着实蛋疼,不过前端开发要求不高,之前用sublime,vscod...

    Bmob 评论0 收藏0

发表评论

0条评论

Joyven

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<