Mac 下VIM配置

摘要:
只需将mvim放在/usr/bin/目录中。这是使用终端直接启动的VIM来讨论配置VIM。首先,您需要知道三个配置文件:vimrc、gvimrc和exrc。全局vimrc文件位于VIM安装目录中。我的电脑是Mac,所以它的路径是/usr/share/Vim/vimrc。如果您不知道全局vimrc的位置,可以打开vim。在正常模式下,输入以下命令获取其位置:echo$Vim用户版本的vimrc文件位于当前用户的主目录中,主目录的位置取决于操作系统。然后,我们需要进行配置。与Windows下的Vim不同,MacVim没有配置文件。当然,妈妈

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:

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),

Mac下VIM配置

把MacVim这个东东丢到/应用程序/这个目录下,

Mac下VIM配置

这是直接从应用程序中启动的!
Mac下VIM配置

于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等文件).

Mac下VIM配置

这是利用终端直接启动的VIM

Mac下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模式之前的位置(即以前编辑过的位置)。

          部分效果如下图:

    Mac 下VIM配置第6张

          不得不说vim-handbook-cn-71实在是一本学习Vim必不可少的书,非常全面地介绍了Vim地各种用法。

  •      一般安装过程如下:

    1. sudo sh (会提示你输入当前用户的密码) 
    2.   
    3. cp mvim /usr/bin
    4.  
    5. cd /usr/bin
    6.   
    7. 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 配置文件 ,高亮+自动缩进+行号+折叠+优化

将一下代码copy到 用户目录下 新建文件为  .vimrc
保存即可生效; 如果想所有用户生效 请修改 /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切换
" e 全屏方式查看全部打开的文件列表
" v 左右方式查看 s 上下方式查看
"-----------------------------------------------------------------


"-----------------------------------------------------------------
" 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
" manually input a regular expression. 用于搜索.
" 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命令,可以得到配置文件的详细信息。

version-vimrc

注意:如果执行gvim,那么$VIMRUNTIME/menu.vim也会被执行。

配置文件位置

vimrc是主配置文件,它有全局和用户两种版本。

全局vimrc文件,存放在Vim的安装目录中。可以使用以下命令,确定Vim的安装目录:

:echo $VIM

默认情况下,系统vimrc存放在以下位置:

Linux: /usr/share/vim/vimrc

Windows: c:program filesvimrc

用户vimrc文件,存放在用户主目录中。可以使用以下命令,确定用户主目录:

:echo $HOME

默认情况下,用户vimrc存放在以下位置:

Linux: /home/username/.vimrc

Windows: c:documents and settingsusername\_vimrc

注意:用户配置文件优先于系统配置文件。

gvimrc是GVIM的配置文件,它也有全局和用户两种版本,并且存放在与vimrc相同的目录中。

默认情况下,系统gvimrc存放在以下位置:

Linux: /usr/share/vim/gvimrc

Windows: c:program filesvim\_gvimrc

默认情况下,用户gvimrc存放在以下位置:

Linux: /home/username/.gvimrc

Windows: c:documents and settingsusername\_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配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DGL学习(二): 使用DGL构造图VXLAN学习之路-结合VRF在Linux中实践VXLAN网络下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux系统下安装zookeeper教程

环境: 1.VMware® Workstation 12 Pro 2.CentOS7 3.zookeeper-3.4.6 安装步骤 1.下载zookeeper 本文使用的zookeeper下载地址如下(大家也可以下载其它版本) 链接:https://pan.baidu.com/s/1Ab9F53jNy7upsrYHCacWrw     提取码:jqyn 2...

解析IOS控制台利用GDB命令查看报错堆栈

解析IOS控制台利用GDB命令查看报错堆栈是本文要介绍的内容,在ios开发中,如果提前释放一个指针的内存,在以后还继续使用这个指针,那么程序会立刻crash掉,而且很难有报错信息,我以前都是靠猜测去判断错误的原因,我们应该利用工具去找到错误的地方,然后快速准确的定位到错误地方,及其错误原因,最后进行改进。 其实ios控制台,提供这种机制,如果你选择debu...

linux下shell编程示例-获取进程id

今天初步学习了一下linux下的shell编程,简单记录一下测试用例 1.编辑shell脚本文件如下: #!/bin/bashecho "hello bash linux"echo "第0个参数:$0"echo "第一个参数:$1"echo "当前子shell进程:$$" #pidarr=`ps x | awk '{print $1}'`pidarr=$(...

Linux 下安装 MATLAB

MATLAB是美国MathWorks公司出品的商业数学软件,主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,是一款优秀而又强大的数学软件。 本文基于 Deepin 15.5 进行 MATLAB2016b 的安装,其他操作系统及 MATLAB 版本类似。 一、下载“Crack”和”ISO”文件 下载地址如下所示:http:/...

解决Linux服务器更换IP后,ssh连接被拒绝问题

解决Linux服务器更换IP后,ssh连接被拒绝问题     解决更换Linux服务器IP后,ssh登录报“ssh: connect to host xxx port 22: Connection refused”错误     由于之前服务器的sshd服务一直正常,但更换IP后通过putty进行登录,报“连接被拒绝”异常     一、重启sshd服务,查看...

迁移与裁剪linux系统

系统启动流程: POST 加电自检,载入一段程序完成基本及核心硬件的检测 --> BIOS 根据BIOS中设定的引导次序,查找对应设备上的MBR --> 读取MBR的BootLoader,BootLoader中配置了要引导的操作系统的内核的位置 --> 读取内核,内核进行初始化,需要initrd 将Kernel和真正的根文件系统连接起来...