配置好基础环境之后,开始对nvim进行配置,这个配置是非常有必要的,nvim 的默认配置实际上是不附合我们的需求的。

在本系列文中说提到vim都是指nvim,本人的习惯改不过来。
nvim 的配置非常之多,要配置成适我们的IDE,要配置各个细节。
从本节开始,每一次的改进都会一点一点随着文章添加进这个配置,每一篇的配置都基于上一篇。

主要从几个方面进行配置:

  1. 编码设置
  2. 分屏设置
  3. 按键映射
  4. 其他设置

编辑配置文件

~/.config/nvim/init.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
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
"=================================
" VIM 自身配置
"=================================

" 编码设置
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030

" 启用插件
set nocompatible
filetype on
filetype plugin indent on

" Tab 转空格
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab

" 列高亮
set cursorcolumn

" 其他的一些配置
syntax on " 语法高亮
set number " 显示行号
"set relativenumber " 相对行号
set wildmenu " 让vim命令可用Tab补全
set hlsearch " 变输入搜索词边高亮
set incsearch " 光标自动跳转到搜索结果上
set t_ut= "防止vim背景颜色错误
"--------------------------------------
" 记录上次光标位置,不设置这个,每次打开光标都在第一行
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif

" 分屏设置
" 向右分屏并把光标移动向右边
map td :set splitright<CR>:vsplit<CR>
" 向右分屏并把光标移动向左边
map ta :set nosplitright<CR>:vsplit<CR>
" 向下分屏并把光标移动向上边
map ts :set nosplitbelow<CR>:split<CR>
" 向下分屏并把光标移动向下边
map tw :set splitbelow<CR>:split<CR>

" 替换方向键为调节分屏大小
map <up> :res +5<CR>
map <down> :res -5<CR>
map <left> :vertical resize-5<CR>
map <right> :vertical resize+5<CR>

" 按键映射
map W :w<CR>
map Q :wq<CR>
map tq :q!<CR>
map te :terminal<CR>

" 复制系统到 vim
vnoremap <C-y> "+y
nnoremap <C-p> "*p
"---------------------------------------------
" 设置 buff、空白字符的视觉提示
set list listchars=extends:❯,precedes:❮,tab:▸\
" 这个提示在复制的时候是个问题会多出一个˽
" set list listchars=extends:❯,precedes:❮,tab:▸\,trail:˽

总结

那么这个就是 vim-IDE进行的最基础模板,基于这个模板,开始添加各种骚工具,让你的vim,实现强列的个性订制化。