vim常用设置

.vimrc文件


       我们已经知道vim的配置文件vimrc文件,而且知道vimrc文件分为系统vimrc文件用户vimrc文件。在通常情况下,我们不进行系统vimrc文件的修改,而是各个用户针对自己的需求对用户vimrc文件进行配置。

• vimrc文件的路径

       打开vim并输入":version"命令,就可以看到关于vimrc的路径设置规则:

▶ Linux系统

▶ Windows系统

• 用户vimrc文件

       通常在用户家目录下会有一个默认的vimrc文件,如果不存在则创建一个名为".vimrc"的普通文本文件即可。

vim常用配置


• 缩进设置

set smarttab

" 设置tab符长度为4个空格
set tabstop=4

" 设置换行自动缩进长度为4个空格
set shiftwidth=4

" 设置tab符自动转换为空格
set expandtab

" 设置智能缩进,其他可选缩进方式:autoindent, cindent, indentexpr
set smartindent

• 字体设置

" 在Windows系统中为:set guifont=Courier_New:h12:cANSI
set guifont=Courier\ New\ 10

• 显示行号

" 设置显示行号,关闭行号显示命令:set nonumber
set number

• 配色方案

" 设置配色方案
colorscheme desert

• 折叠设置

▶ 折叠种类

       http://man.lupaworld.com/content/manage/vi/doc/fold.html

       manual :手工定义折叠。当退出文件编辑时,手工折叠会被遗弃。如果要保存折叠,则使用:mkview命令;恢复折叠,则使用:loadview命令。创建折叠的方法参见下面的折叠操作。
       indent   :更多缩进表示更高级别的折叠。当打开文本时,vim将自动根据缩进进行文本折叠。具体使用效果图如下:

        
       expr      : 用表达式来定义折叠。这种折叠的规则类似indent折叠,将由表达式计算的值做为折叠级别判定。该折叠方式下,选项foldexpr的值将被计算并作为一行的折叠级别。譬如我们如果想要折叠空行分开的段落,那么我们需要设置选项:

set fdm=expr
set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1

      设置完成之后效果图如下,可以访问上面链接地址进一步了解表达式折叠。

        
       syntax   : 用语法高亮来定义折叠。具体使用效果图如下:

        
       diff        : 对没有改动的文本或靠近改动的文本自动定义折叠,这个方法仅适用于当前窗口设定diff选项来显示不同之处时才有效。具体使用效果图如下:

      
       marker  : 对文中的标志折叠。当使用这种方式折叠时,需要根据特定的文本标记来标识代码折叠,系统默认文本标记是{{{}}}。当设置为marker方式的折叠,打开文本时,vim将自动根据标记折叠。具体使用效果图如下:

       

▶ 折叠配置

" 折叠设置
set
foldmethod=marker

▶ 折叠操作

      • zi   : 关闭所有折叠/打开所有折叠。

      • zc  : 关闭当前打开的折叠。

      • zC  : 对所在范围内所有嵌套的折叠点进行折叠。

      • zo  : 打开当前关闭的折叠。

      • zO  : 对所在范围内所有嵌套的折叠点进行展开。

      • zm : 关闭当前折叠。

      • zM : 关闭所有折叠。

      • zr   : 打开当前折叠。

      • zR  : 打开所有折叠。

      • [z   : 到当前打开的折叠的开始处。

      • ]z   : 到当前打开的折叠的末尾处。

      • zj   : 到下一个折叠的开始处。

      • zk  : 到前一个折叠的末尾处。

      • zd  : 删除当前光标下的折叠,仅当foldmethod为manual和marker时有效。

      • zD :  对所在范围内所有嵌套的折叠点进行删除,仅当foldmethodmanualmarker时有效。

      • zE :  删除所有折叠,仅当foldmethodmanualmarker时有效。

 

      • [n]zfG                                         : 创建从当前行到第n行之间的代码折叠。

      • [n]zf[Enter] or [n]zf+ or [n]zf↓ : 创建从当前行开始到后n行之间的代码折叠。

      • [n]zf- or [n]zf↑                           : 创建从当前行开始到前n行之间的代码折叠。

      • zf%                                             : 在括号处创建到对应匹配的括号的折叠。

• 备份文件 

" 如果想关闭备份文件,使用:set nobackup
set backup
set backupext=.bak

 • 空白符显示

" 设置显示空白符
set list
set listchars=tab:\>\ ,trail:.

" 设置行尾空格高亮显示
highlight WhitespaceEOL ctermbg=red guibg=red 
match WhitespaceEOL /\s\+$/

 

posted @ 2015-09-10 17:32  碎语心弦  阅读(17682)  评论(0编辑  收藏  举报