博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VIM学习笔记 配置文件(vimrc)
阅读量:6071 次
发布时间:2019-06-20

本文共 4243 字,大约阅读时间需要 14 分钟。

在vim启动过程中,首先将查找配置文件并执行其中的命令。而这些初始化文件一般有vimrc、gvimrc和exrc三种。

利用:version命令,可以得到配置文件的详细信息。

注意:如果执行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=%55(%{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*%03v%1*]\ [ROW=%2*%03l%1*/%3*%L(%p%%)%1*]\ [DATE=%2*%{strftime(\"%c\",getftime(expand(\"%%\")))}%1*] "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%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

转载地址:http://wffgx.baihongyu.com/

你可能感兴趣的文章
二维纹理 Texture 2D
查看>>
winner tree 胜者树
查看>>
jquery datagrid设置pageSize不起作用
查看>>
阿里巴巴曾鸣:数据时代来临
查看>>
CI框架初探
查看>>
腾讯QQ企业邮箱POP3/SMTP设置
查看>>
稳态可压Navier-Stokes方程组在Dirichlet边界下的解的存在性
查看>>
查询SQLSERVER执行过的SQL记录
查看>>
SaltStack运行任务卡住了,怎么办?
查看>>
hdu-----(3746)Cyclic Nacklace(kmp)
查看>>
SGU 405 Totalizator
查看>>
关于SD卡
查看>>
理想非常丰满,现实非常骨感——致WiFi通话
查看>>
[C++] 几行代码生成漂亮图片,数学家就是牛!
查看>>
关于line box,inline box,line-height,vertical-align之间的关系
查看>>
对PAR DAR SAR的理解
查看>>
【BZOJ】1692 & 1640: [Usaco2007 Dec]队列变换(后缀数组+贪心)
查看>>
js Date日期对象的扩展
查看>>
js~this的陷阱
查看>>
树莓派学习笔记(2):常用linux命令
查看>>