vim设置及IDE增强
vim是linux下的文件编辑神器,牛X的开发大神开发出来的东西不是用eclipse这样的IDE工具,而是vim 。具体增强设置如下(该处以ubunbu类系统为例)。
一、安装
1$ sudo apt-get install vim vim-gtk cscope
编辑vimrc文件:
1$cat .vimrc
2set tabstop=4 " 设置tab键的宽度
3set shiftwidth=4 " 换行时行间交错使用4个空格
4set autoindent " 自动对齐
5set backspace=2 " 设置退格键可用
6set cindent shiftwidth=4 " 自动缩进4空格
7set smartindent " 智能自动缩进
8set ai! " 设置自动缩进
9set nu! " 显示行号
10set showmatch " 显示括号配对情况
11set hlsearch " 开启高亮显示结果
12set incsearch " 开启实时搜索功能
13set nowrapscan " 搜索到文件两端时不重新搜索
14"set cursorline " 突出显示当前行
15"set hidden " 允许在有未保存的修改时切换缓冲区
16"set list " 显示Tab符,使用一高亮竖线代替
17syntax enable " 打开语法高亮
18syntax on " 开启文件类型侦测
19filetype on "
20filetype indent on " 针对不同的文件类型采用不同的缩进格式
21filetype plugin on " 针对不同的文件类型加载对应的插件
22set nobackup " 设置无备份文件
23set nocompatible " 不使用vi兼容的模式
二、插件增强
1、Taglist 标签查看插件
1先安装ctags:sudo apt-get install exuberant-ctags
2下载:http://www.vim.org/scripts/script.php?script_id=273
3安装:解压到 ~/.vim/
4生成帮助标签:helptags ~/.vim/doc(在Vim命令中执行)
5启动:TlistToggle(在Vim命令中执行)
2、Eclim 把Eclipse的功能集成到Vim中的插件
具体可以参考:http://eclim.org/install.html (可能需要翻墙)
3、CommandT 快速打开文件的插件
1下载:http://www.vim.org/scripts/download_script.php?src_id=18167
2$ rvm install 1.8.7 // 必须使用1.8.7
3$ rvm use 1.8.7
4$ vim command-t-1.4.vba // :so %
5$ cd ~/.vim/ruby/command-t
6$ ruby extconf.rb
7$ make
4、Pathogen 自动加载插件
安装:
1$ mkdir -p ~/.vim/autoload ~/.vim/bundle
2$ curl -so ~/.vim/autoload/pathogen.vim https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
编辑.bashrc文件,增加下面一行
1call pathogen#infect()
生成bundle目录下插件的帮助文档
1:Helptags
5、NERDTree 文件浏览插件
1$ cd ~/.vim/bundle
2$ git clone https://github.com/scrooloose/nerdtree.git
3:Helptags 生成帮助文档
4:help NERD_tree.txt 查看帮助文档
插件安装
1$ mkdir ~/.vim && cd ~/.vim
2$ git init
3$ git add .
4$ git commit -m 'init'
5$ git remote add origin [email protected]:linguofeng/vim.git
6$ git push origin master
7$ mkdir ~/.vim/bundle
8$ git submodule add git://github.com/tpope/vim-pathogen.git bundle/vim-pathogen
9$ vim ~/.vimrc
10# 增加如下内容
11runtime bundle/vim-pathogen/autoload/pathogen.vim
12call pathogen#infect()
bufexplorer
1$ git submodule add https://github.com/vim-scripts/bufexplorer.zip.git bundle/bufexplorer
2$ git add .
3$ git commit -m 'install bufexporer plugin'
生成插件文档
1$ vim >> :Helptags # 启动vim后执行Helptags命令
2$ vim ~/.vim/.gitmodules
3>> [submodule "bundle/vim-pathogen"]
4>> path = bundle/vim-pathogen
5>> url = git://github.com/tpope/vim-pathogen.github
6>> ignore = untracked // 添加此项不提交生成的帮助文件
升级插件
1$ cd ~/.vim/bundle/xxx && git pull origin master # 更新某个插件
2$ cd ~/.vim/ && git submodule foreach git pull origin master # 更新所有插件
删除插件
1$ cd ~/.vim && git rm bundle/xxx
同步到github
1$ git add .
2$ git commit -m '添加插件'
3$ git push origin master
同步到另一台电脑
1$ git clone [email protected]:linguofeng/vim.git ~/.vim
2$ ln -s ~/.vim/vimrc ~/.vimrc
3$ cd ~/.vim
4$ git submodule init
5$ git submodule update
6、安装cscope与vim插件
1$ sudo apt-get install cscope
2$ curl -so ~/.vim/bundle/cscope/plugin/cscope_maps.vim http://cscope.sourceforge.net/cscope_maps.vim
3$ cscope -Rbkq ~/test/vimtest/zombie_game # 此时在zombie_game文件夹中生成cscope.out文件
4$ gvim # 启动gvim(下面都是vim命令)
5 :pwd # 查看当前vim的工作目录
6 :cd ~/workspace # 改变当前vim的工作目录为workspace
7 :cs add ~/test/vimtest/zombie_game/cscope.out ~/test/vimtest/zombie_game # 添加cscope.out到cscope数据库中,对应路径,否则会出现找不到文件的错误。
8 :cs show # 查看已经连接的数据库
9 :cs kill cscope.out # 断开已经连接的数据库
10 :cs f g symbol # 对应快捷键 Ctrl+]
Ctrl+] :进入这个函数
Ctrl+T :返回搜索前的位置
7、生成工程的cscope.files并生成cscope.out
1# 切换当前vim工作目录为工程目录
2$ cd /path/to/project
3# 搜索当前目录下所有.h、.c、.cpp文件并生成cscope.files文件列表
4$ find . -name '*.h' -o -name '*.c' -o -name '*.cpp' > cscope.files
5$ cscope -b
6# 根据cscope.files生成cscope.out数据库文件
7$ vim # 在当前工程里启动vim,然后执行下面的命令连接cscope.out数据库,在前面加上的路径是(.)
8 :cs add cscope.out .
三、技巧
1、替换(substitute)
1:[range]s/source/destination/[option]
2range: 范围
3 1,20 从第1行到20行
4 % 整个文件
5 .,$ 从当前行到末尾
6 1,$ 从第1行到末尾
7s: 替换操作
8source: 原内容
9destination: 目标内容
10option: 参数,省略时显替换第一个匹配的词
11 g: 全局替换
12 c: 需要确认替换
13 p: 逐行替换
14 i: 不区分大小写
15 e: 不显示error
2、去掉^M字符
1:%s/^M//g
2^M是由 Ctrl-V + Ctrl-M 生成的。
3、 tab替换成空格
1:set tabstop=4 ==
2:set shiftwidth=4 ||=> 添加到.vimrc配置文件中,则可直接执行retab
3:set expandtab ==
4:retab
5tabstop tab键的宽度
6shiftwidth 换行时使用4个空格
7expandtab 使用空格替换tab
8retab 把所有tab替换成tabstop宽度的空格
具体参考:http://vim.wikia.com/wiki/Converting_tabs_to_spaces
4、文件格式
1:set fileformat=unix
2:set fileformat=dos
3:set fileformat=mac
4unix 表示是unix下的文件格式
5dos windows下的文件格式
6mac 苹果下的文件格式
5、 窗口管理快捷键
1ctrl + w, h --> 选择左边窗口,存在的话
2ctrl + w, j --> 选择下边窗口
3ctrl + w, k --> 选择上边窗口
4ctrl + w, l --> 选择右边窗口
5ctrl + w, w --> 逆时针选择窗口
6ctrl + w, s --> 水平拆分窗口
7ctrl + w, v --> 垂直拆分窗口
8ctrl + w, n --> 新建一个窗口
9ctrl + w, q --> 关闭窗口
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/vim-expand/2750.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.