感谢支持
我们一直在努力

在 Ubuntu 18.04上安装 Neovim以及安装使用配置

1. 前言

这里不说 vim, 是因为 neovim 是 vim 的重构版,完整继承了 vim 的操作键,如此情况下,有新的,干啥还要用旧的呢……

在 Ubuntu 18.04上安装 Neovim以及安装使用配置

2. 安装

Arch Linux:

# pacman -S neovim

Python 模块是独立了的,有需要就安装:

# pacman -S python-neovim
# pacman -S python2-neovim

Ubuntu 18.04系统:

首先,如果没有安装PPA的话,先用下面的命令来安装:
sudo apt-get install software-properties-common

如果已经安装,用上面的命令也没有问题,会提示已经已有最新版本,不会重复安装。

PPA – Personal Package Archive,个人包档案

然后用下面的命令来安装 Neovim
sudo apt-add-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim

在 Ubuntu 18.04上安装 Neovim以及安装使用配置在 Ubuntu 18.04上安装 Neovim以及安装使用配置

上面安装的是stable版本,你也可以把 stable 换成 unstable , 这样就可以安装最新的版本。

最后,怎么使用 Neovim?注意,它的命令的名字是 nvim。
nvim

替换现有 vi 命令为 nvim,不需删除 vi,只需要建一个符号链接:

    sudo ln -s /usr/bin/nvim /usr/local/bin/vi

3. 使用
3.1 启动

要使用,首先就要启动:

$ nvim

你没看错,用的命令是 nvim 而不是 neovim,至于为什么,我也不知道……

3.2 编辑模式

编辑模式其实是插入模式,但我不喜欢这个叫法。
  进入编辑模式很简单,按下 IA 键就能在当前光标 之前 或 之后 输入内容了。
  另一种就是按 O 键,这个是在当前行后插入一行输入,而如果是按 Shift + O 那就是在当前行之前插入一行输入。
  此时左下角应该会有提示表明处于插入模式。按下 Esc 键能退出编辑模式。

为了好看这里使用了全角字符,实际使用中应使用英文半角字符

i ———————— 光标前插入
a ———————— 光标后插入
o ———————— 当前行后插入一行插入
Shift + i(=I)—— 行首前插入
Shift + a(=A)—— 行尾后插入
Shift + o(=O)—— 当前行前插入一行插入

3.3 移动光标

顺序好像有点问题……
  在 vim 中能使用两种方法 左下上右 移动。第一种是:方向键。这个不用说了吧。另一种是:H J K L ,用这个要先退出编辑模式。

为了好看这里使用了全角字符,实际使用中应使用英文半角字符

h ———————— 光标向左移动
j ———————— 光标向下移动
k ———————— 光标向上移动
l ———————— 光标向右移动<br />
w ———————— 移到下个单词开头(空白,符号分割成单词……)
b ———————— 移动到上一单词的开头(空白,符号分割成单词……)
e ———————— 移动到光标所在单词的末尾(空白,符号分割成单词……)
Shift + w(=W)—— 移到下个单词开头(空白分割成单词……)
Shift + b(=B)—— 移动到上一单词的开头(空白分割成单词……)
Shift + e(=E)—— 移动到光标所在单词的末尾(空白分割成单词……)<br />
0 ———————— 光标移到行首
¥ ———————— 光标移到行尾<br />
{ ———————— 光标移动到当前段落的开头(用空行判断段落)
} ———————— 光标移动到当前段落的末尾(用空行判断段落)<br />
Shift + h(=H)——  移动到屏幕的第一行
Shift + m(=M)—— 移动到屏幕的中间一行
Shift + l(=L)—— 移动到屏幕的最后一行
Shift + 5(=%)—— 移动到对应的另一半括号<br />
Ctrl + f ————— 向下滚动一页
Ctrl + b ————— 向上滚动一页
Ctrl + u ————— 向上滚动半页
Ctrl + d ————— 向下滚动半页<br />
Shift + g(=G)—— 移动到文件末尾
gg ——————— 移动到文件开头
:0 ——————— 移动到文件第一行
:¥ ——————— 移动到文件最后一行

3.4 编辑命令

为了好看这里使用了全角字符,实际使用中应使用英文半角字符

x ———————— 删除光标所在字符
s ———————— 删除光标所在字符并进入编辑模式
r ———————— 替换光标所在字符
Shift + x(=X)—— 删除光标所在前一个字符
Shift + s(=S)—— 删除光标所在行并进入编辑模式
Shift + r(=R)—— 进入替换模式,这会替换当前行光标所在字符和之后的字符<br />
cc(=C)———— 删除光标所在行非空开头字符并进入插入模式
cw ——————— 删除当前单词从光标开始的部分并进入插入模式(空白,符号分割成单词……)
cb ——————— 删除当前单词从光标所在位置至单词开始的部分并进入插入模式(空白,符号分割成单词……)
dw ——————— 删除当前单词从光标开始的部分但不进入插入模式(空白,符号分割成单词……)
db ——————— 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式(空白,符号分割成单词……)
cW ——————— 删除当前单词从光标开始的部分并进入插入模式(空白分割成单词……)
cB ——————— 删除当前单词从光标所在位置至单词开始的部分并进入插入模式(空白分割成单词……)
dW ——————— 删除当前单词从光标开始的部分但不进入插入模式(空白分割成单词……)
dB ——————— 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式(空白分割成单词……)<br />
dd(=D)———— 删除当前行
dn[hjkl]  —— 向某个方向删除n个(行),如:d3j(向下删除3行,共删除≤4行),d3l(向右删除3个字符,共≤3个字符)
d0 ——————— 删除从当前光标开始到行首的内容
d¥ ——————— 删除从当前光标开始到行末的内容
d{ ——————— 删除当前段落从光标位置开始到段首的内容
d} ——————— 删除当前段落从光标位置开始到段末的内容<br />
u ———————— 撤销
Ctrl+r  ————— 重做<br />
yw ——————— 复制当前单词从光标开始的部分(空白,符号分割成单词……)
yW ——————— 复制当前单词从光标开始的部分(空白分割成单词……)
yy(=Y)———— 复制当前行<br />
p ———————— 在后面粘贴
Shift + p(=P)—— 在前面粘贴

更多详情见请继续阅读下一页的精彩内容: https://www.linuxidc.com/Linux/2019-01/156540p2.htm

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

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-01/156540.htm

赞(0) 打赏
转载请注明出处:服务器评测 » 在 Ubuntu 18.04上安装 Neovim以及安装使用配置
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏