vim配置

修改vim的配置实现需要对~/.vimrc文件进行修改,下面是我常用的vim配置。
注:vimrc的注释符为 “

常规设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"设置行号
set nu
"在上下移动光标时,光标上方或下方保留显示的行数
set scrolloff=7
"设置tab键
set softtabstop=4
set tabstop=4
"自动缩进
set autoindent
set cindent
set shiftwidth=4
"空格进入搜索
nnoremap / /\v
vnoremap / /\v
"set foldenable "开始折叠,代码折叠

文件编码设置

1
2
3
4
5
6
7
8
9
10
11
12
13
"文件编码 默认编码为utf-8 ,在fileencoding中加入cp936解决中文乱码问题
set encoding=utf-8
set fenc=utf-8
set fileencodings=ucs-bom,utf-8,cp936
"if(g:iswindows==1)
" source $VIMRUNTIME/delmenu.vim
" source $VIMRUNTIME/menu.vim
" language messages zh_CN.utf-8
"endif
if v:lang =~?'^zh\|ja\|ko'
set ambiwidth=double
endif
set nobomb

光标设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"关闭方向键,强迫自己用hjkl
map <Left> <Nop>
map <Right> <Nop>
map <Up> <Nop>
map <Down> <Nop>
"swap 换行显示时,使用hjkl体验更好
"同物理行上线直接跳
nnoremap k gk
nnoremap gk k
nnoremap j gj
nnoremap gj j
"分配窗口切换时,直接使用ctrl+h/j/k/l
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
" H 和 L 跳转行首行末
noremap H ^
noremap L $

"鼠标暂不启用
set mouse-=a

设置退格键

通过源码安装vim的时候,由于vim对vi的兼容,退格键可能会出现不能删除换行符、不能删除之前输入的文本、不能删除tab,,所以需要对退格键进行设置

1
2
"设置退格键  indent:删除缩进字段  eol:删除换行  start:删除此前的输入
set backspace=indent,eol,start

状态栏设置

vim默认不显示状态栏 需要自己设置

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
"设置标签栏
"set showtabline=2
"set guioptions-=m " 隐藏菜单栏
"set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
" 设置在状态行显示的信息
"set foldcolumn=0
"set foldmethod=indent
"set foldlevel=3
" 我的状态行显示的内容(包括文件类型和解码)
"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}\ %{\"[fenc=\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\"+\":\"\").\"]\"}
set statusline=[%F]%y%r%m%*%=%{\"[fenc=\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\"+\":\"\").\"]\"}\ [Line:%l/%L,Column:%c][%p%%]
" 设置状态行显示常用信息
" %F 完整文件路径名
" %m 当前缓冲被修改标记
" %m 当前缓冲只读标记
" %h 帮助缓冲标记
" %w 预览缓冲标记
" %Y 文件类型
" %b ASCII值
" %B 十六进制值
" %l 行数
" %v 列数
" %p 当前行数占总行数的的百分比
" %L 总行数
" %{...} 评估表达式的值
"%{"[fenc=".(&fenc==""?&enc:&fenc).((exists("+bomb") && &bomb)?"+":"")."]"} "显示文件编码
" %{&ff} 显示文件类型
" 总是显示状态行
set laststatus=2

高亮设置

vim配色方案由于篇幅过大,另写了一篇,看这里:https://yuanspace.top/2019/03/15/VIM-color/

最后更新: 2019年08月21日 04:40

原始链接: https://yuanspace.top/2019/03/15/VIM-note/

× 请我吃糖~
打赏二维码