【转】VIM学习笔记 配置文件(…
2013-07-08 16:09
183 查看
在vim启动过程中,首先将查找配置文件并执行其中的命令。而这些初始化文件一般有vimrc、gvimrc和exrc三种。
利用
配置文件(vimrc)" />
注意:如果执行gvim,那么$VIMRUNTIME/menu.vim也会被执行。
配置文件位置
vimrc是主配置文件,它有全局和用户两种版本。
全局vimrc文件,存放在Vim的安装目录中。可以使用以下命令,确定Vim的安装目录:
默认情况下,系统vimrc存放在以下位置:
Linux: /usr/share/vim/vimrc
Windows: c:\program files\vimrc
用户vimrc文件,存放在用户主目录中。可以使用以下命令,确定用户主目录:
默认情况下,用户vimrc存放在以下位置:
Linux: /home/username/.vimrc
Windows: c:\documents and settings\username\_vimrc
注意:用户配置文件优先于系统配置文件。
gvimrc是GVIM的配置文件,它也有全局和用户两种版本,并且存放在与vimrc相同的目录中。
默认情况下,系统gvimrc存放在以下位置:
Linux: /usr/share/vim/gvimrc
Windows: c:\program files\vim\_gvimrc
默认情况下,用户gvimrc存放在以下位置:
Linux: /home/username/.gvimrc
Windows: c:\documents and settings\username\_gvimrc
exrc文件,仅用于向后兼容olvi/ex,它的全局和用户两种版本也放置于vimrc相同的目录里。除非你使用vi-compatible模式,否则不需要关注exrc配置文件。
注意:在Unix和Linux下,vim的配置文件被命名为以点开头的隐藏文件;而在Windows下,配置文件则以下划线开头命名。
编辑配置文件
可以使用以下命令,新建缓冲区来编辑配置文件:
也可以使用以下命令,新建标签页来编辑配置文件:
例如,我们可以在配置文件中使用以下命令,来设置vim的选项:
:syntax on "打开语法加亮功能
:set shiftwidth=4 "设置缩进宽度为4个空格
其中,单引号(")为注释内容。
应用配置文件
修改配置文件后,需要重新启动Vim,或使用:source命令来应用新的设置:
我们可以在配置文件中增加以下命令,在保存后自动应用配置:
配置文件实例
以下是本人的vim配置文件内容,供各位参考:
set ignorecase smartcase "
搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nu " 显示行号
set ruler
set rulerformat=U(%{strftime('%a\ %b\ %e\ %I:%M\ %p')}\
%5l,%-6(%c%V%)\ %P%)
set guioptions+=b
set guioptions-=T
set paste
"set clipboard=unnamed " 让Vim和Win共用剪贴板
set cursorline cursorcolumn
syntax enable " 打开语法高亮
syntax on " 允许按指定主题进行语法高亮,而非默认高亮主题
colorscheme xoria256 " 指定配色方案
set showcmd " 在命令行显示当前输入的命令
set langmenu=en_US " 将菜单和信息设置为英文
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set fileencoding=utf-8 " 设置多编码处理
set encoding=utf-8
set tenc=utf-8
set
fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"language message zh_CN.UTF-8
filetype on " 开启文件类型侦测
filetype plugin on " 根据侦测到的不同类型加载对应的插件
if has("autocmd") &&
exists("+omnifunc")
autocmd Filetype *
\ if &omnifunc == "" |
\ setlocal omnifunc=syntaxcomplete#Complete |
\ endif
endif
set laststatus=2 " 设置状态栏
set statusline=%2*%n%m%r%h%w%*\ %F\
%1*[FORMAT=%2*%{&ff}:%{&fenc!=''?&fenc:&enc}%1*]\
[TYPE=%2*%Y%1*]\ [COL=%2*v%1*]\ [ROW=%2*l%1*/%3*%L(%p%%)%1*]\
[DATE=%2*%{strftime(\"%c\",getftime(expand(\"%%\")))}%1*]
"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\
[TYPE=%Y]\ [ASCII=\.3b]\ [HEX=\.2B]\ [POS=l,v][%p%%]\
[LEN=%L]
function! InsertStatuslineColor(mode)
if a:mode == 'i'
hi statusline
guibg=peru
elseif a:mode == 'r'
hi statusline
guibg=blue
else
hi statusline
guibg=black
endif
endfunction
au InsertEnter * call
InsertStatuslineColor(v:insertmode)
au InsertLeave * hi statusline guibg=orange guifg=white
hi statusline guibg=black
hi User1 guifg=gray
hi User2 guifg=red
hi User3 guifg=white
set winaltkeys=no
" map
nmap <tab>
V>
nmap <s-tab>
V<
vmap <tab>
>gv
vmap <s-tab>
<gv
" 打开另存为对话框
map <F2>
<Esc>:browse
saveas<CR>
" 使用NERDTree插件查看工程文件
nmap <F3> :NERDTreeToggle
planning<CR>
" 启用/禁止折行
nmap <silent>
<F5>
<Esc>:call
ToggleWrap()<CR>
" 显示/禁止行列光标
nmap <silent>
<F6>
<Esc>:call
ToggleCursor()<CR>
" 新建标签页
map <F10>
<Esc>:tabnew<CR>
" 显示/禁止查找高亮度
nmap <silent>
<A-f>
<Esc>:call
ToggleHLSearch()<CR>
function! ToggleWrap()
if
&wrap
set nowrap
else
set wrap
endif
endfunction
function! ToggleHLSearch()
if
&hls
set nohls
else
set hls
endif
endfunction
function! ToggleCursor()
if
&cursorcolumn
set nocursorline
nocursorcolumn
else
set cursorline
cursorcolumn
endif
endfunction
let mapleader=";" "
定义快捷键的前缀,即<Leader>
nmap <leader>v :tabedit $MYVIMRC<CR>
" 配置文件
autocmd bufwritepost _vimrc source $MYVIMRC
" 设置文件格式
set fileformats=unix,dos,mac
" Template
autocmd! BufNewFile * silent! 0r
$VIM/vimfiles/skel/Template.%:e
" 指定备份文件目录
set backupdir=F:\Bak
set backupskip=D:/Temp/*
" 取消代码自动折叠
autocmd! BufNewFile,BufRead * setlocal nofoldenable
" 打开/关闭代码折叠
nnoremap <space> za
" 优化大文件编辑
let g:LargeFile=10
" 自动加载文件
set autoread
set list!
set listchars=nbsp:¬,tab:┈┈,precedes:«,extends:»,trail:
hi NonText ctermfg=247 guifg=#a73111 cterm=bold gui=bold
hi SpecialKey ctermfg=77 guifg=#654321
augroup filetypedetect
au BufNewFile,BufRead
*.mxl setf mxl
augroup END
FROM: http://yyq123.blogspot.com/2012/01/vim-vimrc.html
利用
:version命令,可以得到配置文件的详细信息。
配置文件(vimrc)" />
注意:如果执行gvim,那么$VIMRUNTIME/menu.vim也会被执行。
配置文件位置
vimrc是主配置文件,它有全局和用户两种版本。
全局vimrc文件,存放在Vim的安装目录中。可以使用以下命令,确定Vim的安装目录:
:echo $VIM
默认情况下,系统vimrc存放在以下位置:
Linux: /usr/share/vim/vimrc
Windows: c:\program files\vimrc
用户vimrc文件,存放在用户主目录中。可以使用以下命令,确定用户主目录:
:echo $HOME
默认情况下,用户vimrc存放在以下位置:
Linux: /home/username/.vimrc
Windows: c:\documents and settings\username\_vimrc
注意:用户配置文件优先于系统配置文件。
gvimrc是GVIM的配置文件,它也有全局和用户两种版本,并且存放在与vimrc相同的目录中。
默认情况下,系统gvimrc存放在以下位置:
Linux: /usr/share/vim/gvimrc
Windows: c:\program files\vim\_gvimrc
默认情况下,用户gvimrc存放在以下位置:
Linux: /home/username/.gvimrc
Windows: c:\documents and settings\username\_gvimrc
exrc文件,仅用于向后兼容olvi/ex,它的全局和用户两种版本也放置于vimrc相同的目录里。除非你使用vi-compatible模式,否则不需要关注exrc配置文件。
注意:在Unix和Linux下,vim的配置文件被命名为以点开头的隐藏文件;而在Windows下,配置文件则以下划线开头命名。
编辑配置文件
可以使用以下命令,新建缓冲区来编辑配置文件:
:edit $MYVIMRC
也可以使用以下命令,新建标签页来编辑配置文件:
:tabedit $MYVIMRC
例如,我们可以在配置文件中使用以下命令,来设置vim的选项:
:syntax on "打开语法加亮功能
:set shiftwidth=4 "设置缩进宽度为4个空格
其中,单引号(")为注释内容。
应用配置文件
修改配置文件后,需要重新启动Vim,或使用:source命令来应用新的设置:
:source $MYVIMRC
我们可以在配置文件中增加以下命令,在保存后自动应用配置:
autocmd bufwritepost .vimrc source $MYVIMRC
配置文件实例
以下是本人的vim配置文件内容,供各位参考:
set ignorecase smartcase "
搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nu " 显示行号
set ruler
set rulerformat=U(%{strftime('%a\ %b\ %e\ %I:%M\ %p')}\
%5l,%-6(%c%V%)\ %P%)
set guioptions+=b
set guioptions-=T
set paste
"set clipboard=unnamed " 让Vim和Win共用剪贴板
set cursorline cursorcolumn
syntax enable " 打开语法高亮
syntax on " 允许按指定主题进行语法高亮,而非默认高亮主题
colorscheme xoria256 " 指定配色方案
set showcmd " 在命令行显示当前输入的命令
set langmenu=en_US " 将菜单和信息设置为英文
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set fileencoding=utf-8 " 设置多编码处理
set encoding=utf-8
set tenc=utf-8
set
fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"language message zh_CN.UTF-8
filetype on " 开启文件类型侦测
filetype plugin on " 根据侦测到的不同类型加载对应的插件
if has("autocmd") &&
exists("+omnifunc")
autocmd Filetype *
\ if &omnifunc == "" |
\ setlocal omnifunc=syntaxcomplete#Complete |
\ endif
endif
set laststatus=2 " 设置状态栏
set statusline=%2*%n%m%r%h%w%*\ %F\
%1*[FORMAT=%2*%{&ff}:%{&fenc!=''?&fenc:&enc}%1*]\
[TYPE=%2*%Y%1*]\ [COL=%2*v%1*]\ [ROW=%2*l%1*/%3*%L(%p%%)%1*]\
[DATE=%2*%{strftime(\"%c\",getftime(expand(\"%%\")))}%1*]
"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\
[TYPE=%Y]\ [ASCII=\.3b]\ [HEX=\.2B]\ [POS=l,v][%p%%]\
[LEN=%L]
function! InsertStatuslineColor(mode)
if a:mode == 'i'
hi statusline
guibg=peru
elseif a:mode == 'r'
hi statusline
guibg=blue
else
hi statusline
guibg=black
endif
endfunction
au InsertEnter * call
InsertStatuslineColor(v:insertmode)
au InsertLeave * hi statusline guibg=orange guifg=white
hi statusline guibg=black
hi User1 guifg=gray
hi User2 guifg=red
hi User3 guifg=white
set winaltkeys=no
" map
nmap <tab>
V>
nmap <s-tab>
V<
vmap <tab>
>gv
vmap <s-tab>
<gv
" 打开另存为对话框
map <F2>
<Esc>:browse
saveas<CR>
" 使用NERDTree插件查看工程文件
nmap <F3> :NERDTreeToggle
planning<CR>
" 启用/禁止折行
nmap <silent>
<F5>
<Esc>:call
ToggleWrap()<CR>
" 显示/禁止行列光标
nmap <silent>
<F6>
<Esc>:call
ToggleCursor()<CR>
" 新建标签页
map <F10>
<Esc>:tabnew<CR>
" 显示/禁止查找高亮度
nmap <silent>
<A-f>
<Esc>:call
ToggleHLSearch()<CR>
function! ToggleWrap()
if
&wrap
set nowrap
else
set wrap
endif
endfunction
function! ToggleHLSearch()
if
&hls
set nohls
else
set hls
endif
endfunction
function! ToggleCursor()
if
&cursorcolumn
set nocursorline
nocursorcolumn
else
set cursorline
cursorcolumn
endif
endfunction
let mapleader=";" "
定义快捷键的前缀,即<Leader>
nmap <leader>v :tabedit $MYVIMRC<CR>
" 配置文件
autocmd bufwritepost _vimrc source $MYVIMRC
" 设置文件格式
set fileformats=unix,dos,mac
" Template
autocmd! BufNewFile * silent! 0r
$VIM/vimfiles/skel/Template.%:e
" 指定备份文件目录
set backupdir=F:\Bak
set backupskip=D:/Temp/*
" 取消代码自动折叠
autocmd! BufNewFile,BufRead * setlocal nofoldenable
" 打开/关闭代码折叠
nnoremap <space> za
" 优化大文件编辑
let g:LargeFile=10
" 自动加载文件
set autoread
set list!
set listchars=nbsp:¬,tab:┈┈,precedes:«,extends:»,trail:
hi NonText ctermfg=247 guifg=#a73111 cterm=bold gui=bold
hi SpecialKey ctermfg=77 guifg=#654321
augroup filetypedetect
au BufNewFile,BufRead
*.mxl setf mxl
augroup END
FROM: http://yyq123.blogspot.com/2012/01/vim-vimrc.html
相关文章推荐
- 【转】VIM学习笔记&nbsp;配置文件(…
- VIM学习笔记 配置文件(vimrc)
- VIM学习笔记 配置文件(vimrc)
- vim学习笔记一(环境配置及编译文件)
- Tomcat 7学习笔记之配置Web界面管…
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第七步---英雄要升级&属性--解析csv配置文件
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第七步---英雄要升级&属性--解析csv配置文件
- Vim学习笔记5---vimrc文件的配置
- vim 配置文件 ,高亮+自动缩进+行…
- VIM学习笔记 配置文件(vimrc)
- Mac使用学习笔记: MacVim & exvim 配置使用手记
- vim&nbsp;配置文件&nbsp;,高亮+自动缩进+行…
- springboot学习笔记2(拦截器,redis,授权登录,读取yml配置文件)
- 个人使用的Vim配置及Vim学习笔记
- Jenkins 学习笔记(1):安装&配置
- play framework学习笔记之 conf/routes file 路径配置文件
- Log4j学习笔记(2)_log4j配置示例&Spring集成log4j
- Spring4学习笔记-AOP(基于配置文件的方式)
- 【Linux学习笔记】36:其它环境变量配置文件
- java基础教程学习笔记总结&nbsp;7-10节