这篇文章次要讲的是vim的简略配置,绝对于vim内置的一些快捷键和性能,==vim的客制化==才是vim的灵魂,也是vim存活31年仍被热衷的起因。

如果你还不理解vim的基本操作和体系,我倡议你看一下我上一篇文章:
vim配置全攻略(1) —— vim的基本操作

还是倡议大家踊跃评论,如果有什么中央有误,也心愿大家斧正。

vim & neovim

在配置vim之前我想说一下vimneovim,置信大多数晓得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 numberset 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编码无关的变量包含:encodingfileencodingtermencoding

  • 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
  1. mapnmap的成果类似,都是在==失常模式==辨认。
  2. imap是在==编辑模式==下的键盘映射。
  3. vmap是==可视模式==下的键盘映射。
  4. cmap是==命令模式==下的键盘映射。
  5. unmap则是勾销某一个映射。

举个例子,如果咱们想要在失常模式下将F10设置为清空全部内容:

nmap <F10> :1,$d<CR>

在这里咱们能够看出设置键盘映射的格局为:

*map <设置的按键> <你在按下按键后执行的操作>

那么当前在咱们按下<F10>后,vim就是将<F10>按键本义为:1,$d: 会进入命令模式 ,并且在后输出1,$d,<CR>为回车即执行。

也可在命令模式中输出map来查看你设置的键盘映射。

在说完了这些之后明天vim的根本配置就说完了,最初把我的neovim(.vim)文件附在这里,也心愿大家提出更好的倡议:
我的vim配置文件