大佬教程收集整理的这篇文章主要介绍了Vim配置、插件和使用技巧,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
常言道:工欲善其事,必先利其器 ,作为一个程序员,一个常用的工具就是编辑器,我选择一个能极大提高自己开发效率的编辑器vim(有些人可能选择emacs)。而vim编辑器方面具有以下几种特性:
跨平台及统一环境
无论是在windows还是在*nix,vim是一个很完美的跨平台文本编辑器,甚至可以直接在服务器平台CentOS,Ubuntu等直接配置使用,配置文件大同小异,操作习惯基本相同。
定制化及可扩展
vim提供一个vimrc的配置文件来配置vim,并且自己可以定制一些插件来实现文件浏览(NERD Tree),代码补全(YouCompleteMe,语法检查(syntastic),文件模糊搜索(ctrlp),显示vim状态栏(Vim Powerline),主题颜色(Molokai),显示文件结构(tagbar)等多种功能。
高效命令行
使用vim编辑文本,只需在键盘上操作就可以,根本无需用到鼠标。就拿光标移动来说,与重复击键、一个字符一个字符或一行一行移动相比,按一次键就能以词、行、块或函数为单位移动,效率高得多。有时一些重复删除、粘帖的操作,也只需一条命令就可以完成,甚至你可以用键映射来简化或组合多种命令来提高效率。
如果你需要配置vim,只需在Home目录创建一个~/.vimrc文件即可以配置vim了,可以参考我的vimrc配置文件。由于我需要安装插件,并且将需要安装的插件列表分离到另外一个文件~/.vimrc.bundles,这个文件也是存放在Home目录,文件内容可以参考vimrc.bundles。若想加载~/.vimrc.bundles文件,必须在~/.vimrc文件加入以下代码片段:
if filereadable(expand("~/.vimrc.bundles")) source ~/.vimrc.bundles endif
vundle是vim的插件管理工具,它能够搜索、安装、更新和移除vim插件,再也不需要手动管理vim插件。
安装vundle
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc()但实际上我是添加一个~/.vimrc.bundles文件来保存所有插件的配置,必须在~/.vimrc文件加入以下代码片段:
if filereadable(expand("~/.vimrc.bundles")) source ~/.vimrc.bundles endif而~/.vimrc.bundles文件内容必须包含:
filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc()你可以复制到我~/.vimrc.bundles文件到Home目录。
bundle分为三类,比较常用就是第二种:
将安装的插件在~/.vimrc配置,但是我是将插件配置信息放在~/.vimrc.bundles:
" Define bundles via Github repos Bundle '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
NERD Tree
NERD Tree是一个树形目录插件,方便浏览当前目录有哪些目录和文件。
我在~/.vimrc文件中配置NERD Tree,设置一个启用或禁用NERD Tree的键映射
nmap <F5> :NERDTreeToggle<cr>
所以你只需按F5键就能启用或禁用NERD Tree,NERD Tree提供一些常用快捷键来操作目录:
YouCompleteMe & syntastic
YouCompleteMe是一个快速、支持模糊匹配的vim代码补全引擎。由于它是基于Clang引擎为C/C++/Objective-C提供代码提示,也支持其他语言代码提示的引擎,例如基于Jedi的Python代码补全,基于OmniSharp的C#代码补全,基于Gocode的Go代码补全。
只需敲入代码,就自动提示想输入的代码列表,你可以选择其中一个,然后tab键就可以补全代码。
YouCompleteMe已经集成了Syntastic,所以一旦你编写代码时语法错误,就会有红色错误提示
ctrlp
不知道你有没有遇到这样一种情况:在大规模的工程项目中,目录和文件嵌套比较深,打开一个文件要逐个逐个进入目录才能打开,这样的话,比较耗时间和效率很低,ctrlp重新定义打目录和文件方式,特别适用于大规模项目文件的浏览。
启用ctrlp
基本使用
演示视频
具体如何使用ctrlp,请参考happypetterd的演示视频,讲解非常清楚。
Vim Powerline
Vim Powerline是一个显示vim状态栏插件,它能够显示vim模式、操作环境、编码格式、行数/列数等信息
Molokai是vim颜色主题,效果如下
@H_673_214@
对于入门vim基本命令可以参考 简明 Vim 练级攻略,以下是本人关于移动光标、插入/修改、删除、复制、粘帖、撤销和恢复等常用命令
移动光标
对于在行内移动,通过使用f/F + 字符来移动到特定的字符,然后再使用. 来重复执行命令;f表示向前移动,F表示向后移动。如果想直接移动到行首或行尾,使用^或$
对于在多行移动,就有多种选择:第一种是通过gg,G,行数 + G指定行数来移动,gg表示移动文件的第一行,G表示移动文件的最后一行,行数 + G表示移动到特定的行。第二种就是通过正则搜索的方式来移动,/String表示正向查找,?String表示反向查找,n查找下一个匹配的结果,N表示上一个匹配的结果,按up/down可以浏览搜索历史。第三种就是使用标记来移动,m + {a-z}标记位置(适用于单个文件,如果是多个文件,使用大写字母{A-Z}),`{mark}移动到标记位置的列,'{mark} 移动到标记位置的行首,还有一些特殊的标记,'表示跳转前光标的位置
选择文本
v不规则选择
V按行选择
Ctrl + V按列选择
插入/修改
i在当前字符前面插入
I在行首插入
a在当前字符后面插入
A在行尾插入
o在当前行的下一行插入
O在当前行的上一行插入
r更改当前的字符
R更改多个字符
cw/caw更改单词
cf + 字符更改从当前字符到指定字符
c$更改从当前字符到行尾
cc更改整行
删除
x删除字符
df + 字符删除从当前字符到指定字符
dw/daw删除单词
d$删除从当前光标到行尾
dd删除一行
剪切与粘帖
dd + pdelete一行,然后放在当前光标下方
dd + Pdelete一行,然后放在当前光标上方
dw + p delete单词,然后放在当前光标后面
dw + P delete单词,然后放在当前光标前面
p/P可接受计数前缀,重复粘贴
复制
yw复制单词
yf复制从当前字符到指定字符
y$复制当前光标到行尾
yy复制整行
撤销和恢复
u撤销
ctrl + r重做
重复操作
数字+action表示执行某个操作多少次
.重复上一个操作
以上是大佬教程为你收集整理的Vim配置、插件和使用技巧全部内容,希望文章能够帮你解决Vim配置、插件和使用技巧所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。