Vimrc 配置文件 .包括GO插件设置

Vim配置详解
本文介绍了一套详细的Vim编辑器配置方案,包括增强编辑体验的各项设置,如自动保存、自动缩进、代码补全等功能,并提供了针对不同编程语言的定制化配置。
set encoding=utf-8
set nobomb  
set ts=4
set expandtab
set autowrite       " 自动保存
set autoindent      " 自动缩进
set background=dark
set backspace=2   " 设置退格键可用
set completeopt=preview,menu        " 代码补全
set clipboard+=unnamed      " 共享剪贴板
set cursorline      " 突出显示当前行
set cursorcolumn    " 突出显示当前列
set confirm         " 在处理未保存或只读文件的时候,弹出确认
set cmdheight=2     " 总是显示状态行
set cindent         " 使用C/C++语言的自动缩进方式
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s     "设置C/C++语言的具体缩进方式
set foldenable      " 允许折叠
set fillchars=vert:\ ,stl:\ ,stlnc:\        "在被分割的窗口间显示空白,便于阅读
set history=1024    " 历史记录数
set hlsearch        " 搜索逐字符高亮
set incsearch
set iskeyword+=_,$,@,%,#,-          " 带有如下符号的单词不被换行分割
set ignorecase      " 搜索忽略大小写
set linebreak       " 整词换行
set laststatus=2    " 启动显示状态行(1),总是显示状态行(2)
set matchtime=1     " 匹配括号高亮的时间(单位是十分之一秒)
set mouse=a         " 使用鼠标
set number          " 显示行号
set nocompatible    " 去一致性
set previewwindow   " 标识预览窗口
set ruler           " 显示标尺
set showcmd         " 输入的命令显示出来
set scrolloff=3     " 光标移动到buffer的顶部和底部时保持3行距离
set softtabstop=2   " 统一缩进为4
set shiftwidth=4
set smarttab        " 在行和段开始处使用制表符
set showmatch       " 高亮显示匹配的括号
set showcmd
set showmode
set tabstop=2       " Tab键的宽度
set whichwrap=b,s,<,>,[,]         "光标从行首和行末时可以跳到另一行去
filetype plugin indent on

nnoremap <F2> :set invpaste paste?<CR>
imap <F2> <C-O>:set invpaste paste?<CR>
set pastetoggle=<F2>

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] == "\\"
 return a:char
 elseif line[col - 1] == a:char
 return "\<Right>"
 else
 return a:char.a:char."\<Esc>i"
 endif
endf

"以下是GO-VIM 配置,可能和NREDTree冲突,如果报错可屏蔽删除.
execute pathogen#infect()
syntax on
filetype plugin indent on
let g:go_version_warning = 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值