简洁的vim配置


Title: 简洁的vim配置
date: 2018/6/9 22:04:12
tags:

  • 工具
  • linux

vim配置好了是可以很高效的,但是现在一些vim配置文件写得很复杂,导致拖慢了vim的执行速度,因此我自己写了一个精简的vimrc,里面只包含我真正需要的东西。

vim好用的插件

使用vundle管理插件,所以在使用该配置之前执行

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

vim 升级

sudo add-apt-repository ppa:jonathonf/vim
sudo apt-get update
sudo apt-get install vim-nox-py2
sudo mv /usr/local/bin/vim /usr/local/bin/vim.old
sudo ln -s /usr/bin/vim.nox-py2 /usr/local/bin/vim

ubuntu16.04下VIM升级、配置插件YouCompleteMe

vim 配置文件
以下是我的.vimrc文件,应放在 ~ 目录下。然后在vim中执行PluginInstall。

"vundle 环境设置
                                                                                                                                                                                                                                                     filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'altercation/vim-colors-solarized'
" Plugin 'Valloric/YouCompleteMe’
" 插件列表结束
call vundle#end()
filetype plugin indent on
 
" 定义快捷键的前缀,即<Leader>
let mapleader=";"
" 开启文件类型侦测
filetype on
" 根据侦测到的不同类型加载对应的插件
filetype plugin on
" 定义快捷键到行首和行尾
nmap LB 0
nmap LE $
" 将H映射为到行首
nnoremap H <S-^>
" 将L映射为到行尾
nnoremap L $
" 将esc映射为control + c
nmap <C>c esc
" 设置快捷键将选中文本块复制至系统剪贴板
vnoremap <Leader>y "+y
" 设置快捷键将系统剪贴板内容粘贴至 vim
nmap <Leader>p "+p
" 定义快捷键关闭当前分割窗口
nmap <Leader>q :q<CR>
" 定义快捷键保存当前窗口内容
nmap <Leader>w :w<CR>
" 定义快捷键保存所有窗口内容并退出 vim
nmap <Leader>WQ :wa<CR>:q<CR>
" 不做任何保存,直接退出 vim
nmap <Leader>Q :qa!<CR>
" 依次遍历子窗口
" nnoremap nw <C-W><C-W>
" 跳转至右方的窗口
nnoremap <Leader>lw <C-W>l
" 跳转至左方的窗口
nnoremap <Leader>hw <C-W>h
" 跳转至上方的子窗口
nnoremap <Leader>kw <C-W>k
" 跳转至下方的子窗口
nnoremap <Leader>jw <C-W>j
" 定义快捷键在结对符之间跳转
nmap <Leader>M %
 
" 让配置变更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC
 
" 开启实时搜索功能
set incsearch
" 搜索时大小写不敏感
set ignorecase
" " 关闭兼容模式
set nocompatible
" " vim 自身命令行模式智能补全                                                                                                                                                                                                                                                
set wildmenu
 
" 设置显示行号和相对行号, 向上移动到某行,行数-
set number
set relativenumber
" 设置智能缩进
set smartindent
" 下一行自动复制本行的缩进
set autoindent
" 设置缩进的空格数
set shiftwidth=4
" 设置tab键对应的空格数
set tabstop=4
" 自动替换tab键为空格
set expandtab
" 设置光标在屏幕中的位置
set scrolloff=3

 " 启用鼠标
set mouse=a
set selection=exclusive
set selectmode=mouse,key

" 以下是高亮搜索项
set hlsearch
set display=lastline
" 高亮光标所在行列
set cursorcolumn
set cursorline
" highlight CursorLine   cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE
" highlight CursorColumn cterm=NONE ctermbg=black ctermfg=NONE guibg=NONE guifg=NONE
" 总是显示状态栏
set laststatus=2
" 自动匹配括号
set showmatch
 
" 打开文件默认不折叠代码
set foldlevelstart=99
" " 代码可折叠
set foldmethod=indent
set foldlevel=99
" 所有python语法高亮功能生效
let python_highlight_all=1
 
set term=screen
 
" 显示执行的命令
set showcmd
" 设置自动保存
set autowrite
 
" 括号自动补全
inoremap ( ()<ESC>i
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap [ []<ESC>i
" inoremap } <c-r>=ClosePair('}')<CR>
 
" 为python文件自动添加文件头
autocmd BufNewFile *.py execute ":call NewPy("
function! NewPy() 
    " call setline(1,"#!/usr/bin/env python"   
    call setline(1,"# -*- encoding: utf-8 -*-")
endfunction
 
" 记录上次关闭vim光标所在的位置
autocmd BufReadPost *
            \ if line("'\"")>0&&line("'\"")<=line("$") |
            \   exe "normal g'\"" |
                        \ endif
" 设置背景色
syntax enable
let g:solarized_termtrans = 1
set background=dark
" set background=light
colorscheme solarized
 
" 高亮行列的配色方
" 深色
highlight CursorLine   cterm=NONE ctermbg=black ctermfg=white guibg=red guifg=white
highlight CursorColumn cterm=NONE ctermbg=black ctermfg=white guibg=red guifg=white
" 浅色
" highlight CursorLine   cterm=NONE ctermbg=lightgray ctermfg=black guibg=red guifg=white
" highlight CursorColumn cterm=NONE ctermbg=lightgray ctermfg=black guibg=red guifg=white
" 修改高亮的背景色
highlight SyntasticErrorSign guifg=white guibg=black
 
"自动补全结束函数
function! ClosePair(char)
    if getline('.')[col('.') - 1] == a:char
        return "\<Right>"
    else
        return a:char
    endif
endfunction

参考资料

vim配置
像使用IDE一样使用VIM

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容