打造最强IDE vim

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33894122/article/details/81957266

先安装 vundle

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

编辑~/.vimrc

然后将下面这个文件复制到 ~/ 目录下面。

然后直接运行vim,然后在底行模式下输入

:PlugInstall 			#前提虚拟机需要联网,这个命令会联网自动安装大部分插件

安装YouCompleteMe

先运行下列命令

sudo apt-get install aptitude				#解决包安装时依赖包版本吧问题
sudo aptitude install python-dev  python3-dev		#安装python-dev  python3-dev
sudo apt-get install build-essential cmake  		#安装build-essential cmake
cd ~/.vim/bundle/YouCompleteMe/				#到YouCompleteMe目录下
./install.py  --clang-completer				#编译源文件
cd third_party/ycmd/					#将配置文件放到~/.vim中
cp .ycm_extra_conf.py ~/.vim
apt-get install vim-nox					#vim版本问题,更新vim
sudo apt-get install vim-gnome-py2              	#安装完成之后还需要卸载旧版本vim,复制安装包位置即可否则会报错
#vim YouCompleteMe unavailable: requires Vim compiled with Python (2.7.1+ or

至此YouCompleteMe完美安装。

ctags

看代码跳转神器

1.在看某一工程源码前现在其最外层目录下执行

ctags -R  #递归的为当前目录及子目录下的所有代码文件生成tags文件
ctags filename.c filename1.c file.h 
ctags *.c *.h

vi -t tagname    #跳转到标签tagname定义的地方
vim -t main		 #就会直接跳转到main函数入口处

:ta tagname    	#跳转到标签tagname定义的地方
:ts					#列出所有匹配的tags
:[count]tp[revious]  #跳转至前 count 个 tag 处。
:[count]tn[ext]         #跳转至后 count 个 tag 处。
:tags    查看到达当前位置所经过的标签路径

ctrl+g  或者 :f    查看当前文件名和所在行号

shift+8    查找光标所在处的对象

2.vim打开之后可以跳转

Ctrl + ]				# 跳转第一个定义
Ctrl + t			# 返回跳转之前位置
:ts
:tn
:tp

cscope

貌似装了ctags就行了,一般不用cscope

cscope –b 				#建立文件中符号的数据库

如果是阅读linux kernel之类的代码,由于kernel中含有很多平台相关代码是不需要得,可以通过makefile和一些环境变量来实现只添加你希望添加的代码,去除一些别的平台的·代码。

export ARCH=arm
export CROSS_COMPILE=arm-hisiv300-linux-
make tags cscope				#同时导出ctags cscope文件

nerdcommenter插件

这是个方便vim注释的工具,是在上面~/.vimrc文件中自动安装的

\cc 			#注释当前行和选中行
\cs			# 添加性感的注释,代码开头介绍部分通常使用该注释
\cu			# 取消注释
\c<空格> 	#如果被选区域有部分被注释,则对被选区域执行取消注释操作,其它情况执行反转注释操作
\cm 			#对被选区域用一对注释符进行注释,前面的注释对每一行都会添加注释
\ci 			#执行反转注释操作,选中区域注释部分取消注释,非注释部分添加注释


命令 \cc 中的 \ 为<Leader>符,<Leader>符默认为 \
:help <Leader> 可查看该符号的说明文档
在.vimrc中添加let mapleader = ","可将<Leader>符变为,

CtrlP插件

也是在上面这个文件自动安装的

ctrl + p 					#在normal模式下 自动进入插件模式
ESC						#退出插件模式,CtrlP串口也会消失

* <f5> 更新目录缓存。
* <c-f> / <c-b> 在模式之间切换
* <c-d> 在”完整路径匹配“ 和 ”文件名匹配“ 之间切换
* <c-r> 在“字符串模式” 和 “正则表达式模式” 之间切换
* <c-j> / <c-k> 上下移动光标* <c-t> 在新的 tab 打开文件
* <c-v> 垂直分割打开
* <c-x> 水平分割打开
* <c-p>, <c-n> 选择历史记录
* <c-y> 文件不存在时创建文件及目录
* <c-z> 标记/取消标记, 标记多个文件后可以使用 <c-o> 同时打开多个文件

a.vim

方便在阅读C代码时在头文件与源文件间切换

:A		# 直接切换.c .h文件
:AV	# 打开.c 或.h文件

easymotion

相比于hjklf来说移动速度大大提高

    ,,f
    ,,s
    ,,w
    ,,b

vim-airline插件

美化状态栏

let g:airline_theme="luna" 

"这个是安装字体后 必须设置此项" 
let g:airline_powerline_fonts = 1   
 
 "打开tabline功能,方便查看Buffer和切换,这个功能比较不错"
 "我还省去了minibufexpl插件,因为我习惯在1个Tab下用多个buffer"
 let g:airline#extensions#tabline#enabled = 1
 let g:airline#extensions#tabline#buffer_nr_show = 1

 "设置切换Buffer快捷键"
 nnoremap <C-N> :bn<CR>
 nnoremap <C-P> :bp<CR>

 " 关闭状态显示空白符号计数,这个对我用处不大"
 let g:airline#extensions#whitespace#enabled = 0
 let g:airline#extensions#whitespace#symbol = '!'

" 在Gvim中我设置了英文用Hermit, 中文使用 YaHei Mono "
if has('win32')
  set guifont=Hermit:h13
  set guifontwide=Microsoft_YaHei_Mono:h12
endif

vim-fugitive插件

还不会用之后来补充

分屏操作

一般直接使用vim自带的分屏功能即可,也可以使用tumx等工具

:vsp			# 左右分屏
:sp			# 上下分屏

gitgutter

显示git操作,插入删除都可以直接显示出来,不需要多余设置

whitespace

显示不符合代码规范的空格、制表符为红色

tabular

Vim 文本对齐插件 tabular

冒号对齐::Tab /:
逗号对齐::Tab /,
运行上一个对齐命令 :Tab
// 对齐(需要 escape): :Tab /\/\/
:Tabularize /,/r1c1l0 含义是:对齐指定区域的文本,以逗号分割。将第一个逗号前的所有文本右对齐,然后添加一个空格;将逗号居中对齐,然后添加一个空格;然后将逗号后所有文本左对齐,不添加空格(添加 0 个空格)。
展开阅读全文

没有更多推荐了,返回首页