AJax技术

Vim 配置、插件和使用技巧

字号+ 作者:H5之家 来源:H5之家 2018-04-23 11:06 我要评论( )

vim_cheat_sheet_for_programmers.png 常言道:工欲善其事,必先利其器 ,作为一个程序员,一个常用的工具就是 编辑器 ,我选择一个能极大提高自己开发效率的编

vim_cheat_sheet_for_programmers.png

常言道:工欲善其事,必先利其器 ,作为一个程序员,一个常用的工具就是 编辑器 ,我选择一个能极大提高自己开发效率的编辑器 vim (有些人可能选择 emacs )。而 vim 编辑器方面具有以下几种特性:

配置

如果你需要配置vim,只需在Home目录创建一个 ~/.vimrc 文件即可以配置vim了,可以参考我的 vimrc 配置文件。由于我需要安装插件,并且将需要安装的插件列表分离到另外一个文件 ~/.vimrc.bundles ,这个文件也是存放在Home目录,文件内容可以参考 vimrc.bundles 。若想加载 ~/.vimrc.bundles 文件,必须在 ~/.vimrc 文件加入以下代码片段:

if filereadable(expand("~/.vimrc.bundles"))source ~/.vimrc.bundlesendif插件插件管理工具vunble

vundle 是vim的插件管理工具,它能够搜索、安装、更新和移除vim插件,再也不需要手动管理vim插件。

安装插件

bundle分为三类,比较常用就是 第二种 :

Bundle Type.png

将安装的插件在 ~/.vimrc 配置,但是我是将插件配置信息放在 ~/.vimrc.bundles :

" Define bundles via Github reposBundle 'christoomey/vim-run-interactive'Bundle 'Valloric/YouCompleteMe'Bundle 'croaky/vim-colors-github'Bundle 'danro/rename.vim'Bundle 'majutsushi/tagbar'Bundle 'kchmck/vim-coffee-script'Bundle 'kien/ctrlp.vim'Bundle 'pbrisbin/vim-mkdir'Bundle 'scrooloose/syntastic'Bundle 'slim-template/vim-slim'Bundle 'thoughtbot/vim-rspec'Bundle 'tpope/vim-bundler'Bundle 'tpope/vim-endwise'Bundle 'tpope/vim-fugitive'Bundle 'tpope/vim-rails'Bundle 'tpope/vim-surround'Bundle 'vim-ruby/vim-ruby'Bundle 'vim-scripts/ctags.vim'Bundle 'vim-scripts/matchit.zip'Bundle 'vim-scripts/tComment'Bundle "mattn/emmet-vim"Bundle "scrooloose/nerdtree"Bundle "Lokaltog/vim-powerline"Bundle "godlygeek/tabular"Bundle "msanders/snipmate.vim"Bundle "jelera/vim-javascript-syntax"Bundle "altercation/vim-colors-solarized"Bundle "othree/html5.vim"Bundle "xsbeats/vim-blade"Bundle "Raimondi/delimitMate"Bundle "groenewege/vim-less"Bundle "evanmiller/nginx-vim-syntax"Bundle "Lokaltog/vim-easymotion"Bundle "tomasr/molokai"Bundle "klen/python-mode"

打开vim,运行 :BundleInstall 或在shell中直接运行 vim +BundleInstall +qall

Install Bundle.png

常用插件

NERD Tree

NERD Tree 是一个树形目录插件,方便浏览当前目录有哪些目录和文件。

NERD Tree Plugin Bundle.png

我在 ~/.vimrc 文件中配置NERD Tree,设置一个启用或禁用 NERD Tree 的键映射

nmap <F5> :NERDTreeToggle<cr>

NERD Tree Configuration.png

所以你只需按 F5 键就能启用或禁用 NERD Tree ,NERD Tree提供一些常用快捷键来操作目录:

YouCompleteMe & syntastic

YouCompleteMe 是一个快速、支持模糊匹配的vim代码补全引擎。由于它是基于 Clang 引擎为C/C++/Objective-C提供代码提示,也支持其他语言代码提示的引擎,例如基于 Jedi 的Python代码补全,基于 OmniSharp 的C#代码补全,基于 Gocode 的Go代码补全。

YouCompleteMe.gif

只需敲入代码,就自动提示想输入的代码列表,你可以选择其中一个,然后 tab 键就可以补全代码。

YouCompleteMe已经集成了 Syntastic ,所以一旦你编写代码时语法错误,就会有红色错误提示

syntastic.png

ctrlp

不知道你有没有遇到这样一种情况:在大规模的工程项目中,目录和文件嵌套比较深,打开一个文件要逐个逐个进入目录才能打开,这样的话,比较耗时间和效率很低, ctrlp 重新定义打目录和文件方式,特别适用于大规模项目文件的浏览。

启用ctrlp基本使用

演示视频

具体如何使用ctrlp,请参考happypetterd的 演示视频 ,讲解非常清楚。

Vim Powerline

Vim Powerline 是一个显示vim状态栏插件,它能够显示vim模式、操作环境、编码格式、行数/列数等信息

Vim Powerline.png

Molokai

Molokai 是vim颜色主题,效果如下

Molokai Color Scheme for Vim.png

常用命令

对于入门vim基本命令可以参考 简明 Vim 练级攻略 ,以下是本人关于 移动光标 、 插入/修改 、 删除 、 复制 、 粘帖 、 撤销和恢复 等常用命令

扩展阅读

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Ajax请求报错 “CAUTION: Provisional headers are shown”

    Ajax请求报错 “CAUTION: Provisional headers are shown”

    2018-02-10 16:04

  • Google Web Toolkit(GWT)的使用技巧和技术资源

    Google Web Toolkit(GWT)的使用技巧和技术资源

    2018-01-25 10:09

  • 基于Bootstrup 3可预览的HTML5文件上传插件,Ajax上传方式,如何

    基于Bootstrup 3可预览的HTML5文件上传插件,Ajax上传方式,如何

    2018-01-21 15:06

  • ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上

    ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上

    2017-12-09 13:02

网友点评