这篇文章次要讲的是vim的简略配置,绝对于vim内置的一些快捷键和性能,==vim的客制化==才是vim的灵魂,也是vim存活31年仍被热衷的起因。
如果你还不理解vim的基本操作和体系,我倡议你看一下我上一篇文章:
vim配置全攻略(1) —— vim的基本操作
还是倡议大家踊跃评论,如果有什么中央有误,也心愿大家斧正。
vim & neovim
在配置vim之前我想说一下vim
和neovim
,置信大多数晓得vim的小伙伴都据说或应用过neovim,那明天我就发表一下我对vim和neovim的简介,以及我的抉择。
首先无论是vim还是neovim都是一款十分不错的编辑器,他们两款编辑器都有长处,不能说哪个好哪个不好,只能说每个人的需要不同罢了。
如果你常常写C的话,那么vim是你一个不错的抉择,因为ta的体系和性能更加齐备,用户体系更加宏大;如果你是java架构师或者常常写java程序的话,那么neovim可能对你更加敌对(不过我还是倡议写java的小伙伴应用IDEA,再不济vscode也是一个不错的抉择)。
现在,neovim的呈现以及展现出的活力,曾经威逼到了vim,使vim的更新又绝对频繁起来,我感觉vim成为一个被动的追赶者,去模拟neovim的一些性能,己经证实了ta的"廉颇老矣"。
这个论断不是相对的,我也不否定vim的弱小和neovim的激进。
我当初用的是neovim,因为ta更加迅速,现代化,我的体验更好。
vim的配置
配置文件
首先,咱们想要配置vim和neovim,其原理就是在vim和neovim的配置文件中,写如vim反对的相干语法,从而达到想要的成果。
vim和neovim的配置文件地位各不相同:
- vim:
~/.vimrc
- neovim:
~/.config/nvim/init.vim
这是就是vim和neovim配置文件的地位,当然这里申明一下neovim的配置文件也能够是init.lua
,然而lua的配置难度更大,须要对neovim有肯定理解,所以这里就以.vim
为例。
这里补充一下在你装置完neovim之后,你会发现是没有~/.config/nvim
这个文件夹的,所以须要你本人创立:
# vimvim ~/.vimrc# neovimmkdir ~/.config/nvimnvim ~/.config/nvim/init.vim
配置
首先在你关上vim或者neovim之后,你会发现ta们相似windows上的记事本,没有什么非凡之处,很难设想这就是赫赫有名的编辑器之神。
行号
代码编辑器和文本编辑器之间最显著的区别就是行号,ta能够帮忙咱们在报错之后疾速的寻找Bug和跳转。在vim和neovim中设置行号的形式有两种:
长期行号
顾名思义,长期行号就是‘一次性’
的行号,仅仅只能显示一次,启动办法也很简略,只须要在命令模式中输出set number
即可,之后你会发现呈现了行号。
永恒行号
如果想永恒设置行号,只需在配置文件输出set number
即可。
这里补充一下,在上一篇文章中,我曾说过能够通过*hjkl
来进行疾速挪动,然而在对于一些较远的行来说并不敌对,所以便呈现了一种非凡的行号——绝对行号,将set number改为 set relativenumber即可。
这样咱们想要跳转到哪一行,只需输出其左侧的数字挪动即可。
然而这样也有一个弊病,就是咱们无奈查看行号了,于是咱们就能够set number
和set relativenumber
一起应用,这样就能够兼得了。
缩进 & 缩进显示
如果你在应用vim和neovim之后你会发现,ta们的缩进并不规范,所以咱们须要调整缩进到咱们想要的格数上。
set tabstop=4 set softtabstop=4 set shiftwidth=4
这样你就会发现,缩进变为了4格。
而后你会发现另一个缩进问题:在你写货色的时候ta没有方法主动缩进,须要手动的按下Tab键,这并不是一个大问题,然而十分影响情绪。
set noexpandtab set nu set autoindent set cindent
这样设置,之后你就会发现ta能够主动缩进了,至于为什么这么设置,我只能说这就是.vim的语法,想记就记下来,不相记复制粘贴也没关系,毕竟谁也不会天天配置vim。
说完了缩进之后,我没来说缩进显示,缩进显示能够让咱们明确的看到缩进的次数,对于咱们开发十分敌对。
set listset listchars=tab:\|\,trail:·
这样咱们就可一看到缩进了,当然在之后的文章中我会举荐一个缩进显示插件,性能会比这个弱小一些。
高亮
对于语法高亮,咱们能够轻松地浏览,以及分辨这个单词的类型。
syntax on
这样咱们就能够看见语法高亮了。
如果你感觉这个高亮不适宜你,咱们有两种形式更改高亮色彩:一是设置主题,这个我会放到之后和桌面么丑化,一起说;二是highlight设置,如:
highlight Function cterm=bold,underline ctermbg=red ctermfg=green
这样就能够设置色彩了,不过还是倡议大家装置主题,应为本人丑化是没有止境的。
编码
与Vim编码无关的变量包含:encoding
、fileencoding
、termencoding
。
encoding
选项用于缓存的文本、寄存器、Vim 脚本文件等;fileencoding
选项是Vim写入文件时采纳的编码类型;termencoding
选项示意输入到终端时采纳的编码类型。set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8
突出显示以后行/列
" 突出显示以后行set cursorlineset cul 'cursorline的缩写模式'# 突出显示当前列set cursorcolumnset cuc 'cursorcolumn的缩写模式'
启用鼠标
set mouse=aset selection=exclusiveset selectmode=mouse,key
括号匹配
set showmatch
键盘映射
键盘映射是vim中十分重要的一种配置形式,ta能够将一些你不喜爱的快捷键批改为你舒服的键位。
在上一篇文章,咱们说过vim有四种模式,所以键位也有四种示意办法对应四种不同的模式:
- map
- noremap/nmap
- imap
- vmap
- cmap
- unmap
map
与nmap
的成果类似,都是在==失常模式==辨认。imap
是在==编辑模式==下的键盘映射。- vmap是==可视模式==下的键盘映射。
- cmap是==命令模式==下的键盘映射。
- unmap则是勾销某一个映射。
举个例子,如果咱们想要在失常模式下将F10设置为清空全部内容:
nmap <F10> :1,$d<CR>
在这里咱们能够看出设置键盘映射的格局为:
*map <设置的按键> <你在按下按键后执行的操作>
那么当前在咱们按下<F10>
后,vim就是将<F10>
按键本义为:1,$d
;:
会进入命令模式 ,并且在:
后输出1,$d
,<CR>
为回车即执行。
也可在命令模式中输出map来查看你设置的键盘映射。
在说完了这些之后明天vim的根本配置就说完了,最初把我的neovim(.vim)文件附在这里,也心愿大家提出更好的倡议:
我的vim配置文件