首页 > 代码库 > VIM

VIM

"显示  
"==================================================================================================
set shortmess=atI   "启动的时候不显示那个援助乌干达儿童的提示  
set go=             "不要图形按钮  
set syntax=on       "语法高亮
set showcmd         "输入的命令显示出来,看的清楚些  
set laststatus=1    "启动显示状态行(1),总是显示状态行(2)  
set nocompatible    "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限  
colorscheme delek   "设置配色方案

"状态行显示的内容
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}

"搜索逐字符高亮
set hlsearch
set incsearch

"字体 
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
"==================================================================================================

"键盘
"==================================================================================================
nnoremap <A-d> :g/^\s*$/d<CR> 
map <C-d> J
nnoremap <F2> :vert diffsplit 
map <C-A> ggVGY
vmap <C-c> y
imap <S-space> <C-n>

"Alt+d去空行  
"Ctrl+d去换行符
"F2比较文件  
"Ctrl+a全选+复制
"选中状态下Ctrl+c复制
"插入模式下Shift+Space补码

"注:map前缀:nore表示非递归;n表示在普通模式下生效;v表示在可视模式下生效;i表示在插入模式下生效;c表示在命令行模式下生效 
"==================================================================================================

"设置
"==================================================================================================
set autoread					"设置当文件被改动时自动载入
set completeopt=preview,menu	                "代码补全 
set clipboard+=unnamed			        "共享剪贴板  
set nobackup					"从不备份  
set autowrite					"自动保存
set cursorline					"突出显示当前行
set guioptions-=T				"隐藏工具栏
set guioptions-=m				"隐藏菜单栏
set nocompatible				"不要使用vi的键盘模式,而是vim自己的
set noeb					"去掉输入错误的提示声音
set confirm					"在处理未保存或只读文件的时候,弹出确认
set number					"显示行号
set history=1000				"历史记录数
set ignorecase					"搜索忽略大小写
set gdefault					"行内替换
set laststatus=2				"总是显示状态行
set viminfo+=!					"保存全局变量
set iskeyword+=_,$,@,%,#,-		        "带有如下符号的单词不要被换行分割
set linespace=0					"字符间插入的像素行数目
set wildmenu					"增强模式中的命令行自动完成操作
set report=0					"通过使用: commands命令,告诉我们文件的哪一行被改变过
set showmatch					"高亮显示匹配的括号

"禁止生成临时文
set nobackup
set noswapfile

"语言设置
set langmenu=zh_CN.UTF-8
set helplang=cn

"自动缩进
set autoindent
set cindent						

"Tab键的宽度为4;统一缩进为4
set tabstop=4
set softtabstop=4
set shiftwidth=4

"可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位
set mouse=a
set selection=exclusive
set selectmode=mouse,key

"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(‘)‘)<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair(‘}‘)<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(‘]‘)<CR>
:inoremap " ""<ESC>i
:inoremap ‘ ‘‘<ESC>i
function! ClosePair(char)
    if getline(‘.‘)[col(‘.‘) - 1] == a:char
        return "\<Right>"
    else
        return a:char
    endif
endfunction
"==================================================================================================




VIM