我的vimrc
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 基础设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nocompatible " 设置不兼容原始vi模式
filetype on " 设置开启文件类型侦测
filetype plugin on " 设置加载对应文件类型的插件
set noeb " 关闭错误的提示
syntax enable " 开启语法高亮功能
syntax on " 自动语法高亮
set t_Co=256 " 开启256色支持
packadd termdebug " 开启Termbug调试
set cmdheight=2 " 设置命令行的高度
set showcmd " select模式下显示选中的行数
set ruler " 总是显示光标位置
set laststatus=2 " 总是显示状态栏
set number " 开启行号显示
set cursorcolumn
set cursorline " 高亮显示当前行
highlight CursorLine cterm=NONE ctermbg=black guibg=NONE guifg=NONE
" 高亮显示当前行具体设置
set statusline=\ %<%F[%1%M%%n%R%H]%=\ %y\ %0(%{&fileformat}\ [%{(&fenc==""?&enc:&fenc).(&bomb?",BOM":"")}]\ %c:%l/%L%)
" 设置状态行显示的信息
set whichwrap+=<,>,h,l " 设置光标键跨行
set ttimeoutlen=0 " 设置
set virtualedit=block,onemore
" 允许光标出现在最后一个字符的后面
set mouse=a " 开启鼠标支持
set backspace=indent,eol,start
" 允许删除换行符
set wildmenu " 开启zsh支持
set wildmode=full " zsh补全菜单
set hidden " 文件未保存时切换缓冲区由vim保存
set display=lastline " 避免折行后某一行不见
set fillchars=vert:\ ,stl:\ ,stlnc:\
" 在分割窗口间留出空白
set autochdir " 移至当前文件所在目录
set guifont=monaco\ 9
set linespace=2
set go=
set foldmethod=manual
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 快捷键设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map 3 :call Cut()<CR><c-w>l func! Cut() exec '40vs %<.out' exec 'w' exec 'sp %<.in' exec 'w' endfunc map
4
func! Close()
exec 'wq'
exec 'wq'
endfunc
map
func! GDB()
exec 'Termdebug %<'
endfunc
map 1 :call Compile()<CR> func! Compile() exec 'w' exec '!g++ %<.cpp -g -o %<' endfunc map <F8> :call Compile_With_O2()<CR> func! Compile_With_O2() exec 'w' exec '!g++ %<.cpp -O2 -g -o %<' endfunc map
2 :call Run()
func! Run()
exec '!time ./%<'
endfunc
map
map
map
map
map
map
map
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码缩进和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set autoindent " 设置自动缩进
set cindent " 设置使用C/C++语言的自动缩进方式
" 设置C/C++语言的具体缩进方式
set smartindent " 智能的选择对其方式
filetype indent on " 自适应不同语言的智能缩进
set expandtab " 将制表符扩展为空格
set tabstop=4 " 设置编辑时制表符占用空格数
set shiftwidth=4 " 设置格式化时制表符占用空格数
set softtabstop=4 " 设置4个空格为制表符
set smarttab " 在行和段开始处使用制表符
set backspace=2 " 使用回车键正常处理indent,eol,start等
set sidescroll=10 " 设置向右滚动字符数
set nofoldenable " 禁用折叠代码
set history=2000 " 历史ex命令记录上限提高
set scrolloff=6 " 上下可视行数
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set hlsearch " 高亮显示搜索结果
set incsearch " 开启实时搜索功能
set nowrapscan " 搜索到文件两端停止
set incsearch " 实时搜索
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 缓存设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nobackup " 设置不备份
set noswapfile " 禁止生成临时文件
set autoread " 文件在vim之外修改过,自动重新读入
set autowrite " 设置自动保存
set confirm " 在处理未保存或只读文件的时候,弹出确认
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 编码设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set langmenu=zh_CN.UTF-8
set helplang=cn
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件列表
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin('~/.vim/plugged')
Plugin 'VundleVim/Vundle.vim' " 使用Vundle的必须配置
Plugin 'chxuan/vimplus-startify' " 启动界面
Plugin 'w0rp/ale' " 语法错误提示
"Plugin 'lurst/austere.vim'
"Plugin 'luochen1990/rainbow' " 彩虹括号
call vundle#end()
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" airline 设置
if filereadable(expand($HOME . '/.vimrc.airline'))
source $HOME/.vimrc.airline
endif
" rainbow
let g:rainbow_active = 1
color space-vim-dark
"set background=dark
"let g:solarized_termcolors=256
"模板
map `0 :0r ~/模板/xhc.cpp