gvim的字符集,编码等utf-8设置

编码设置: Vim_vimrc最后加入:
set fileencodings=ucs-bom,utf-8,chinese,cp936
我的gVim(Vim)配置文件

下面和大家分享我自己使用的gVim配置文件,对于Vim同样适用。Windows下Vim的配置文件位置:D:/Program Files/Vim_vimrc(即你的Vim安装位置,我安装在D:/Program Files);Linux下Vim的配置文件位置:/etc/vim/gvimrc。

请根据自己的需要进行添加和修改,例如你没接触C++/JAVA这些语言的,后面相关的配置就不用添加;如你喜欢,全部拿去也可以。添加到对应的配置文件最后就可以了(注:类似” 配色方案的是注释,请确保左双引号是半角):

 
  
  1. " 配色方案
  2. colo liveme
  3.  
  4. " 编码设置
  5. set enc=utf-8
  6. set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
  7.  
  8. " 设置菜单语言
  9. set langmenu=zh_CN.UTF-8
  10.  
  11. " 导入删除菜单脚本,删除乱码的菜单
  12. source $VIMRUNTIME/delmenu.vim
  13.  
  14. " 导入正常的菜单脚本
  15. source $VIMRUNTIME/menu.vim
  16.  
  17. " 设置提示信息语言
  18. language messages zh_CN.utf-8
  19.  
  20. " 字体设置
  21. set guifont=Monaco:h12:cANSI
  22.  
  23. " 语法高亮
  24. set syntax=on
  25.  
  26. " 自动缩进
  27. set autoindent
  28.  
  29. " C语言方式缩进
  30. set cindent
  31.  
  32. " 智能缩进
  33. set smartindent
  34.  
  35. " 统一缩进为4
  36. set softtabstop=4
  37. set shiftwidth=4
  38.  
  39. " 默认窗口大小
  40. set lines=30 columns=82
  41.  
  42. " 自动换行
  43. set wrap
  44.  
  45. " 整词换行
  46. set linebreak
  47.  
  48. " 显示行号
  49. set number
  50.  
  51. " 高亮显示匹配的括号
  52. set showmatch
  53.  
  54. " 搜索逐字符高亮和实时搜索
  55. set hlsearch
  56. set incsearch
  57.  
  58. " 匹配括号高亮的时间(单位是十分之一秒)
  59. set matchtime=5
  60.  
  61. " 显示括号配对情况
  62. set showmatch
  63.  
  64. " 代码折叠
  65. " set fdm=indent
  66.  
  67. " 选择代码折叠类型
  68. set foldmethod=syntax
  69.  
  70. " 禁止自动折叠
  71. set foldlevel=100
  72.  
  73. " 命令行(在状态行下)的高度,默认为1,这里是2
  74. set cmdheight=2
  75.  
  76. " 历史记录数
  77. set history=1000
  78.  
  79. " 侦测文件类型
  80. filetype on
  81.  
  82. " 为特定文件类型载入相关缩进格式
  83. filetype indent on
  84.  
  85. " 为特定的文件类型载入对应的插件
  86. filetype plugin on
  87. filetype plugin indent on
  88.  
  89. " 不与vi兼容
  90. set nocp
  91.  
  92. " vim目录树插件
  93. map <</span>F10> :NERDTreeToggle<</span>CR>
  94.  
  95. " 保存全局变量
  96. set viminfo+=!
  97.  
  98. " 带有如下符号的单词不要被换行分割
  99. set iskeyword+=_,$,@,%,#,-
  100.  
  101. " 字符间插入的像素行数目
  102. set linespace=0
  103.  
  104. " 增强模式中的命令行自动完成操作
  105. set wildmenu
  106.  
  107. " PHP语法提示
  108. autocmd FileType php set omnifunc=phpcomplete
  109.  
  110. " 禁止生成临时文件
  111. set nobackup
  112. set noswapfile
  113.  
  114. " 设置退格键可用
  115. set backspace=2
  116.  
  117. " 快捷键自定义
  118. map <</span>C-s> :w<</span>CR>
  119. imap <</span>C-s> <</span>C-o>:w<</span>CR>
  120.  
  121. " 隐藏工具栏,可用快捷键F2切换
  122. set guioptions-=T
  123. map <</span>silent> <</span>F2> :if &guioptions =~# 'T' <</span>Bar>
  124. set guioptions-=T <</span>Bar>
  125. else <</span>Bar>
  126. set guioptions+=T <</span>Bar>
  127. endif<</span>CR>
  128.  
  129. " 能够漂亮地显示.NFO文件
  130. set encoding=utf-8
  131. function! SetFileEncodings(encodings)
  132. let b:myfileencodingsbak=&fileencodings
  133. let &fileencodings=a:encodings
  134. endfunction
  135. function! RestoreFileEncodings()
  136. let &fileencodings=b:myfileencodingsbak
  137. unlet b:myfileencodingsbak
  138. endfunction
  139. au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
  140. au BufReadPost *.nfo call RestoreFileEncodings()
  141.  
  142. " F5编译和运行C程序,F6编译和运行C++程序
  143. " C的编译和运行
  144. map <</span>F5> :call CompileRunGcc()<</span>CR>
  145. func! CompileRunGcc()
  146. exec "w"
  147. exec "!gcc -Wall % -o %<"
  148. exec "! ./%<"
  149. endfunc
  150.  
  151. " C++的编译和运行
  152. map <</span>F6> :call CompileRunGpp()<</span>CR>
  153. func! CompileRunGpp()
  154. exec "w"
  155. exec "!g++ -Wall % -o %<"
  156. exec "! ./%<"
  157. endfunc
  158.  
  159. " Gvim标签定制
  160. set guitablabel=%{ShortTabLabel()}
  161. function ShortTabLabel ()
  162. let bufnrlist = tabpagebuflist (v:lnum)
  163. let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
  164. let filename = fnamemodify (label, ':t')
  165. return filename
  166. endfunction
  167.  
  168. " ######### 一键保存和编译 ######### "
  169. "编译C源文件
  170. func! CompileGcc()
  171. exec "w"
  172. let compilecmd="!gcc -Wall -std=c99 "
  173. let compileflag="-o %<"
  174. exec compilecmd." % ".compileflag
  175. endfunc
  176.  
  177. " 编译C++源文件
  178. func! CompileCpp()
  179. exec "w"
  180. let compilecmd="!g++ -Wall "
  181. let compileflag="-o %<"
  182. exec compilecmd." % ".compileflag
  183. endfunc
  184.  
  185. " 编译&链接Go源文件
  186. func! CompileGo()
  187. exec "w"
  188. exec "!8g %"
  189. exec "!8l -o %<.exe %<.8"
  190. endfunc
  191.  
  192. " 编译Haskell源文件
  193. func! CompileHaskell()
  194. exec "w"
  195. let compilecmd="!ghc --make "
  196. let compileflag="-o %<"
  197. exec compilecmd." % ".compileflag
  198. endfunc
  199.  
  200. " 编译Java源文件
  201. func! CompileJava()
  202. exec "w"
  203. exec "!javac %"
  204. endfunc
  205.  
  206. " 编译C#源文件
  207. func! CompileCs()
  208. exec "w"
  209. exec "!csc %"
  210. endfunc
  211.  
  212. " 编译Gas源文件
  213. func! CompileGas()
  214. exec "w"
  215. exec "!gcc -Wall -ggdb -o %< %"
  216. endfunc
  217.  
  218. " 运行Shell源文件
  219. func! RunShell()
  220. exec "w"
  221. exec "!sh %"
  222. endfunc
  223.  
  224. " 运行Lua源文件
  225. func! RunLua()
  226. exec "w"
  227. exec "!lua %"
  228. endfunc
  229.  
  230. " 运行Perl源文件
  231. func! RunPerl()
  232. exec "w"
  233. exec "!perl %"
  234. endfunc
  235.  
  236. " 运行Python源文件
  237. func! RunPython()
  238. exec "w"
  239. exec "!python %"
  240. endfunc
  241.  
  242. " 运行Ruby源文件
  243. func! RunRuby()
  244. exec "w"
  245. exec "!ruby %"
  246. endfunc
  247.  
  248. " 根据文件类型自动选择相应的编译函数
  249. func! CompileCode()
  250. exec "w"
  251. if &filetype == "c"
  252. exec "call CompileGcc()"
  253. elseif &filetype == "cpp"
  254. exec "call CompileCpp()"
  255. elseif &filetype == "go"
  256. exec "call CompileGo()"
  257. elseif &filetype == "haskell"
  258. exec "call CompileHaskell()"
  259. elseif &filetype == "java"
  260. exec "call CompileJava()"
  261. elseif &filetype == "cs"
  262. exec "call CompileCs()"
  263. elseif &filetype == "asm"
  264. exec "call CompileGas()"
  265. elseif &filetype == "sh"
  266. exec "call RunShell()"
  267. elseif &filetype == "lua"
  268. exec "call RunLua()"
  269. elseif &filetype == "perl"
  270. exec "call RunPerl()"
  271. elseif &filetype == "python"
  272. exec "call RunPython()"
  273. elseif &filetype == "ruby"
  274. exec "call RunRuby()"
  275. endif
  276. endfunc
  277.  
  278. " 运行可执行文件
  279. func! RunResult()
  280. exec "w"
  281. if &filetype == "c"
  282. exec "! %<"
  283. elseif &filetype == "cpp"
  284. exec "! %<"
  285. elseif &filetype == "go"
  286. exec "! %<"
  287. elseif &filetype == "haskell"
  288. exec "! %<"
  289. elseif &filetype == "java"
  290. exec "!java %<"
  291. elseif &filetype == "cs"
  292. exec "! %<"
  293. elseif &filetype == "asm"
  294. exec "! %<"
  295. elseif &filetype == "sh"
  296. exec "!sh %<.sh"
  297. elseif &filetype == "lua"
  298. exec "!lua %<.lua"
  299. elseif &filetype == "perl"
  300. exec "!perl %<.pl"
  301. elseif &filetype == "python"
  302. exec "!python %<.py"
  303. elseif &filetype == "ruby"
  304. exec "!ruby %<.rb"
  305. endif
  306. endfunc

附:Vim配置文件下载:Vim配置文件

我的gVim(Vim)配色方案

有了配置文件还不能达到我上面的效果,还需要配色方案。本配色方案改自desert,为了让大家方便使用,且不损坏Vim原文件,故我将其另命名为liveme,绿色环保嘛。使用方法:下载下面的liveme.vim文件放到你的Vim安装目录下的vim73colors下面即可。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值