gvim配置
新项目在windows下开发的,虽然windows下的IDE都非常的强大,但以前一直用着vim,还是想在windows下继续继续用vim来看代码和写代码。
gvim目录
安装完gvim后在安装目录下有个文件_vimrc这个就是linux下的.vimrc,是vim的配置文件。还有个文件夹vimfiles,这个是安装vim插件的目录。
_vimrc配置
Vim有四个跟字符编码方式有关的选项,分别是:encoding、fileencoding、fileencodings、 termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们各自的意义:
* encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在 .vimrc 中改变它的值才有意义。
* fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
* fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
* termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。
* fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
* fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
* termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。
由于 Unicode 能够包含几乎所有的语言的字符,Unicode的 UTF-8 编码方式又是非常具有性价比的编码方式,因此encoding 的值设置为utf-8。同时将encoding设置为utf-8时,Vim自动探测文件的编码方式会更准确。在中文 Windows里编辑的文件,为了兼顾与其他软件的兼容性,文件编码还是设置为GB2312/GBK比较合适,因此fileencoding建议设置为 chinese (chinese 是个别名,在Unix里表示gb2312,在Windows里表示cp936,也就是GBK的代码页)。
最终对于文件中显示乱码、菜单乱码、右键菜单乱码以及Conlse输出乱码问题的解决方案,修改Vim编辑器所对应的配置文件_vimrc,添加如下配置:
"处理文本中显示乱码
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"处理菜单及右键菜单乱码
source $VIMRUNTIME/delmenu.vim 这个要在encoding后面
source $VIMRUNTIME/menu.vim
"处理consle输出乱码
language messages zh_CN.utf-8
最终对于文件中显示乱码、菜单乱码、右键菜单乱码以及Conlse输出乱码问题的解决方案,修改Vim编辑器所对应的配置文件_vimrc,添加如下配置:
"处理文本中显示乱码
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"处理菜单及右键菜单乱码
source $VIMRUNTIME/delmenu.vim 这个要在encoding后面
source $VIMRUNTIME/menu.vim
"处理consle输出乱码
language messages zh_CN.utf-8
上面这个配置是在网上copy来的,这里有个地方要注意下的,set encoding=utf-8这一行要放在source $VIMRUNTIME/delmenu.vim和 source $VIMRUNTIME/menu.vim的前面,否则菜单栏有可能是乱码。
set nocompatible
set hlsearch
set incsearch
set encoding=utf-8
set fileencodings=utf-8,gb18030,big5,latin1
set fileencoding=utf-8
set shiftwidth=4
set ts=4
set et
set ai
set number
set vb
set cindent
set nobackup
set nocp
set ignorecase
set foldmethod=marker
set mouse=a
let Tlist_Show_One_File=1
let Tlist_Use_Right_Window=1
let Tlist_Show_Menu=1
let Tlist_Auto_Open=1
let Tlist_Process_File_Always=1
augroup filetype
au! BufRead,BufNewFile *.proto setfiletype proto
au! BufRead,BufNewFile *.as setfiletype actionscript
augroup end
map gr :vimgrep <cword> **/*.lua **/*.c **/*.cpp **/*.h<CR>
syntax on
filetype plugin indent on
set hlsearch
set incsearch
set encoding=utf-8
set fileencodings=utf-8,gb18030,big5,latin1
set fileencoding=utf-8
set shiftwidth=4
set ts=4
set et
set ai
set number
set vb
set cindent
set nobackup
set nocp
set ignorecase
set foldmethod=marker
set mouse=a
let Tlist_Show_One_File=1
let Tlist_Use_Right_Window=1
let Tlist_Show_Menu=1
let Tlist_Auto_Open=1
let Tlist_Process_File_Always=1
augroup filetype
au! BufRead,BufNewFile *.proto setfiletype proto
au! BufRead,BufNewFile *.as setfiletype actionscript
augroup end
map gr :vimgrep <cword> **/*.lua **/*.c **/*.cpp **/*.h<CR>
syntax on
filetype plugin indent on
这是我在vimrc的配置,vimgrep是在vim编辑器中的搜索,使用方法:vimgrep <cword> faile 其中*是搜当前目录下的文件,**会递归搜索目录。
插件安装:
这个跟linux没什么差别,下载插件后放到插件目录下就可以,文档说明放到vimfiles下的doc,插件文件放到vimfiles下的plugin目录下。
常用的几个插件:nerdtree、taglist、ctags、bufexplore