写代码时经常要抬手去弄鼠标选位置,导致胳膊很酸,为了解决这个问题,使用vim来编辑文件了。
原文网址: http://my.oschina.net/zhangdapeng89/blog/81172
1, 安装gvim
到Gvim网站http://www.vim.org/download.php
下载exe文件,然后直接安装就好了,具体哪个目录自己选择,对后面的配置没有什么影响。(安装过程我这里就不描述了),下图是安装后的结果图
安装后的结构目录如下图
2, 开始配置Gvim
2.1 安装vim中文帮助文档
下载地址http://vimcdoc.sourceforge.net/这里面有最新的发布
我这里下载的是:
直接安装就可以了。
打开Gvim在命令行模式输入:help,会出现如下的结果
安装成功,没有中文乱码问题。
2.2 编辑界面的基本配置
1 |
set expandtab "设置tab |
2 |
set shiftwidth=4 "设置tab的间隔 |
3 |
set tabstop=4 "四个空格代表一个tab |
4 |
set sts=4 |
5 |
set showmatch "在输入括号时光标会短暂地跳到与之相匹配的括号处 |
6 |
set autoindent "设置自动缩进 |
7 |
" set smartindent " 设置智能缩进 |
8 |
set nowrap "设置自动换行 |
1 |
colorscheme blue " 主题设置 |
2 |
set number " 显示行号 |
3 |
set guifont=Monospace\ 11 " 设置字体大小 |
4 |
set helplang=cn " 帮助中文支持 |
5 |
syntax enable |
6 |
syntax on |
配置后的结果显示如下图
还不错,主题的选择也可以自己设置,在vim目录下面有个colors文件夹,改成对应的文件名就好了,如下图
2.3 配置程序跳转
下载ctags,下载地址为http://www.vim.org/scripts/script.php?script_id=2288
将下载的文件放在vim的根目录下
然后cmd进入这个目录,执行ctags.exe –R,如果没有问题会生成tags文件,再在配置文件中加入
1 |
set tags=$VIMRUNTIME/tags; |
2 |
set autochdir |
然后运行vim
将光标放到某一函数名上,按下"ctrl+]",光标会自动跳转到定义处
2.4 安装并配置窗口管理
下载taglist 下载地址:http://www.vim.org/scripts/script.php?script_id=273
打开文件后,将对应文件夹中的文件解压到对应的文件中
对应的文件夹目录,如下图
在_vimrc文件中加入以下内容:
1 |
let Tlist_Show_One_File=1 |
2 |
let Tlist_Exit_OnlyWindow=1 |
3 |
map <F3> :TlistToggle<CR> |
4 |
let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边 |
用gvim打开代码文件(已生成过tags文件),:TlistToggle(或者按F3也可以),TagList窗口即出现在左侧。
下载winmanager 下载地址:http://www.vim.org/scripts/script.php?script_id=95
用跟taglist相同的方法将winmanager.zip解压和拷贝,在_vimrc文件中加入以下内容:
let g:winManagerWindowLayout='FileExplorer|TagList'
map wm :WMToggle<cr>
用gvim打开代码文件,normal状态下输入命令"wm",窗口如下
2.5 安装并配置多文件编辑
下载minibufexpl.vim 下载地址:http://www.vim.org/scripts/script.php?script_id=159
将此文件保存在plugin目录下面
在_vimrc中添加
1 |
let g:miniBufExplMapWindowNavVim = 1 |
2 |
let g:miniBufExplMapWindowNavArrows = 1 |
3 |
let g:miniBufExplMapCTabSwitchBufs = 1 |
4 |
let g:miniBufExplModSelTarget = 1 |
ctrl+Tab,切换到前一个buffer,并在当前窗口打开文件;
ctrl+shift+Tab,切换到后一个buffer,并在当前窗口打开文件;
ctrl+箭头键,可以切换到上下左右窗口中;
ctrl+h,j,k,l,切换到上下左右的窗口中。
效果图:
最终的vim配置文件内容:
01 |
set nocompatible |
02 |
source $VIMRUNTIME/vimrc_example.vim |
03 |
source $VIMRUNTIME/mswin.vim |
04 |
behave mswin |
05 |
06 |
set diffexpr=MyDiff() |
07 |
function MyDiff() |
08 |
let opt = '-a --binary ' |
09 |
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif |
10 |
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif |
11 |
let arg1 = v :fname_in |
12 |
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif |
13 |
let arg2 = v :fname_new |
14 |
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif |
15 |
let arg3 = v :fname_out |
16 |
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif |
17 |
let eq = '' |
18 |
if $VIMRUNTIME =~ ' ' |
19 |
if &sh =~ '\<cmd' |
20 |
let cmd = '""' . $VIMRUNTIME . '\diff"' |
21 |
let eq = '"' |
22 |
else |
23 |
let cmd = substitute($VIMRUNTIME, ' ' , '" ' , '' ) . '\diff"' |
24 |
endif |
25 |
else |
26 |
let cmd = $VIMRUNTIME . '\diff' |
27 |
endif |
28 |
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq |
29 |
endfunction |
30 |
" ==============我的配置================== |
31 |
set expandtab "设置tab |
32 |
set shiftwidth=4 "设置tab的间隔 |
33 |
set tabstop=4 "四个空格代表一个tab |
34 |
set sts=4 |
35 |
set showmatch "在输入括号时光标会短暂地跳到与之相匹配的括号处 |
36 |
set autoindent "设置自动缩进 |
37 |
" set smartindent " 设置智能缩进 |
38 |
set nowrap "设置自动换行 |
39 |
colorscheme blue " 主题设置 |
40 |
set number " 显示行号 |
41 |
set guifont=Monospace\ 11 " 设置字体大小 |
42 |
set helplang=cn " 帮助中文支持 |
43 |
syntax enable |
44 |
syntax on |
45 |
" =============配置跳转 |
46 |
set tags=$VIMRUNTIME/tags; |
47 |
set autochdir |
48 |
49 |
" taglist 配置 |
50 |
let Tlist_Show_One_File=1 |
51 |
let Tlist_Exit_OnlyWindow=1 |
52 |
let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边 |
53 |
map <F3> :TlistToggle<CR> |
54 |
" winmanager配置 |
55 |
let g:winManagerWindowLayout= 'FileExplorer|TagList' |
56 |
map wm :WMToggle<cr> |
这里没有考虑对应的语言:
可以参考我的vim配置(ubuntu)是一个php语言的配置