Mac 下VIM配置
Mac下VIM配置
首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下:
_______________________________________________________________________
Download
Download MacVim 7.3 (snapshot 65) for OS X 10.8 (Mountain Lion). (Released September 1, 2012.)
A list of changes as well as the latest snapshot for Mac OS X 10.6 and 10.7 can be found on the change log page.
Note that there is currently no build for (Mountain) Lion that has been blessed as "stable", whereas a stable build for Snow Leopard is available below. That being said, the snapshot linked to above should be considered stable enough for everyday usage.
Legacy Mac OS X downloads
Choose the appropriate download depending on your version of Mac OS X:
- For OS X 10.6 and 10.7 I recommend that you download the latest snapshot.
- MacVim 7.3 (build 53) for OS X 10.6, 32/64 bit version for Intel.
- MacVim 7.3 (build 53) for OS X 10.5, 32 bit version for PPC/Intel
- MacVim 7.3 (build 53) for OS X 10.4, PPC/Intel
MacVim is distributed under a Charityware license (type :h license inside MacVim for details). If you find MacVim a useful addition to your life please consider helping needy children in Uganda.
_________________________________________________________________________________
根据不同的Mac OSX 操作系统版本,下载自己所需要的MacVim!
如果下载的是Download MacVim 7.3 (snapshot 65) for OS X 10.8 (Mountain Lion).,则下载的文件是MacVim-snapshot-65.tbz这个包里面有三个文件(MacVim、mvim、reader.txt),
把MacVim这个东东丢到/应用程序/这个目录下,
于Mac下的程序大部分都是双击可用的,所以就没太在意mvim这个东东,后来琢磨了README.txt文件,
打开README.txt文件,是英文,全文如下:
————————————————————————————
This archive contains a snapshot release of MacVim 7.3. It requires
Mac OS X 10.8 (Mountain Lion) or later. It will NOT run on earlier versions of
Mac OS X!
To install, drag the MacVim icon into the Applications folder.
For usage instructions, please start MacVim and type ":h macvim" (without the
quotes).
This archive also contains the script "mvim" which can be used to start MacVim
from Terminal. Type ":h mvim" in MacVim for help on how to install it.
——————————————————————————————
发现原来通过它就可以在终端启动MacVim了(我果真那么菜么……)。
- 很简单,把mvim这个东东丢到/usr/bin/这个目录下,(只有管理员帐号才可以看到/usr/bin等文件).
这是利用终端直接启动的VIM
-
说起配置Vim,首先要知道三个配置文件:vimrc,gvimrc和exrc。这些配置文件的位置油Vim的安装位置和操作系统决定。
vimrc
vimrc是Vim最主要的配置文件,它有两个版本:全局版本(global)和用户版本(personal)。全局vimrc文件在Vim的安装目录中,我的电脑是Mac,所以其路径是
/usr/share/vim/vimrc
假如你不知道全局vimrc的位置,可以打开Vim,在普通模式(Normal)下输入下面的命令得到它的位置:
echo $VIM(注意大小写)
用户版本的vimrc文件在当前用户的主目录下,主目录的位置依赖于操作系统。Mac下的用户vimrc文件路径为:
/Users/用户名/.vimrc(文件名前面的”.”代表这个文件是隐藏文件)
你可以在Vim的普通模式下输入下面的命令,查找用户主目录的位置:
:echo $HOME
但是Mac下默认是没有用户vimrc的,所以需要你自己创建一个。
不管怎么改用户版的vimrc文件,其中的内容都是是覆盖在全局vimrc文件中设置的内容,这就意味着你可以不需要去改变全局vimrc文件来进行配置vim,只需要修改用户vimrc文件。
gvimrc
gvimrc文件是Gvim的配置文件,和vimrc很相似,并且是放在同一个目录下的,也分为全局版和用户版。这个文件是用来设置只有Gvim才能使用的GUI设置。我感觉Vim比Gvim好用,所以没有管这个文件。
exrc
exrc文件是用作与vi或ex向后兼容的,它也和vimrc放在同一个目录,当然也分全局版和用户版。然而,除非你想用vi兼容的模式来使用Vim,否则你更本不会用到这个文件。当然一般人都不会用vi兼容模式来使用Vim的。
然后是配置自己喜欢的Vim。
首先创建用户版vimrc(Mac下默认是没有的),你可以在用户主目录下自己创建一个空的用户版vimrc文件:
-
sudo sh (会提示你输入当前用户的密码)
mkdir ~/.vimrc
也可以将全局版vimrc文件复制到用户主目录下做为用户版vimrc:
sudo cp /usr/share/vim/vimrc ~/.vimrc
这里说明一下,~/就是用户主目录,相当于/Users/用户名/。
一般推荐后一种做法。
下载好之后我们可以解压到桌面或者随便哪个地方都可以,最好是放到工具栏里面或者放到应用程序里,比较好找。
然后,我们就需要进行配置了,MacVim不像Windows下面的Vim有配置文件等等,当然MacVim也是支持的,不过很多都要手动创建,这也就是为什么我花了差不多半天的时间才弄出来,虽然我写在这里了,你看上去很简单,但是其实找起来还是很麻烦的。
我们先创建并配置配置文件,命令行下操作。
- cd ~/ :到根目录。
- vim temp.txt :创建一个文本文件,然后在里面写配置。
- mv temp.txt .gvimrc :将文本文件变成gvimrc文件。
其实上面的第二个步骤可以说多余,方便新手看,直接用ls -a看隐藏文件然后创建和编辑.gvimrc即可。
然后就是要安装插件了,这里很简单,但是很难找,我就不卖关子直接说了算了。
- cd ~/
- mkdir .vim
上面就创建了MacVim的VIM文件夹,然后我们就要手动创建文件夹了,创建以下文件夹(们)。
after autoload colors compiler doc ftplugin indent keymap plugin syntax
这个时候,如果我们要安装插件的话,直接像Windows的Vim一样讲插件拷贝到这个目录即可,很简单把,现在我们就可以在Mac上享受我们的VIM开发带来的快感了。
接下来打开用户vimrc文件并在里面添加各种Vim命令。将我的Vim文件复制到下面:
" Configuration file for vim
set modelines=0" CVE-2007-2438
" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible" Use Vim defaults instead of 100% vi compatibility
set backspace=2" more powerful backspacing
syntax on
" 语法高亮
autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul
" 用浅色高亮当前行
set smartindent
" 智能对齐
set autoindent
" 自动对齐
set confirm
" 在处理未保存或只读文件的时候,弹出确认
set tabstop=4
" Tab键的宽度
set softtabstop=4
set shiftwidth=4
" 统一缩进为4
set noexpandtab
" 不要用空格代替制表符
set number
" 显示行号
set history=50
" 历史纪录数
set hlsearch
set incsearch
" 搜索逐字符高亮
set gdefault
" 行内替换
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1
" 编码设置
colorscheme torte
" 设置颜色主题
"set guifont=Menlo:h16:cANSI
" 设置字体
set langmenu=zn_CN.UTF-8
set helplang=cn
" 语言设置
set cmdheight=2
" 命令行(在状态行)的高度,默认为1,这里是2
set ruler
" 在编辑过程中,在右下角显示光标位置的状态行
set laststatus=2
" 总是显示状态行
set showcmd
" 在状态行显示目前所执行的命令,未完成的指令片段亦会显示出来
set scrolloff=3
" 光标移动到buffer的顶部和底部时保持3行距离
set showmatch
" 高亮显示对应的括号
set matchtime=5
" 对应括号高亮的时间(单位是十分之一秒)
set autowrite
" 在切换buffer时自动保存当前文件
set wildmenu
" 增强模式中的命令行自动完成操作
set linespace=2
" 字符间插入的像素行数目
set whichwrap=b,s,<,>,[,]
" 开启Normal或Visual模式下Backspace键,空格键,左方向键,右方向键,Insert或replace模式下左方向键,右方向键跳行的功能。
filetype plugin indent on
" 分为三部分命令:file on, file plugin on, file indent on.分别表示自动识别文件类型,用文件类型脚本,使用缩进定义文件。
"==================自定义的键映射======================
vnoremap $1 <esc>`>a)<esc>`<i(<esc>
vnoremap $2 <esc>`>a]<esc>`<i[<esc>
vnoremap $3 <esc>`>a}<esc>`<i{<esc>
vnoremap $$ <esc>`>a"<esc>`<i"<esc>
vnoremap $q <esc>`>a'<esc>`<i'<esc>
vnoremap $e <esc>`>a"<esc>`<i"<esc>
" 括号自动生成
map <F7> :if exists("syntax_on") <BAR>
\ syntax off <BAR><CR>
\ else <BAR>
\syntax enable <BAR>
\ endif
" 单键<F7>控制syntax on/off。原因是有时候颜色太多会妨碍阅读。
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!gcc % -o %<"
exec "! ./%<"
endfunc
" <F5>编译和运行C程序
map <F6> :call CompileRunGpp<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "! ./<"
endfunc
" <F6>编译和运行C++程序
" Don't write backup file if vim is being called by "crontab -e"
au BufWrite /private/tmp/crontab.* set nowritebackup
" Don't write backup file if vim is being called by "chpass"
au BufWrite /private/etc/pw.* set nowritebackup
“ 后面的一行都是注释,有的命令暂时用不到,所以也注释掉了。
其中set backspace这一命令有两种写法:后面接数字或其他属性,
set backspace=0 等同于 set backspace= (Vi 兼容)
set backspace=1 等同于 set backspace=indent,eol
set backspace=2 等同于 set backspace=indent,eol,start
indent,eol,start这三项内容分别指定了Vim可以删除位于行首的空格,断行,以及开始进入Insert模式之前的位置(即以前编辑过的位置)。
部分效果如下图:
不得不说vim-handbook-cn-71实在是一本学习Vim必不可少的书,非常全面地介绍了Vim地各种用法。
-
一般安装过程如下:
- sudo sh (会提示你输入当前用户的密码)
- cp mvim /usr/bin
- cd /usr/bin
- chown yarin(用户名):admin(用户组) mvim
- 然后就可以在终端通过mvim XXX文件名来启动MacVim修改文件了。
这个会比较蛋疼,因为估计不会有几个人喜欢透明窗体的编辑器,看起来酷,但是会影响到对代码的阅读。
- Preferences(配置)>Advanced(高级)> 把 Use expermental renderer(使用试验渲染)勾上。
- 在.gvimrc或者.vimrc里面加入set transparency=10这一句,后面的数值是百分比,10就是10%也就是0.1的透明度。
- 打开一个新窗口应该就可以看到效果了。
嗯……其实,好像没说什么有用的东西,都是些可有可无的小技巧,发一个我配置好的上来看看吧:
vim 配置文件 ,高亮+自动缩进+行号+折叠+优化
保存即可生效; 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)
"=========================================================================
" DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console
"
" Last Change: 2010年08月02日 15时13分
"
" Version: 1.80
"
"=========================================================================
set nocompatible " 关闭 vi 兼容模式
syntax on " 自动语法高亮
colorscheme molokai " 设定配色方案
set number " 显示行号
set cursorline " 突出显示当前行
set ruler " 打开状态栏标尺
set shiftwidth=4 " 设定 << 和
>> 命令移动时的宽度为 4
set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格
set tabstop=4 " 设定 tab 长度为 4
set nobackup " 覆盖文件时不备份
set autochdir " 自动切换当前目录为当前文件所在的目录
filetype plugin indent on " 开启插件
set backupcopy=yes " 设置备份时的行为为覆盖
set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nowrapscan " 禁止在搜索到文件两端时重新搜索
set incsearch " 输入搜索内容时就显示搜索结果
set hlsearch " 搜索时高亮显示被找到的文本
set noerrorbells " 关闭错误信息响铃
set novisualbell " 关闭使用可视响铃代替呼叫
set t_vb= " 置空错误铃声的终端代码
" set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
" set matchtime=2 " 短暂跳转到匹配括号的时间
set magic " 设置魔术
set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set smartindent " 开启新行时使用智能自动缩进
set backspace=indent,eol,start
" 不设定在插入状态无法用退格键和 Delete 键删除回车符
set cmdheight=1 " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\
%0(%{&fileformat}\ %{&encoding}\
%c:%l/%L%)\
" 设置在状态行显示的信息
set foldenable " 开始折叠
set foldmethod=syntax " 设置语法折叠
set foldcolumn=0 " 设置折叠区域的宽度
setlocal foldlevel=1 " 设置折叠层数为
" set foldclose=all " 设置为自动关闭折叠
" nnoremap <space>
@=((foldclosed(line('.')) < 0) ? 'zc' :
'zo')<CR>
" 用空格键来开关折叠
" return OS type, eg: windows, or linux, mac, et.st..
function! MySys()
if has("win16") || has("win32") || has("win64") ||
has("win95")
return "windows"
elseif has("unix")
return "linux"
endif
endfunction
" 用户目录变量$VIMFILES
if MySys() == "windows"
let $VIMFILES = $VIM.'/vimfiles'
elseif MySys() == "linux"
let $VIMFILES = $HOME.'/.vim'
endif
" 设定doc文档目录
let helptags=$VIMFILES.'/doc'
" 设置字体 以及中文支持
if has("win32")
set guifont=Inconsolata:h12:cANSI
endif
" 配置多语言环境
if has("multi_byte")
" UTF-8 编码
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbk
if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
set ambiwidth=double
endif
if has("win32")
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with
+multi_byte"
endif
" Buffers操作快捷方式!
nnoremap <C-RETURN>
:bnext<CR>
nnoremap <C-S-RETURN>
:bprevious<CR>
" Tab操作快捷方式!
nnoremap <C-TAB>
:tabnext<CR>
nnoremap <C-S-TAB>
:tabprev<CR>
"关于tab的快捷键
" map tn :tabnext<cr>
" map tp :tabprevious<cr>
" map td :tabnew .<cr>
" map te :tabedit
" map tc :tabclose<cr>
"窗口分割时,进行切换的按键热键需要连接两次,比如从下方窗口移动
"光标到上方窗口,需要<c-w><c-w>k,非常麻烦,现在重映射为<c-k>,切换的
"时候会变得非常方便.
nnoremap <C-h>
<C-w>h
nnoremap <C-j>
<C-w>j
nnoremap <C-k>
<C-w>k
nnoremap <C-l>
<C-w>l
"一些不错的映射转换语法(如果在一个文件中混合了不同语言时有用)
nnoremap <leader>1 :set
filetype=xhtml<CR>
nnoremap <leader>2 :set
filetype=css<CR>
nnoremap <leader>3 :set
filetype=javascript<CR>
nnoremap <leader>4 :set
filetype=php<CR>
" set fileformats=unix,dos,mac
" nmap <leader>fd :se
fileformat=dos<CR>
" nmap <leader>fu :se
fileformat=unix<CR>
" use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the
result
" map <C-x>l
<ESC>:cl<CR>
" map <C-x>n
<ESC>:cn<CR>
" map <C-x>p
<ESC>:cp<CR>
" map <C-x>c
<ESC>:cc<CR>
" 让 Tohtml 产生有 CSS 语法的 html
" syntax/2html.vim,可以用:runtime! syntax/2html.vim
let html_use_css=1
" Python 文件的一般设置,比如不要 tab 等
autocmd FileType python set tabstop=4 shiftwidth=4 expandtab
autocmd FileType python map <F12>
:!python %<CR>
" 选中状态下 Ctrl+c 复制
vmap <C-c> "+y
" 打开javascript折叠
let b:javascript_fold=1
" 打开javascript对dom、html和css的支持
let javascript_enable_domhtmlcss=1
" 设置字典 ~/.vim/dict/文件的路径
autocmd filetype javascript set
dictionary=$VIMFILES/dict/javascript.dict
autocmd filetype css set dictionary=$VIMFILES/dict/css.dict
autocmd filetype php set dictionary=$VIMFILES/dict/php.dict
"-----------------------------------------------------------------
" plugin - bufexplorer.vim Buffers切换
" \be 全屏方式查看全部打开的文件列表
" \bv 左右方式查看 \bs 上下方式查看
"-----------------------------------------------------------------
"-----------------------------------------------------------------
" plugin - taglist.vim 查看函数列表,需要ctags程序
" F4 打开隐藏taglist窗口
"-----------------------------------------------------------------
if MySys() == "windows" " 设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = '"'.$VIMRUNTIME.'/ctags.exe"'
elseif MySys() == "linux" " 设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif
nnoremap
<silent><F4>
:TlistToggle<CR>
let Tlist_Show_One_File = 1 " 不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 " 如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 " 在右侧窗口中显示taglist窗口
let Tlist_File_Fold_Auto_Close=1 " 自动折叠当前非编辑文件的方法列表
let Tlist_Auto_Open = 0
let Tlist_Auto_Update = 1
let Tlist_Hightlight_Tag_On_BufEnter = 1
let Tlist_Enable_Fold_Column = 0
let Tlist_Process_File_Always = 1
let Tlist_Display_Prototype = 0
let Tlist_Compact_Format = 1
"-----------------------------------------------------------------
" plugin - mark.vim 给各种tags标记不同的颜色,便于观看调式的插件。
" \m mark or unmark the word under (or before) the cursor
" \r manually input a regular expression. 用于搜索.
" \n clear this mark (i.e. the mark under the cursor), or clear all
highlighted marks .
" \* 当前MarkWord的下一个 \# 当前MarkWord的上一个
" \/ 所有MarkWords的下一个 \? 所有MarkWords的上一个
"-----------------------------------------------------------------
"-----------------------------------------------------------------
" plugin - NERD_tree.vim 以树状方式浏览系统中的文件和目录
" :ERDtree 打开NERD_tree :NERDtreeClose 关闭NERD_tree
" o 打开关闭文件或者目录 t 在标签页中打开
" T 在后台标签页中打开 ! 执行此文件
" p 到上层目录 P 到根目录
" K 到第一个节点 J 到最后一个节点
" u 打开上层目录 m 显示文件系统菜单(添加、删除、移动操作)
" r 递归刷新当前目录 R 递归刷新当前根目录
"-----------------------------------------------------------------
" F3 NERDTree 切换
map <F3>
:NERDTreeToggle<CR>
imap <F3>
<ESC>:NERDTreeToggle<CR>
"-----------------------------------------------------------------
" plugin - NERD_commenter.vim 注释代码用的,
" [count],cc 光标以下count行逐行添加注释(7,cc)
" [count],cu 光标以下count行逐行取消注释(7,cu)
" [count],cm 光标以下count行尝试添加块注释(7,cm)
" ,cA 在行尾插入 ,并且进入插入模式。 这个命令方便写注释。
" 注:count参数可选,无则默认为选中行或当前行
"-----------------------------------------------------------------
let NERDSpaceDelims=1 " 让注释符与语句之间留一个空格
let NERDCompactSexyComs=1 " 多行注释时样子更好看
"-----------------------------------------------------------------
" plugin - DoxygenToolkit.vim 由注释生成文档,并且能够快速生成函数标准注释
"-----------------------------------------------------------------
let g:DoxygenToolkit_authorName="Asins - asinsimple AT gmail DOT
com"
let g:DoxygenToolkit_briefTag_funcName="yes"
map <leader>da
:DoxAuthor<CR>
map <leader>df
:Dox<CR>
map <leader>db
:DoxBlock<CR>
map <leader>dc a
<LEFT><LEFT><LEFT>
"-----------------------------------------------------------------
" plugin – ZenCoding.vim 很酷的插件,HTML代码生成
" 插件最新版:http://github.com/mattn/zencoding-vim
" 常用命令可看:http://nootn.com/blog/Tool/23/
"-----------------------------------------------------------------
"-----------------------------------------------------------------
" plugin – checksyntax.vim JavaScript常见语法错误检查
" 默认快捷方式为 F5
"-----------------------------------------------------------------
let g:checksyntax_auto = 0 " 不自动检查
"-----------------------------------------------------------------
" plugin - NeoComplCache.vim 自动补全插件
"-----------------------------------------------------------------
let g:AutoComplPop_NotEnableAtStartup = 1
let g:NeoComplCache_EnableAtStartup = 1
let g:NeoComplCache_SmartCase = 1
let g:NeoComplCache_TagsAutoUpdate = 1
let g:NeoComplCache_EnableInfo = 1
let g:NeoComplCache_EnableCamelCaseCompletion = 1
let g:NeoComplCache_MinSyntaxLength = 3
let g:NeoComplCache_EnableSkipCompletion = 1
let g:NeoComplCache_SkipInputTime = '0.5'
let g:NeoComplCache_SnippetsDir = $VIMFILES.'/snippets'
" <TAB> completion.
inoremap
<expr><TAB>
pumvisible() ? "\<C-n>" :
"\<TAB>"
" snippets expand key
imap <silent>
<C-e>
<Plug>(neocomplcache_snippets_expand)
smap <silent>
<C-e>
<Plug>(neocomplcache_snippets_expand)
"-----------------------------------------------------------------
" plugin - matchit.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
" % 正向匹配 g% 反向匹配
" [% 定位块首 ]% 定位块尾
"-----------------------------------------------------------------
"-----------------------------------------------------------------
" plugin - vcscommand.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
" SVN/git管理工具
"-----------------------------------------------------------------
"-----------------------------------------------------------------
" plugin – a.vim
"-----------------------------------------------------------------
在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