您的位置:首页 > 其它

VIM - 使用总结 (长期更新)

2018-08-29 20:57 232 查看

    已经好几个月没写博客了,都工作两个多月了,写一下工作中用到的VIM编辑器使用心得吧,记录防忘!!!

******************************************************************************

VIM

******************************************************************************

*

*

一、 spec

    首先肯定是参考官方文档啦。看PDF文档或者直接在 VIM 里看,只需要在终端中输入:

$ vim

    熟悉的“帮助乌干达儿童”界面如下:

    按照提示输入:

:h[elp]

    其实也可直接在终端中输入:

$ vim +h[elp]

    或输入:

$ vim -c h[elp]

 

 二、 配置

  •  多字节支持(mbyte)

"-------------------- 编码 -----------------------
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set fileencoding=utf-8
set termencoding=utf-8
set encoding=utf-8

  • 多标签页窗口编辑(tabpage)
"-------------------- 标签页 -----------------------
"标签页窗口 保留+,添加标签页窗口数量,只显示文件名
function Deftablabel()
let label = ''
let bufnrlist = tabpagebuflist(v:lnum)
"获取完整的缓冲区名(即完整路径和文件名)
let full_path = bufname(bufnrlist[tabpagewinnr(v:lnum) - 1])
"获取文件名
let filename  = fnamemodify(full_path, ':t')
"如果标签页的内容修改,则为标签添加“+”
for bufnr in bufnrlist
if getbufvar(bufnr, "&modified")
let label = '+'
break
endif
endfor
"获取标签页里的窗口数量
let wincnt = tabpagewinnr(v:lnum, '$')
"如果标签页里的窗口数量大于1,则在label变量后显示数字
if wincnt > 1
let label .= wincnt
endif
"空一格
if label != ''
let label .= ' '
endif
"返回 label 和 filename 两个变量值
return label . filename
"   return label . fnamemodify(bufname(bufnrlist[tabpagewinnr(v:lnum) - 1]), ':t')
endfunction
set guitablabel=%{Deftablabel()}

" %n 缓冲区号; %r 只读标志位; %m 修改标志位; %t 缓冲区的文件的文件名(尾部)
"set guitablabel=%n%r%m%t
  • 键映射(map)
"-------------------- 自动补全 -----------------------
"使用映射
inoremap   (   ()<ESC>i
inoremap   [   []<ESC>i
inoremap   {   {}<ESC>i
inoremap   "   ""<ESC>i
inoremap   '   ''<ESC>i
  • 缩进(indent)
"-------------------- 缩进 -----------------------
"沿用上一行的缩进
"set    autoindent
"类似 autoindent,但是可以识别一些 C 语法以能在合适的地方增加 / 减少缩进
set    smartindent
  • 制表符(tabstop)
"-------------------- 制表符 -----------------------
"制表符宽度
set tabstop=4
"增加缩进
set shiftwidth=4
"混合使用空格和制表符
set softtabstop=4
"替换制表符为空格
set expandtab
  •  语法高亮(highlight)

"-------------------- 语法高亮 -----------------------
"激活,保持你当前的色彩设置
"syntax enable
"开启语法高亮, 用缺省值覆盖你自己的
syntax on
"只在支持彩色的终端中生效
if &t_Co > 1
syntax enable
endif


"文件类型检测
filetype on
"为特定的文件类型允许插件文件的载入,为特定的文件类型载入缩进文件
filetype plugin indent on

 
  • 兼容性
"-------------------- 兼容 -----------------------
"不兼容VI,使用VIM的新特性
set nocompatible

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: