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
vimset modelines=0"
CVE-2007-2438" Normally we use vim-extensions.
If you want true vi-compatibility" remove change the following
statementsset nocompatible" Use Vim
defaults instead of 100% vi compatibilityset backspace=2" more powerful
backspacingsyntax on
" 语法高亮
autocmd InsertLeave * se
noculautocmd InsertEnter * se
cul" 用浅色高亮当前行
set smartindent
" 智能对齐
set autoindent
" 自动对齐
set confirm
" 在处理未保存或只读文件的时候,弹出确认
set tabstop=4
" Tab键的宽度
set softtabstop=4
set shiftwidth=4
"
统一缩进为4set 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-8set helplang=cn
" 语言设置
set cmdheight=2
"
命令行(在状态行)的高度,默认为1,这里是2set 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,eolset
backspace=2
等同于 set backspace=indent,eol,startindent,eol,start这三项内容分别指定了Vim可以删除位于行首的空格,断行,以及开始进入Insert模式之前的位置(即以前编辑过的位置)。
部分效果如下图:
不得不说vim-handbook-cn-71实在是一本学习Vim必不可少的书,非常全面地介绍了Vim地各种用法。
一般安装过程如下:
- sudo sh (会提示你输入当前用户的密码)
- cp mvim /usr/bin
- cd /usr/bin
- chown yarin(用户名):admin(用户组) mvim
后把MacVim放到你的应用程序也就是/Applications目录下(必须放到应用程序目录下,否则mvim会找不到MacVim的可执行文件)。
- 然后就可以在终端通过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
Mac 下VIM配置的更多相关文章
- Mac下Vim配置语法高亮
设置终端的字体颜色 如图,打开终端然后,选择偏好设置,再选择描述文件,再窗口左侧可以选择系统配置好的,或者你也可以自定义,最后别忘了把你的配置设置成默认就行 Vim语法高亮设置 只需要找到vimrc配 ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- Mac下Vim编辑快捷键小结(移动光标)
Mac下Vim编辑快捷键小结(移动光标) 1.移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^" 2.移动到段首&qu ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- Mac下 如何配置虚拟机软件Parallel Desktop--超详细
Mac下 如何配置虚拟机软件Pparallel Desktop--超详细 Mac 的双系统解决方案有两种,一种是使用Boot Camp分区安装独立的Windows,一种是通过安装Parallels D ...
- CentOS 6.5 下Vim 配置图解
分享个CentOS 6.5 下Vim 配置图文详解,希望对大家有所帮助. 1. 登录并进入你常用的用户名下,查看其主目录 命令: # su xxx $ cd xxx $ ls -a 2.查看并建立目录 ...
- Mac下iTerm2配置lrzsz功能
Mac下iTerm2配置lrzsz功能 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 优点就是不用再开一个sftp工具登录上去上传下载文件. 近期在mac上通 ...
- 2016年最新mac下vscode配置golang开发环境支持debug
网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来. mac最好装下xcode,好像有依赖关系安装Homebrew打开终端窗口, 粘贴脚本执行/usr/bin/ru ...
- Mac下如何配置环境变量
以前都是在Windows平台上开发,在配置一些框架的时候,为了能够在命令行中调用,一般都会配置bin目录到环境变量中,这是为了让命令行在执行的时候,能够查找到对应的执行文件. 现在工作使用Mac,配置 ...
随机推荐
- Linux网络编程案例分析
本代码来自于博主:辉夜星辰 本篇主要对运行代码中出现的问题进行分析,代码本身的内容后续展开讨论. 服务器端代码 /* Linux网络编程之TCP编程,服务器端读数据 socket函数之后,返回值ser ...
- Q138 复制带随机指针的链表
给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点. 要求返回这个链表的深拷贝. 示例: 输入: {"$id":"1",& ...
- Mac OS X中Launchpad的图标添加删除方法(添加方法别试了,和Linux很大区别)
说明:在Mac下的Launchpad图标添加和删除都与应用程序的app文件有关,如果单纯的只想在Launchpad添加自定义的图标,然后指定要某条命令运行时,建议不要这么干,Launchpad的图标管 ...
- [Xarmrin.IOS]使用Build Host 在Windows上建置IOS程式及DeBug (转帖)
使用Xamarin開發IOS程式時, 必須要在Mac上才可以編譯程式,若想在windows系統上編譯,則可透過Build host的方式, 但還是要有一台Mac的電腦就是了XD 首先你的Mac必須要已 ...
- Javascript框架设计思路图
这个系列的随笔都是关于Javascript框架设计一书的读书笔记(作者是司徒正美),不是本人原创!!! 一.简介: 1.市面上主流的JS框架,大多数是由一个个模块组合而成,模块化是大多数让软件所遵循的 ...
- 在超链接href中实现form的提交
<form name="form1" method="post" action=""> <div class=" ...
- 10w定时任务,如何高效触发超时
一.缘起 很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描. 例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TC ...
- TypeScript 乱糟笔记
数组头上插一个值. var arr: Array<String> = ['a', 'b', 'c'];arr.unshift('d'); object删除元素. var obj: Obje ...
- this,小心!
this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在JS中,由于 javascript的动态性(解释执行,当然也有简单的预编译过程),this ...
- 使用TensorFlow进行中文自然语言处理的情感分析
1 TensorFlow使用 分析流程: 1.1 使用gensim加载预训练中文分词embedding 加载预训练词向量模型:https://github.com/Embedding/Chinese ...