为什么80%的码农都做不了架构师?>>>   

VIM学习笔记 配置文件(vimrc)

在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-=Tset paste
"set clipboard=unnamed " 让Vim和Win共用剪贴板set cursorline cursorcolumnsyntax enable " 打开语法高亮
syntax on " 允许按指定主题进行语法高亮,而非默认高亮主题
colorscheme xoria256 " 指定配色方案set showcmd " 在命令行显示当前输入的命令set langmenu=en_US " 将菜单和信息设置为英文
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vimset 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-8filetype on " 开启文件类型侦测
filetype plugin on " 根据侦测到的不同类型加载对应的插件if has("autocmd") && exists("+omnifunc")
autocmd Filetype *
\ if &omnifunc == "" |
\ setlocal omnifunc=syntaxcomplete#Complete |
\ endif
endifset 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=peruelseif a:mode == 'r'hi statusline guibg=blueelsehi statusline guibg=blackendif
endfunctionau InsertEnter * call InsertStatuslineColor(v:insertmode)
au InsertLeave * hi statusline guibg=orange guifg=white
hi statusline guibg=blackhi User1 guifg=gray
hi User2 guifg=red
hi User3 guifg=whiteset 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 &wrapset nowrapelseset wrapendif
endfunctionfunction! ToggleHLSearch()if &hlsset nohlselseset hlsendif
endfunctionfunction! ToggleCursor()if &cursorcolumnset nocursorline nocursorcolumnelseset cursorline cursorcolumnendif
endfunctionlet 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 autoreadset list!
set listchars=nbsp:¬,tab:┈┈,precedes:«,extends:»,trail:
hi NonText ctermfg=247 guifg=#a73111 cterm=bold gui=bold
hi SpecialKey ctermfg=77 guifg=#654321augroup filetypedetectau BufNewFile,BufRead *.mxl setf mxl
augroup END

FROM: http://yyq123.blogspot.com/2012/01/vim-vimrc.html

原文链接: http://blog.csdn.net/t0nsha/article/details/7325676

转载于:https://my.oschina.net/dtec/blog/46679

VIM学习笔记 配置文件(vimrc)相关推荐

  1. vim学习笔记(4)帮助与配置

    使用帮助 在Vim中输入命令:help,即可进入帮助界面,默认是英文,可以通过以下方式安装中文帮助(以vimcdoc-1.9.0为例): 1.下载中文帮助的文件压缩包 2.解压 tar -xzvf v ...

  2. vim学习笔记(三)

    1.vim的配置文件在哪里? 在normal模式下输入 :echo $VIM Vim的主配置文件为vimrc文件,它分为两个版本:global和personal,其中前者一般在/usr/share/v ...

  3. Shell开发环境vim编辑器的配置文件vimrc的参数优化

    Linux环境下为了方便Shell的开发,对配置文件vimrc的参数需要进行一些的优化,vim编辑器的配置文件默认路径为:~/.vimrc(全局路径为/etc/vimrc). 参数如下: " ...

  4. VIM学习笔记 缩进 (Indent)

    (学习vim时看到的一篇很全的缩进学习笔记,所以转载了) (装载自http://www.360doc.com/content/16/0320/11/31808797_543774173.shtml) ...

  5. vim学习笔记(四)

    下面是我的最近更新,差点删除. 下面的笔记摘自vimtutor.<CR>表示回车 删除命令 在normal模式下: de 删除一个单词,不包含空格 dw 删除一个单词,包含空格 dd 删除 ...

  6. vim学习笔记一(环境配置及编译文件)

    今天开始在linux进行编程学习,首先是环境的配置.使用的ubuntu系统自带的vim.但是在使用前要先对vim进行配置,使其更友好. 配置方法是对vimrc进行修改,分享下我的vimrc,(下载地址 ...

  7. 【编辑器】Vim学习笔记

    0x00先放几个比较好的学习资料 1.Vim入门基础 http://www.jianshu.com/p/bcbe916f97e1 2.vim配置 http://blog.csdn.net/g_brig ...

  8. vim学习笔记-常用命令

    vim手册功能太多了,在此整理一些常用的供后期学习查阅 1.移动光标方式 j:上(同↑) k:下(同↓) h:左(同←) l:右(同→) +或Enter: 把光标移至下一行第一个非空白字符. -: 把 ...

  9. vim学习笔记(一)

    :vertical sfind  垂直分隔窗口(vsf),但是两个窗口的内容完全相同.在编辑的时候,内容也完全相同,如果要关闭一个窗口,输入:exit即可 :buffers 显示整个缓冲区列表 ndG ...

最新文章

  1. java stringbuffer长度_java – 具有极大变化长度的输入的最佳StringBuffer初始容量是多少?...
  2. 组网中交换机虚拟化技术的应用
  3. html表格中添加修改和删除链接,jQuery实现为table表格动态添加或删除tr功能示例...
  4. Java 数组去掉小于60的项
  5. 基于rancher在线安装k8s集群
  6. linux 连接wifi不稳定,rtl8188ce 无线网不稳定终极解决方案 - 哆啦比猫的技术瞎扯 - Arch Linux · ドラえもん · 实时绘制...
  7. linux mono mysql_LJMM平台( Linux +Jexus+MySQL+mono) 上使用MySQL的简单总结
  8. 据悉,深圳某工程师沦为C语言笔试枪手
  9. cgi web 调用多次启动_全面了解CGI、FastCGI、PHPFPM
  10. UNIX-LINUX编程实践教程-第三章-实例代码注解-ls2
  11. Oracle NetSuite:异军突起的云原生ERP
  12. 自己写的一个执行带参数的sql,PreparedStatement
  13. python字典数据的特点_Python核心数据类型之字典15
  14. LDA-线性判别分析
  15. matlab中clc什么意思,MATLAB中clc是什么意思
  16. java(maven)链接neo4j
  17. 矩阵分析: Hilbert行列式
  18. 灵境(元宇宙)金融投资及监管的探讨
  19. C#中 out 参数的使用
  20. 计算机软件技术基础上机心得,计算机软件技术基础上机编程

热门文章

  1. qt 子窗口与父窗口数据通信_Qt实例--主窗口和子窗口互发信号
  2. 大数据学习笔记:HBase Shell操作
  3. Vue + Spring Boot 学习笔记02:引入数据库实现用户登录功能
  4. 【BZOJ4129】Haruna’s Breakfast,树上带修莫队+权值分块求mex
  5. 2017.10.1 互不侵犯king 思考记录
  6. 2017.9.17 kamp 思考记录
  7. [C++] C++标准中定义的实体(entity)/ 声明 / 定义
  8. 关于oracle数据库论文,Oracle数据库研究论文 有关Oracle数据库的论文
  9. 用GDB调试Segmentation Fault错误
  10. 联级阴影贴图CSM(Cascaded shadow map)原理与实现