Title: 簡(jiǎn)潔的vim配置
date: 2018/6/9 22:04:12
tags:
- 工具
- linux
vim配置好了是可以很高效的,但是現(xiàn)在一些vim配置文件寫得很復(fù)雜悉默,導(dǎo)致拖慢了vim的執(zhí)行速度鹤耍,因此我自己寫了一個(gè)精簡(jiǎn)的vimrc肉迫,里面只包含我真正需要的東西。
vim好用的插件
使用vundle管理插件稿黄,所以在使用該配置之前執(zhí)行
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
vim 升級(jí)
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升級(jí)喊衫、配置插件YouCompleteMe
vim 配置文件
以下是我的.vimrc文件,應(yīng)放在 ~ 目錄下抛猖。然后在vim中執(zhí)行PluginInstall格侯。
"vundle 環(huán)境設(shè)置
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’
" 插件列表結(jié)束
call vundle#end()
filetype plugin indent on
" 定義快捷鍵的前綴,即<Leader>
let mapleader=";"
" 開啟文件類型偵測(cè)
filetype on
" 根據(jù)偵測(cè)到的不同類型加載對(duì)應(yīng)的插件
filetype plugin on
" 定義快捷鍵到行首和行尾
nmap LB 0
nmap LE $
" 將H映射為到行首
nnoremap H <S-^>
" 將L映射為到行尾
nnoremap L $
" 將esc映射為control + c
nmap <C>c esc
" 設(shè)置快捷鍵將選中文本塊復(fù)制至系統(tǒng)剪貼板
vnoremap <Leader>y "+y
" 設(shè)置快捷鍵將系統(tǒng)剪貼板內(nèi)容粘貼至 vim
nmap <Leader>p "+p
" 定義快捷鍵關(guān)閉當(dāng)前分割窗口
nmap <Leader>q :q<CR>
" 定義快捷鍵保存當(dāng)前窗口內(nèi)容
nmap <Leader>w :w<CR>
" 定義快捷鍵保存所有窗口內(nèi)容并退出 vim
nmap <Leader>WQ :wa<CR>:q<CR>
" 不做任何保存财著,直接退出 vim
nmap <Leader>Q :qa!<CR>
" 依次遍歷子窗口
" nnoremap nw <C-W><C-W>
" 跳轉(zhuǎn)至右方的窗口
nnoremap <Leader>lw <C-W>l
" 跳轉(zhuǎn)至左方的窗口
nnoremap <Leader>hw <C-W>h
" 跳轉(zhuǎn)至上方的子窗口
nnoremap <Leader>kw <C-W>k
" 跳轉(zhuǎn)至下方的子窗口
nnoremap <Leader>jw <C-W>j
" 定義快捷鍵在結(jié)對(duì)符之間跳轉(zhuǎn)
nmap <Leader>M %
" 讓配置變更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" 開啟實(shí)時(shí)搜索功能
set incsearch
" 搜索時(shí)大小寫不敏感
set ignorecase
" " 關(guān)閉兼容模式
set nocompatible
" " vim 自身命令行模式智能補(bǔ)全
set wildmenu
" 設(shè)置顯示行號(hào)和相對(duì)行號(hào), 向上移動(dòng)到某行,行數(shù)-
set number
set relativenumber
" 設(shè)置智能縮進(jìn)
set smartindent
" 下一行自動(dòng)復(fù)制本行的縮進(jìn)
set autoindent
" 設(shè)置縮進(jìn)的空格數(shù)
set shiftwidth=4
" 設(shè)置tab鍵對(duì)應(yīng)的空格數(shù)
set tabstop=4
" 自動(dòng)替換tab鍵為空格
set expandtab
" 設(shè)置光標(biāo)在屏幕中的位置
set scrolloff=3
" 啟用鼠標(biāo)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 以下是高亮搜索項(xiàng)
set hlsearch
set display=lastline
" 高亮光標(biāo)所在行列
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
" 總是顯示狀態(tài)欄
set laststatus=2
" 自動(dòng)匹配括號(hào)
set showmatch
" 打開文件默認(rèn)不折疊代碼
set foldlevelstart=99
" " 代碼可折疊
set foldmethod=indent
set foldlevel=99
" 所有python語(yǔ)法高亮功能生效
let python_highlight_all=1
set term=screen
" 顯示執(zhí)行的命令
set showcmd
" 設(shè)置自動(dòng)保存
set autowrite
" 括號(hào)自動(dòng)補(bǔ)全
inoremap ( ()<ESC>i
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap [ []<ESC>i
" inoremap } <c-r>=ClosePair('}')<CR>
" 為python文件自動(dòng)添加文件頭
autocmd BufNewFile *.py execute ":call NewPy("
function! NewPy()
" call setline(1,"#!/usr/bin/env python"
call setline(1,"# -*- encoding: utf-8 -*-")
endfunction
" 記錄上次關(guān)閉vim光標(biāo)所在的位置
autocmd BufReadPost *
\ if line("'\"")>0&&line("'\"")<=line("$") |
\ exe "normal g'\"" |
\ endif
" 設(shè)置背景色
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
"自動(dòng)補(bǔ)全結(jié)束函數(shù)
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction