你的显示设备太小了

top

安装使用配置 Neovim——配置

本文首次发布日期为 ,最近更新日期为

neovim logo

1. 前言

  上一篇中已经说了 neovim 的基本使用,如果不把 neovim 作为第一第二次序的编辑器,这样就已经可以了。但如果想要让它作为第一第二次序编辑器,这样是远远不够的。还需要对其进行配置,使其更加高效地完成任务。

2. 配置

2.1 配置文件

  Neovim 是能使用 vim 的配置文件的,如果有 vim 的配置,直接软链接就好:

$(~) ln -s ~/.vim .config/nvim
$(~) ln -s ~/.vimrc .config/nvim/init.vim

  如果没有 vim 的配置文件,但想 vim 和 nvim 使用同一个配置,也按上面的方法配置就行。

  有时 neovim 的某些指令在 vim 中是不能使用的, 所以可使用 has('nvim') 来判断当前使用的版本:

if has('nvim')
    ...
endif
init.vim

  如果想 nvim 单独使用一个配置,那就在 .config 下创建配置文件就行:

$(~) mkdir .config/nvim
$(~) touch .config/nvim/init.vim

2.2 插件管理

  能在 neovim 中使用的插件管理工具有不少,这里介绍的是 vim-plug 

  安装方法很简单,只要一条命令:

$ curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

  使用方法就自己去看吧。

2.3 输入法状态切换

  为了减少手动切换输入法状态,这里有说两种解决办法。

  第一种是在配置文件中写入一段代码:

"##### auto fcitx  ###########
let g:input_toggle = 1
function! Fcitx2en()
    let s:input_status = system("fcitx-remote")
    if s:input_status == 2
        let g:input_toggle = 1
        let l:a = system("fcitx-remote -c")
    endif
endfunction

function! Fcitx2zh()
    let s:input_status = system("fcitx-remote")
    if s:input_status != 2 && g:input_toggle == 1
        let l:a = system("fcitx-remote -o")
        let g:input_toggle = 0
    endif
endfunction

set ttimeoutlen=150
"退出插入模式
autocmd InsertLeave * call Fcitx2en()
"进入插入模式
autocmd InsertEnter * call Fcitx2zh()
"##### auto fcitx end ######
init.vim

  来源页面的代码简直异端……

  第二种是用插件,在 init.vim 文件中 call plug#begin()call plug#end() 之间写上:

Plug 'https://github.com/vim-scripts/fcitx.vim.git'
init.vim

  然后重载 neovim 安装插件就行了。

2.4 主题颜色

  这个看喜好了,一般都带有配置说明。

  我这里选择 solarized  配色方案。对应的 vim 主题是 vim-colors-solarized ,如果用着有问题,可以尝试寻找 neovim 适配版的。

" 前面可能有东西
call plug#begin()
" 前面可能有东西 下面一行是重要的
Plug 'altercation/vim-colors-solarized'
" 前面可能有东西
call plug#end()
" 前面可能有东西 下面三行是重要的
syntax enable
set background=dark
colorscheme solarized
" 后面可能有东西
init.vim

  然后重载 neovim 安装插件就行了。

2.5 好看的状态栏

  状态栏能显示当前的状态,还是有不少用处的,好看的状态栏就是为了美观,毕竟谁也不喜欢对着个难看的东西吧。

  这里使用的是 airline 

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
init.vim

  点击这里 能看效果截图。

2.6 符号对齐

  vim-easy-align  是一个用来对齐指定符号的工具,还是比较有用的:

Plug 'junegunn/vim-easy-align'
init.vim

2.7 语言扩展

2.7.1 HTML

  HTML 的不用多说,上 emmet  就对了。vim 上的是 emme-vim 

Plug 'mattn/emmet-vim'
init.vim

2.8 括号匹配

  括号匹配的作用是提示,并不是少打一个括号,这里使用 auto-pairs 

Plug 'jiangmiao/auto-pairs'
init.vim

2.9 一些小设置

" 设置空白字符的视觉提示
set list listchars=extends:,precedes:,tab:\ ,trail:˽

" 高亮当前行
set cursorline

" 显示行号
set number
init.vim

未完待续

  在重做配置,发现了一点问题,还请等待……