你的显示设备太小了

top

安装使用配置 Neovim

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

neovim logo

1. 前言

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

2. 安装

  Arch Linux:

# pacman -S neovim

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

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

  其他系统:

  自己找……

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 ———————— 光标向右移动

w ———————— 移到下个单词开头(空白,符号分割成单词……)
b ———————— 移动到上一单词的开头(空白,符号分割成单词……)
e ———————— 移动到光标所在单词的末尾(空白,符号分割成单词……)
Shift + w(=W)—— 移到下个单词开头(空白分割成单词……)
Shift + b(=B)—— 移动到上一单词的开头(空白分割成单词……)
Shift + e(=E)—— 移动到光标所在单词的末尾(空白分割成单词……)

0 ———————— 光标移到行首
¥ ———————— 光标移到行尾

{ ———————— 光标移动到当前段落的开头(用空行判断段落)
} ———————— 光标移动到当前段落的末尾(用空行判断段落)

Shift + h(=H)——  移动到屏幕的第一行
Shift + m(=M)—— 移动到屏幕的中间一行
Shift + l(=L)—— 移动到屏幕的最后一行
Shift + 5(=%)—— 移动到对应的另一半括号

Ctrl + f ————— 向下滚动一页
Ctrl + b ————— 向上滚动一页
Ctrl + u ————— 向上滚动半页
Ctrl + d ————— 向下滚动半页

Shift + g(=G)—— 移动到文件末尾
gg ——————— 移动到文件开头
:0 ——————— 移动到文件第一行
:¥ ——————— 移动到文件最后一行
为了好看这里使用了全角字符,实际使用中应使用英文半角字符

3.4 编辑命令

x ———————— 删除光标所在字符
s ———————— 删除光标所在字符并进入编辑模式
r ———————— 替换光标所在字符
Shift + x(=X)—— 删除光标所在前一个字符
Shift + s(=S)—— 删除光标所在行并进入编辑模式
Shift + r(=R)—— 进入替换模式,这会替换当前行光标所在字符和之后的字符

cc(=C)———— 删除光标所在行非空开头字符并进入插入模式
cw ——————— 删除当前单词从光标开始的部分并进入插入模式(空白,符号分割成单词……)
cb ——————— 删除当前单词从光标所在位置至单词开始的部分并进入插入模式(空白,符号分割成单词……)
dw ——————— 删除当前单词从光标开始的部分但不进入插入模式(空白,符号分割成单词……)
db ——————— 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式(空白,符号分割成单词……)
cW ——————— 删除当前单词从光标开始的部分并进入插入模式(空白分割成单词……)
cB ——————— 删除当前单词从光标所在位置至单词开始的部分并进入插入模式(空白分割成单词……)
dW ——————— 删除当前单词从光标开始的部分但不进入插入模式(空白分割成单词……)
dB ——————— 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式(空白分割成单词……)

dd(=D)———— 删除当前行
dn[hjkl]  —— 向某个方向删除n个(行),如:d3j(向下删除3行,共删除≤4行),d3l(向右删除3个字符,共≤3个字符)
d0 ——————— 删除从当前光标开始到行首的内容
d¥ ——————— 删除从当前光标开始到行末的内容
d{ ——————— 删除当前段落从光标位置开始到段首的内容
d} ——————— 删除当前段落从光标位置开始到段末的内容

u ———————— 撤销
Ctrl+r  ————— 重做

yw ——————— 复制当前单词从光标开始的部分(空白,符号分割成单词……)
yW ——————— 复制当前单词从光标开始的部分(空白分割成单词……)
yy(=Y)———— 复制当前行

p ———————— 在后面粘贴
Shift + p(=P)—— 在前面粘贴
为了好看这里使用了全角字符,实际使用中应使用英文半角字符

4. 配置

  本节请看下一篇《安装使用配置 Neovim——配置》