vim 配置及插件

有好插件的vim用起来是那么的得心应手哇~

image

前提

vim 版本 7.4 以上。 最好为 8.0 及以上版本。

插件管理 vim-plus

image
Vim-plug 是一个自由、开源、速度非常快的、极简的 vim 插件管理器。它可以并行地安装或更新插件。你还可以回滚更新。它创建浅层克隆shallow clone最小化磁盘空间使用和下载时间。它支持按需加载插件以加快启动时间。其他值得注意的特性是支持分支/标签/提交、post-update 钩子、支持外部管理的插件等。

配色 vim-one

image
个人觉得比 solarize 的配色好看。

我的 vimrc 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
" 打开行号
set number
" 不与vi兼容
set nocompatible
" 语法高亮
syntax on
" 显示使用模式
set showmode
" 显示操作命令
set showcmd
" 允许使用鼠标
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 使用 utf-8 编码
set encoding=utf-8
" 使用 256 颜色
set t_Co=256
" 自动监测文件类型
filetype indent on
" 允许插件
filetype plugin on
" 自动缩进
set autoindent
" tab 键缩进空格数
set tabstop=4
" 在文本上按下>>(增加一级缩进)、<<(取消一级缩进)或者==(自动缩进)时,每一级的字符数。
set shiftwidth=4
" 由于 Tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格。
set expandtab
" tab 转为多少空格
set softtabstop=4

" 光标所在行高亮
set cursorline
" 设置行宽
set textwidth=80
" 设置自动折行
set nowrap
" 只有遇到指定的符号,才会折行
set linebreak
" 指定折行处与编辑窗口的右边缘之间空出的字符数。
set wrapmargin=4
" 是否显示状态栏。0 表示不显示,1 表示只在多窗口时显示,2 表示显示。
set laststatus=2
" 在状态栏显示光标的当前位置(位于哪一行哪一列)。
set ruler
" 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号。
set showmatch
" 配置改变立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" 搜索时,高亮显示匹配结果
set hlsearch
" 输入搜索模式时,每输入一个字符,就自动跳转到第一个匹配的结果
set incsearch
" 搜索忽略大小写
set ignorecase
set smartcase

" 检查英文单词的拼写
set spell spelllang=en_us
" 选择使用语言
set helplang=cn
" 命令模式下,底部操作指令按下 Tab 键自动补全。第一次按下
" Tab,会显示所有匹配的操作指令的清单;第二次按下 Tab,会依次选择各个指令。
set wildmenu
set wildmode=longest:list,full
" 粘贴时保持格式
set paste

" 定义快捷键前缀
let mapleader="\<Space>"
let g:mapleader="\<Space>"
" 保存快捷键
nnoremap <Leader>s : w<CR>
" 退出快捷键
nnoremap <Leader>q : q!<CR>
" 查询快捷键
nnoremap <Leader>j : bp<CR>
nnoremap <Leader>k : bn<CR>

" 使用颜色主题
syntax enable
set background=dark
colorscheme one


" -------------- vim plus 插件开始
call plug#begin('~/.vim/plugged')

Plug 'tpope/vim-sensible'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " FZF代替ctrl + p
Plug 'Shougo/neocomplcache.vim' " 自动提示
Plug 'shawncplus/phpcomplete.vim' " 自动补全php
Plug 'alvan/vim-closetag' " 自动补全html
Plug 'joonty/vim-phpqa' " 保存时自动检查php文件有无语法错误
Plug 'jiangmiao/auto-pairs' " 自动补全括号
Plug 'christoomey/vim-tmux-navigator' " 让vim能兼容tmux

" 主动功能
Plug 'godlygeek/tabular' " <Leader>符号 快速对齐
Plug 'mattn/emmet-vim' " <c-y>, html代码补全
Plug 'thinca/vim-quickrun' " <Leader>q 运行当前文件
Plug 'terryma/vim-multiple-cursors' " ctrl-m 多光标操作
Plug 'bronson/vim-trailing-whitespace'

call plug#end()
" -------------- vim plus 插件结束

" ctrl p
noremap <C-p> :FZF<CR>
"FZF binary path.
set rtp+=~/.fzf

" 标记多余的空白自符
highlight BadWhitespace ctermbg=red guibg=red
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
set listchars=tab:>-,trail:-
" 去除行尾空格
map <leader>b :FixWhitespace<cr>
咸鱼也要有梦想,万一实现了呢
0%