偏爱的vim配置

在linux/android开发过程中,鼎鼎大名的vim的使用必不可少,所谓“工欲善其事,必先利其器”,这里谈谈自己偏爱的vim配置。

对于vim配置,我主张实用即可,同时要考虑兼容性,最好是用官方给定的一些包,不必过分追求华丽,虽然我心里也喜欢那些华丽的配置。
1、语言编码设置

"===============1: file encodeing===============
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,cp936

一般设为uft-8即可,文件编码还需要兼容ucs-bom和cp936。

2、语法和配色主题

"===============2: syntax and color scheme===============
syntax enable
syntax on

"colorscheme evening
colorscheme desert
"colorscheme slate
"colorscheme peachpuff

说起linux,他人就会认为在黑色框下操作,单调而深奥。为此vim作了很大的努力,支持大多数文件的语法和配色。综合使用情况,自己认为desert非常棒,尤其配上黑色背景,白色字体。其次evening、morning、slate都很不错。

3、基本设置

"===============3: basic set===============
set nu
set nocompatible
set magic
set showmatch
set linebreak 
set ruler
set backspace=2

主要包括行号、兼容性、魔幻数等设置,其中showmatch为显示匹配的括号,linebreak为整词换行,ruler为窗口标尺,backspace退格键可用。

4、搜索相关

"===============4: about search===============
set ignorecase
set hlsearch
set incsearch

搜索可谓非常重要,在一个文件中能尽快找到自己想要的词汇或语句,是提升我们工作效率的重要法码。ignorecase忽略大小写,hlsearch对搜索到的词高亮显示,incsearch逐步匹配模式。再说一篇这三个设置一定要设好!!!

5、状态栏和命令行相关

"===============5: status and cmd ===============
set showcmd
set cursorline
set cmdheight=2
set laststatus=2
set statusline+=[%{&fileformat}]
set statusline+=[%{&encoding}]
set statusline+=[%F]

这里用了非常简便的方法来显示一些常用的信息,到底部的状态栏上。主要包括文件格式,文件编码和文件位置。其中文件格式和编码需要格外注意,因为在实际工作中,涉及到windows和linux文件交叉,往往在提交代码时发现改动一小处,却整个文件都被标红,这多半是文件格式不对,如从dos到unix,也有可能是文件编码的问题,如从gbk到utf8。所以有了这个标识,就很容易知道出错的原因了。

6、一些热键定义

"===============6: set hotkey and map===============
let mapleader=";"
set pastetoggle=<F9>
noremap <F3> :Tlist<cr>
noremap tl :TlistToggle <cr>
noremap <F2> :WMToggle<cr>
noremap wm :WMToggle <cr>
nnoremap <leader>m :nohl<cr>
" ctrl+o use cmd of normal in the insert mode 
" inoremap ` <C-O>
" nnoremap ` i`<ESC>

提高工作效率的又一方法利用宏、脚本、热键处理重复动作。这里只定义了几个常用的,如F9设置粘贴格式,taglist,windowlist,和一个 ;+m用来取消高亮。粘贴格式设置主要用来粘贴一段代码时,不需要对每一行代码重新格式化。否则每一行代码前面都会空4个空格出来。

7、插件

"===============7: plug-in unit===============
" taglist
let Tlist_Auto_Open=0
let Tlist_Show_Menu=1
"delete the blank line
let Tlist_Compact_Format=1
let Tlist_Show_One_File=1
let Tlist_Sort_Type="name"
let Tlist_Exit_OnlyWindow=1
let Tlist_Auto_Update=1 " Update the tag list automaticallynoremap "<F3> :Tlist<cr>

"window manager
"let g:defaultExplorer = 0
let g:winManagerWindowLayout="FileExplorer"
"noremap <F2> :WMToggle<cr>

插件在vim中算作一亮点,不过少用为好,因为每一个插件的命令、配置非常多,而且有些没有在官方安装包中,需要自己下载。对于懒人而言有时候是痛苦的,比如把这个rc文件放到自己home目录下,打开vim时提示有错误,可能就是插件没有下载,而对用户而言,他不清楚配置规则,就可能认为你的rc不能用,直接删掉,这我是遇到过的。
这里用了两人个插件,一个是大名鼎鼎的taglist和window manager。前者将文件中的各种类型的数据归纳整理到左边的窗口中,根据上面的按F3即可即可打开、关闭。后者显示文件目录,按F2即可打开、关闭,效果非常好。但是要注意的是,window manger默认的窗口好像是在左边,修改了一下才到右边的。个人喜好而已。

8、代码阅读、编写相关设置

"===============8: about coder ===============
filetype on
filetype indent on
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
"set cindent 
"set autoindent
set smartindent
autocmd FileType c,cpp,java set cindent
autocmd FileType c,cpp,java set expandtab  

" fold about
set foldmethod=syntax
set foldlevel=100
set foldcolumn=1 

vim大部分时间还是用来看代码、写代码,不管是c,cpp,java,physon,per还是其它,都可以进行一些设置,使得编写代码更加容易。
先tabstop设置tab占空格数,一般而言都是4个空格。然后expandtab将tab自动转成空格,主要为了形成统一的代码风格,以便在其它阅读器上代码风格保持一致。再设置对齐方式为cindent,其它用smarttab。
补充一下折叠相关的设置,foldmethod=syntax根据语法折叠,这里的语法即大包括{},foldcolumn=1折叠栏宽度为1,foldlevel=100文件打开时不折叠。折叠相关的操作:

zc/zo:  关闭/打开折叠 
zr/zR:  递归打开
zm/zM:  递归关闭
[z/]z:  当前折叠开始、结束
zj/zk:  下一个/上一个折叠处

做好这些设置,一个简单易用的vim就诞生了,真是迫不急待的想去写代码了!!!


附:vimrc全部

" vimrc set
" 2015.10.01 1st version
" 2016.05.29 2nd version
" 
" author: kevinqq
"
"===============1: file encodeing===============
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,cp936
"set langmenu=zh_CN.UTF-8

"===============2: syntax and color scheme===============
syntax enable
syntax on

"colorscheme evening
colorscheme desert
"colorscheme slate
"colorscheme peachpuff

"===============3: basic set===============
set nu
set nocompatible
set magic
set showmatch
set ruler
set backspace=2

"===============4: about search===============
set ignorecase
set hlsearch
set incsearch


"===============5: status and cmd ===============
set showcmd
set cursorline
set cmdheight=2
set laststatus=2
set statusline+=[%{&fileformat}]
set statusline+=[%{&encoding}]
set statusline+=[%F]

"===============6: set hotkey and map===============
let mapleader=";"
set pastetoggle=<F9>
noremap <F3> :Tlist<cr>
noremap tl :TlistToggle <cr>
noremap <F2> :WMToggle<cr>
noremap wm :WMToggle <cr>
nnoremap <leader>m :nohl<cr>
" ctrl+o use cmd of normal in the insert mode 
" inoremap ` <C-O>
" nnoremap ` i`<ESC>

"===============7: plug-in unit===============
" taglist
let Tlist_Auto_Open=0
let Tlist_Show_Menu=1
"delete the blank line
let Tlist_Compact_Format=1
let Tlist_Show_One_File=1
let Tlist_Sort_Type="name"
let Tlist_Exit_OnlyWindow=1
let Tlist_Auto_Update=1 " Update the tag list automatically
"<F3> :Tlist<cr>

"window manager
"let g:defaultExplorer = 0
let g:winManagerWindowLayout="FileExplorer"
"noremap <F2> :WMToggle<cr>

"===============8: about coder ===============
filetype on
filetype indent on
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
"set cindent 
"set autoindent
set smartindent
autocmd FileType c,cpp,java set cindent
autocmd FileType c,cpp,java set expandtab  

" fold about
set foldmethod=syntax
set foldlevel=100
set foldcolumn=1          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值