vimrc位置和配置
1.查看vim版本和vimrc配置文件信息的方法
:version # 请在Linux或Windows下的Vim中输入
会列出以下文件路径(启动顺序示意):
1 system vimrc file(系统vimrc) 2 user vimrc file(用户vimrc) 3 user exrc file(支持vi的exrc配置文件) 4 system gvimrc file(系统gvimrc) 5 user gvimrc file(用户gvimrc)
2.Vim启动顺序
Vim 启动时,会先尝试执行系统的 vimrc 文件(通常此文件不存在),然后将按照上述顺序查找用户 vimrc,并使用所找到的第一个用户 vimrc 中的配置,忽略其余的用户 vimrc。
在windows下,有两个可选用户 vimrc 文件:一个是 $HOME\_vimrc,另外一个是 $VIM\_vimrc。$HOME/_vimrc 如果存在,就会执行这个文件中的配置,从而跳过 $VIM/_vimrc。
3.Vim的vimrc文件在Windows和Linux命名区别
Windows下vimrc 文件的名字: _vimrc(Windows不支持以点(.)开头的文件名,未找到名为 _vimrc 的文件,会查找名为 .vimrc 文件)
Linux下vimrc 文件的名字: .vimrc(未找到名为 .vimrc 的文件,会查找名为 _vimrc 文件)
注意:vimrc 的执行先于 gvimrc。所以我们可以把全部 vim 配置命令都放在 vimrc 中,不需要用 gvimrc。
4.使用VIM查看上述路径的方法
:echo $路径 # 使用vim查看vimrc路径时,可使用此方法
5.vimrc文件配置
Windows 中可增加 HOME环境变量(控制面板 -> 系统 --> 高级 --> 环境变量),然后将修改好的vimrc放在HOME环境变量所指定的目录中。
如果使用 vim -u filename 命令来启动 Vim,则会用你指定的 filename 作为 Vim 的配置文件(在调试你的 vimrc 时有用);如果用 vim -u NONE 命令启动 Vim,则不读取任何 vimrc 文件:当怀疑vimrc配置有问题时,可以用这种方式跳过vimrc的执行。
6.Linux环境.vimrc的简单配置参考
"======================================== " File Name: .vimrc " Author: Angus " Description: Vim配置文档 " Date: 2018.9.19 "======================================== "开启语法高亮 syntax enable if has("syntax") "语法高亮 syntax on endif " Uncomment the next line to make Vim more Vi-compatible " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous " options, so any other options should be set AFTER setting 'compatible'. set nocompatible "elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vimxx/colors目录下 colorscheme ron "检测文件类型 filetype on "允许插件 filetype plugin on "依文件类型设置自动缩进 if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif "have Vim load indentation rules and plugins according to the detected filetype filetype plugin indent on endif "设置一个制表符占4个字符 set ts=4 "--find setting-- "搜索时快速匹配/搜索 set incsearch set hlsearch "设置搜索高亮 set hls "设置搜索时忽略大小写 "set ignorecase "当搜索时尝试smart,如果搜索模式包含大写字符,不使用 'ignorecase' 选项。只有在输入搜索模式并且打开 'ignorecase' 选项时才会使用。 set smartcase "Enable mouse usage (all modes) 使用鼠标 set mouse=a "--状态行设置-- "总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行 set laststatus=2 "显示光标行列信息:用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上。 set ruler "突出显示当前行 "set cursorline "--命令行设置-- "总是在vim窗口的右下角显示当前光标的行列信息,命令行显示输入的命令 set showcmd "左下角显示当前Vim模式,命令行显示vim当前模式 set showmode "显示行号: set number "为方便复制,用<F2>开启/关闭行号显示: nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR> "启用Modeline(即允许被编辑的文件以注释的形式设置Vim选项,详见Vim Wiki: Modeline magic)[4]: "设置代码匹配,包括括号匹配情况 set showmatch set modeline "如果终端使用的是深色背景: "为深色背景调整配色 set background=dark "让Vim的补全菜单行为与一般IDE一致,两条指令效果一样(参考VimTip1228) "set completeopt+=longest set completeopt=longest,menu "开启vim三种智能:1.自动识别文件类型 2.用文件类型plugin脚本 3.使用缩进定义文件 filetype plugin indent on "文件修改之后自动读入 set autoread "自动保存文件,自动把内容写回文件: 如果文件被修改过,在每个 :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令时进行;用 :buffer、CTRL-O、CTRL-I、'{A-Z0-9} 或 `{A-Z0-9} 命令转到别的文件时亦然。 "set autowrite "自动对齐 set autoindent "智能对齐 "set smartindent "设置C/C++方式自动对齐 set cindent "设置C/C++语言的具体缩进方式 set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s "设置制表符(tab键)的宽度 set tabstop=4 "设置软制表符的宽度 set softtabstop=4 "(自动) 缩进使用的4个空格 set shiftwidth=4 "设置退格键可用 "set backspace=2 "整词换行 set linebreak "set command history to 50历史记录50条 set history=50 "光标从行首和行末时可以跳到另一行去 set whichwrap=b,s,<,>,[,] "标识预览窗口 "set previewwindow "Hide buffers when they are abandoned 隐藏缓冲区 "set hidden "离开插入模式后自动关闭预览窗口 autocmd InsertLeave * if pumvisible() == 0|pclose|endif "回车即选中当前项 inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" "上下左右键的行为 inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>" inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>" inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>" inoremap <expr> <PageUp> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>" "如需自动补全,可安装AutoComplPop插件,安装后如需在补全是显示文档(预览),可加入设置: let g:acp_completeoptPreview = 1 "建议在~/.vimrc中添加如下配置以使Vim在父目录中寻找tags文件[10]: set tags=tags;/ "设置好后,可在Vim中使用如下功能:Ctrl-]转至最佳匹配的相应Tag,Ctrl-T返回上一个匹配。如果有多个匹配,g Ctrl-]可显示所有备选的tags。如有需要,可互换Ctrl-]和g Ctrl-] [11]: "在普通和可视模式中,将<c-]>与g<c-]>互换 nnoremap <c-]> g<c-]> vnoremap <c-]> g<c-]> nnoremap g<c-]> <c-]> vnoremap g<c-]> <c-]> " CodeFolding 代码折叠功能配置 代码较长时可启用代码折叠功能,如按语法高亮元素折叠: set foldmethod=syntax "默认情况下不折叠 set foldlevel=99 "随后即可使用z系列命令管理代码折叠。如za会翻转当前位置的折叠状态,zA会递归翻转当前层所有代码的折叠状态等。当然也可以把功能键映射到za: map <F3> za " MiniBufExplorer 多文件切换 可使用鼠标双击相应文件名进行切换 let g:miniBufExplMapWindowNavVim=1 let g:miniBufExplMapWindowNavArrows=1 let g:miniBufExplMapCTabSwitchBufs=1 let g:miniBufExplModSelTarget=1 " Tlist 调用TagList let Tlist_Show_One_File=1 " 只显示当前文件的tags let Tlist_Exit_OnlyWindow=1 " 如果Taglist窗口是最后一个窗口则退出Vim let Tlist_Use_Right_Window=1 " 在右侧窗口中显示 let Tlist_File_Fold_Auto_Close=1 " 自动折叠 " TxtBrowser 高亮TXT文本文件 au BufRead,BufNewFile *.txt setlocal ft=txt

浙公网安备 33010602011771号