摘要:自己用的编辑器还是想自己折腾,然后今天就趁着我对这个还有点热度赶紧折腾起来。在的文章里面有提到中文版本的帮助文档,遂下载之。果然还是中文的比较浅显易懂。这里主要是抄的百度的配置总结折腾了一下午,终于算是搞定了。
原文地址:http://www.ahonn.me/2017/02/1...
昨天在微信读书上面看到了池建强的《MacTalk 人生元编程》,然后花了差不多一天看完,其中有篇有关于 Vim 的文章提起了我对这个编辑器的再一次兴趣(对的,我对它感兴趣很多次了,每次都懒..)。
一直懒得去慢慢配置它,又不想用别人的配置。自己用的编辑器还是想自己折腾,然后今天就趁着我对这个还有点热度赶紧折腾起来。
MacVim其实在命令行里面直接写代码还有有些不习惯的,所以选了 MacVim 这个 GUI 版本。这样又可以与其他编辑器一样多带带打开,想小改代码的时候又可以直接打开命令行搞。
在 MacTalk 的文章里面有提到 Vim 中文版本的帮助文档,遂下载之。果然还是中文的比较浅显易懂。
以前看别人的 .vimrc 配置,里面有些编辑器的基本配置,也不知道是哪里查的。原来这些配置可以在编辑器中输入 :help options 进行查看。
缩进关于缩进的配置,主要设置了 autoindent, smartindent 和 expandtab 这三个选项。
autoindent 选项根据上一行决定新行的缩进
smartindent 选项智能自动缩进
expandtab 选项将 tab 转换为空格
set autoindent set smartindent set expandtab行号
显示行号是硬需求,但是与其他编辑器不同,在 vim 上还有相对行号。
set number set relativenumber插件
显而易见,手动安装 vim 插件是很麻烦很麻烦的。与 sublime text 之类的类似,vim 同样有类似的插件管理器 Vundle。
创建文件夹 ~/.vim 和配置文件 ~/.vimrc,并安装 Vundle:
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
为了方便管理再新建一个 .vimrc.bundles 来多带带存放插件列表:
set nocompatible " be iMproved, required filetype off " requried set rtp+=~/.vim/bundle/vundle/ call vundle#begin() " Let Vundle manage Vundle Bundle "gmarik/vundle" " .... 其他插件 call vundle#end() " required filetype plugin indent on
以后添加插件的时候只需要在这个文件里面添加一行:
Bundle "xxx"
安装插件输入 :BundleInstall 命令即可,卸载插件时删除对应的配置并运行 :BundleClean 删除插件。
括号补全第一次用的时候,输入 ( 居然没有自己蹦出来另外一个 )。这不科学,讲道理这个是一定要的。
发现很多人用的是 delimitMate ,添加 Bundle "delimitMate" 到 .vimrc.bundles,运行 BundleInstall。
安装完直接就可以自动补全括号了。
Emmet很多浏览器都支持 Emmet 插件,vim 同样也有。但这个 Emmet 是第三方的,叫 Emmet.vim。
安装完之后主要是设置一下出发的快捷键,默认的快捷键是 Ctrl + y。
我把快捷键修改成 Ctrl + e 比较顺手。
" Emmet.vim let g:user_emmet_expandabbr_key = "目录树"
目录树就基本上也就是使用 NERDTree。
开启目录树的快捷键修改为 Ctrl + b,然后当 vim 只剩目录树显示的时候自动退出。
" NERDTree map补全:NERDTreeToggle autocmd vimenter * NERDTree autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
补全用的就是大名鼎鼎的 YouCompleteMe 了。
关于这个插件网上有很多插件,我就不啰嗦了。这里主要是抄的百度 EFE 的配置:
" YouCompleteMe " http://efe.baidu.com/blog/vim-javascript-completion/#youcompleteme let g:ycm_min_num_of_chars_for_completion = 3 let g:ycm_autoclose_preview_window_after_completion=1 let g:ycm_complete_in_comments = 1 let g:ycm_key_list_select_completion = ["总结", " "] let g:ycm_key_list_previous_completion = [" ", " "] " Use tab function! TabFunction () let line = getline(".") let substr = strpart(line, -1, col(".")+1) let substr = matchstr(substr, "[^ ]*$") if strlen(substr) == 0 return " " endif return pumvisible() ? " " : " " endfunction inoremap =TabFunction() let g:ycm_semantic_triggers = { "css": [ "re!^s{2}", "re!:s+"], "html": [ "" ], }
折腾了一下午,终于算是搞定了。其实过程还是蛮好玩的,有机会还想写写插件玩玩。
之后就抛弃 VS Code,开始 Vim 之旅感受一下双手不离键盘,效率爆棚的感觉。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24912.html
摘要:舒适的编辑体验通过语法高亮,最大地消除与生俱来的编辑和阅读的割裂感。所以,是不是又少了一个回到阅读模式的借口代码块语法高亮通过插件可以支持代码块里面的代码语法高亮,其他的编辑器好像没有支持。 首发于简书. showImg(https://segmentfault.com/img/remote/1460000009164987); 从去年的十一开始到今天,VNote已经半周岁了,也迭代到...
摘要:最后决定自己搞个工具,生成中文文档,方便自己,能方便他人那是最好了。写这工具的思路,就是遍历的所有函数,从中文手册上抓取对应的函数说明生成帮助文档,抓取数据和生成文档的功能是由完成。 最近开始撸php了。 俗话说‘工欲善其事,必先利其器’,近段时间一直在用vim做开发,所以免不了折腾一翻,把vim打造成php的ide。 而在撸php的过程中,比较头疼的就是php的函数了。我那小容量...
摘要:最后决定自己搞个工具,生成中文文档,方便自己,能方便他人那是最好了。写这工具的思路,就是遍历的所有函数,从中文手册上抓取对应的函数说明生成帮助文档,抓取数据和生成文档的功能是由完成。 最近开始撸php了。 俗话说‘工欲善其事,必先利其器’,近段时间一直在用vim做开发,所以免不了折腾一翻,把vim打造成php的ide。 而在撸php的过程中,比较头疼的就是php的函数了。我那小容量...
摘要:前端折腾记自从换了一个键盘之后,对的热情递增,终于找一个时间,静下心来折腾一下,在下使用着实蛋疼,不过前端开发要求不高,之前用,其实也没用到什么牛逼的插件,将就着用吧。 前端 window vim 折腾记 自从换了一个poker键盘之后,对vim的热情递增,终于找一个时间,静下心来折腾一下vim,在window下使用vim着实蛋疼,不过前端开发要求不高,之前用sublime,vscod...
阅读 663·2021-11-24 09:39
阅读 2320·2021-11-22 13:54
阅读 2199·2021-09-23 11:46
阅读 3247·2019-08-30 15:55
阅读 2680·2019-08-30 15:54
阅读 2405·2019-08-30 14:18
阅读 1547·2019-08-29 14:15
阅读 2733·2019-08-29 13:49