博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gvim 编辑器配置
阅读量:5143 次
发布时间:2019-06-13

本文共 2336 字,大约阅读时间需要 7 分钟。

"关才兼容模式

set nocompatible

"模仿快捷键,如:ctrt+A 全选、Ctrl+C复制、 Ctrl+V 粘贴等

source $VIMRUNTIME/vimrc_example.vim

source $VIMRUNTIME/mswin.vim

behave mswin

 

"gvim字体设置

set guifont=新宋体:h14:cGB2312

 

"gvim 内部编码

set encoding=utf-8

"当前编辑的文件编码

set fileencoding=utf-8

"gvim打开支持编码的文件

set fileencodings=ucs-bom,utf-8,gbk,cp936,gb2312,big5,euc-jp,euc-jp,euc-kr,latin1

 

"解决consle输出乱码

language messages zh_CN.UTF-8

"解决菜单乱码

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

 

"设置终端编码为gvim内部编码encoding

let &termencoding=&encoding

防止特殊符号无法正常显示

set ambiwidth=double

"缩进尺寸为4个空格

set sw=4

"tab 宽度为4个字符

set ts=4

"编辑时将所有tab替换为空格

set et

"按一次backspace就删除4个空格了

set smarttab

"不生成备份文件,如~index.html

set nobackup

"开启行号标记

set number

"配色方案为desert

colo desert

"关才上侧工具栏

set guioptions-=T

"关才右侧滚动条

"set guioptions-=r

"开启自动缩进

set autoindent

 

 

"代码自动补全  (按快捷键Ctrl+X+O

set autoindent

autocmd FileType python set omnifunc=pythoncomplete#Complete

autocmd FileType javascrīpt set omnifunc=javascrīptcomplete#CompleteJS

autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

autocmd FileType css set omnifunc=csscomplete#CompleteCSS

autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags

autocmd FileType php set omnifunc=phpcomplete#CompletePHP

autocmd FileType c set omnifunc=ccomplete#Complete

 

"代码折叠

"用空格键来开关折叠(说明西方“"”后面的内容为注释,不会被VIM所识别)

set foldenable

set foldmethod=indent

nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>

 

"实现括号和引号自动补全

inoremap ( ()<Esc>i

inoremap [ []<Esc>i

inoremap { {<CR>}<Esc>O

autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>

inoremap ) <c-r>=ClosePair(')')<CR>

inoremap ] <c-r>=ClosePair(']')<CR>

inoremap } <c-r>=CloseBracket()<CR>

inoremap " <c-r>=QuoteDelim('"')<CR>

inoremap ' <c-r>=QuoteDelim("'")<CR>

 

function ClosePair(char)

 if getline('.')[col('.') - 1] == a:char

 return "\<Right>"

 else

 return a:char

 endif

endf

 

function CloseBracket()

 if match(getline(line('.') + 1), '\s*}') < 0

 return "\<CR>}"

 else

 return "\<Esc>j0f}a"

 endif

endf

 

function QuoteDelim(char)

 let line = getline('.')

 let col = col('.')

 if line[col - 2] == "\\"

 "Inserting a quoted quotation mark into the string

 return a:char

 elseif line[col - 1] == a:char

 "Escaping out of the string

 return "\<Right>"

 else

 "Starting a string

 return a:char.a:char."\<Esc>i"

 endif

endf

 

转载于:https://www.cnblogs.com/mmix2009/p/3216900.html

你可能感兴趣的文章
iOS8 针对开发者所拥有的新特性汇总如下
查看>>
Jmeter + Grafana搭建实时监控可视化
查看>>
uCGUI字符串显示过程分析和uCGUI字库的组建
查看>>
h5唤起app
查看>>
SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
查看>>
[转]vs2010编译金山代码
查看>>
数学图形之Boy surface
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
01: socket模块
查看>>
mysql触发器
查看>>
淌淌淌
查看>>
MySQL-定时任务
查看>>
web页面实现指定区域打印功能
查看>>
使用PHP拆分中文字符串的方法(收藏) 小节
查看>>
android系统权限的管理
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
因Window服务器自动更新并重启导致WebSphere服务停止服务故障一例
查看>>
如何开启safari的调试
查看>>
js深拷贝和浅拷贝
查看>>
node.js 基础学习笔记1
查看>>