这份 vimrc 是修改 Windows 版 gVim 默认创建的 vimrc 而来,未做高级定制,修改/添加的代码主要做以下几件事:
1、兼容 Windows、Unix,GUI 版一致采用 Windows 操作习惯。
2、设置内码为 UTF-8,但设置默认文件编码为 GBK,并协调 GUI、终端等各处编码设置。
3、配置编码识别规则,除了简繁体、Unicode 识别外,还增加了对于 7bit ASCII 升级为 GBK 而不是 UTF-8 的处理。
4、编码相关的字体及字符宽度设置。
这套配置支持 Windows vim7.3/UNIX vim7.0 及以上版本的 vim。建议编译最新版,相比旧版更加完善和稳定。
Windows 版需要 iconv 支持,要在 Vim 目录或系统搜索路径中有 iconv.dll。
UNIX 上编译一定要记得开启 multibyte 支持,推荐./configure --with-features=huge
或者./configure --with-features=big 并确认 configure 输出中没有 iconv 异常。
还可参考本文按照自己需求定制:
- 如果想默认创建 UTF-8 文件而不是 GBK 编码的,只需去掉 set fenc=gbk 即可。
- 如果对于 7bit ASCII 想提升为 UTF-8 而不是 GBK,那么去掉 g:usasc 相关处理即可。
- 对于 fencs 最末的 8bit 编码,一般人可能更倾向于用 latin1 或 windows-1252 而不是 cp437,可替换之。
" 前几十行主要来自 gVim Windows 版默认 vimrc,有改动 set nocompatible source $VIMRUNTIME/vimrc_example.vim if has('gui_running') || has ('win32') source $VIMRUNTIME/mswin.vim behave mswin endif set diffexpr=MyDiff() function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if has('win32') if $VIMRUNTIME =~ ' ' if &sh =~ '\<cmd' let cmd = '""' . $VIMRUNTIME . '\diff"' let eq = '"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"' endif else let cmd = $VIMRUNTIME . '\diff' endif else let cmd = 'diff' endif silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq endfunction " 以下为灰蓝天际添加 let g:usasc = 'us-ascii' " 编码识别列表,主要是用来自动识别不同中文编码的文本 let &fencs= g:usasc . ',ucs-bom,utf-8,gbk,gb18030,utf-16le,utf-16,big5,cp437' " 当前语言环境 if $LC_ALL != '' let $lc_msgs_ = $LC_ALL elseif $LC_MESSAGES != '' let $lc_msgs_ = $LC_MESSAGES elseif $LANG != '' let $lc_msgs_ = $LANG endif " 设定界面语言 if has('win32') || has('gui_running') let $LANGUAGE = 'zh_CN.UTF-8' elseif $LANGUAGE == '' let $LANGUAGE = $lc_msgs_ endif " 使用 UTF-8 中文编码 let $LANG = 'zh_CN.UTF-8' if has('win32') language chs else language zh_CN.UTF-8 endif set enc=utf8 if has('win32') || $lc_msgs_ == 'zh_CN.GBK' set tenc=gbk endif set ambiwidth=double if has('gui') set langmenu=zh_CN.UTF-8 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim endif set fenc=gbk " 字体设置,OEM 编码用特殊字体 if has('gui') if has('win32') let g:oemfont = 'Courier New:h10:w5' let g:usrfont = '' let &gfw = 'NSimSun:h11' else let g:oemfont = 'unifont 12' let g:usrfont = 'Monospace 12' endif let &gfn = g:usrfont endif " 将 US-ASCII 升级为 GBK 编码,而不是 UTF-8 " 检测并设置 OEM 字体及宽度 function ChkEnc() if &fenc == g:usasc && v:cmdarg == '' e ++enc=gbk if exists(':sy') sy on endif endif if has('gui') if &fenc == 'cp437' || &fenc == '437' let &gfn = g:oemfont let &ambw = 'single' else let &gfn = g:usrfont let &ambw = 'double' endif endif endfunction au BufReadPost * call ChkEnc() " 避免不能从终端复制文本 if !has('gui_running') set mouse= endif
相关推荐
基于http://amix.dk/vim/vimrc打包的VIM插件包
vimrc
windows下常用的_vimrc配置,成功设置中文字体 guifontwide=NSimSun:h18 "新宋体
收集的windows下gvim相关配置,具体细节本人也没能理解,只为节省时间备份一下以备不时之需,不建议下载. 感谢原作者们对知识的无私分享。
我的vimrc配置文件,配置了常用的一些插件,如winmanager,taglist和lookupfiles等
windows10下的vim配置文件_vimrc
gvim7.3(Windows)的配置文件_vimrc(替换原文件) 在windows环境变量里配置: 1、变量名:VIMRUNTIME 变量值:C:\Program Files\Vim\vim73(vim的安装目录) 2、变量名:VIMFILES 变量值:C:\Program Files\Vim\...
配置文件vimrc.vimrc
我正在使用的_vimrc文件、字体和配色方案。
vimrc的配置文件,对应博客“linux服务器中安装vimrc的一二三”中的内容
.vimrc的设置 强大的vim配置文件, 在终端下使用vim进行编辑时,默认情况下, 编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。 为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。 ...
使用vimrc配置Linux中的vim. vim配置vimrc后的优点 1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试 2.自动插入文件头,新建C、C++源文件时自动插入表头:包括文件名...
简单的 vimrc 配置(ubuntu)
在ubuntu中vimd编译器Vim自动补全神器:YouCompleteMe 的vimrc配置文件
好用的VIMR C++ 好用的VIMRCC++ 好用的VIMRC
终端输入cd 进入用户目录 vim .vimrc 建立vimrc文件。。 新手基本够用。包括文件名,用户名,邮箱,头文件自动输入。行号显示,语法高亮,自动补全等。
我用的gvim配置文件 _vimrc,也是到处收集到的,如果有用可以拿去参考一下
修改文件名为.vimrc 存放在根目录下
用于在linux开发golang的整套vim插件包之vimrc文档设置
自己用的vimrc, 自动缩进, 语法高亮等基本功能