笔记-Neovim快速入门

本文是neovim中的练习项目Tutor的笔记。
建议自己手动尝试一下这个项目,很快就能上手neovim。
想要尝试这个项目,只要输入:Tutor<Enter>即可。

安装 & 启动

使用包管理器apt安装即可。
运行:

$ sudo apt install neovim

Tutor

Lesson 1

移动光标

使用hjkl键可以移动光标,方向如下所示:

	k
h		l
	j

启动&退出

启动neovim的命令格式是:

$ nvim FILENAME

启动后neovim处在普通模式,这个时候问题就来了,什么是普通模式?

众所周知,neovim和vim一样,是一个模态编辑器,这意味着它有多个模式,同一行为在不同模式下会产生不同的结果。
现在需要知道两个模式————普通模式命令模式
不过不用担心,只要知道有这么个东西就行了。

退出程序则需要进入命令行模式,在普通模式下输入冒号即可,而如果想回到普通模式,按Esc即可;
在命令行模式中输入q!即可退出程序,
具体操作是:

<Esc> :q! <Enter>

注意!这么操作将不会保存文件更改。如果想保存文件更改,则需要输入wq

<Esc> :wq <Enter>

要怎么确定自己处在哪个模式呢?
普通模式下光标是个高亮方块,与字符在同一个格子内。
命令模式下光标将跳转到屏幕最底(一整行白色高亮提示行之下),此时的输入发生在最底下。

插入模式

想要编辑文本内容,就要进入插入模式。
有非常多种方法进入插入模式,例如:
在普通模式下,输入a、i或者它们的大写均可进入插入模式,但它们的光标位置将不太一样。
要注意,i是insert(插入),a是append(添加)。故而i将光标插入到所在位置前,而a将光标添加到所在位置后。

要怎么确认自己是不是处在插入模式下呢?
只要看最底部即可,命令模式下输入命令的位置,在插入模式下会显示:

-- INSERT --

简单删除

在普通模式下按x将删去光标所在位置的字符。

Lesson 2

注意,本章命令全部在普通模式下使用

删除

  • dw:删除到下个词的开头
  • d$:删除到行末
  • dd:删除整行
    要注意的是,这些操作说是删除,其实更像是剪切,它们无一例外的都会导致剪切板的改变。

可以注意到这三个命令的开头都是d,这是因为普通模式下的命令格式是:

operator   [number]   motion
  • operator:表示这条命令要做什么事.
  • [number]:表示执行这条命令多少次。
  • motion :移动到指定的文本位置。

于是可以分析出,上面的三条命令都做了删除这件事,区别在于最后的motion指向的位置。

撤销

u可以撤销(undo),按U可以撤销本行的所有修改,用<C-r>可以重做(Redo)。

0可以直接移动到当前行的开头。

Lesson 3

在普通模式下编辑文本

p键可以粘贴。
刚刚提到d这个操作会更改剪切板。按下粘贴,发现插入的是刚刚被删去的内容。

刚刚已经提到过在普通模式下按x可以删去单个字符。
相似的,在普通模式下按r可以替换(replace)字符。

当需要大量更改内容时,可以按c,这会删去一定文本并进入插入模式。
删去的文本取决于命令,命令的格式如下:

c   [number]   motion

后面的两项与上面介绍的是一样的。

Lesson 4

在文档中快速移动

在普通模式下
<C-g>可以显示当前处在文件中的哪个位置。
G可以跳转到文件结尾,gg可以跳转到开头。
先输入数字,再按G可以跳转到对应的行。

/可以前搜索。
?可以向后搜索。

搜索后,按n可以查看下一个搜索结果,按N可以查看上一个。
值得注意的是,这里的n/N是一个motion。这意味着它前面可以加数字。

<C-o>可以让光标回到上一个位置。
<C-i>可以让光标前往刚刚的位置。就像<C-r>与u一样。

输入%可以在对应的左右括号(()[]{})间跳转。

查找替换

在命令模式下,替换文本只需要按以下格式输入。

:s/old/new

但这样只能替换一个匹配项,在其之后加入/g,改为:

:s/old/new/g

即可替换一整行。
而在整个命令前加入行号,行号,即可替换指定行(比如1,3就是替换一至三行的所有匹配项。)

:行号,行号s/old/new/g

如果想要替换整个文件,在前面加入%即可。

:%s/old/new/g

在最后加入c可以在替换前加入询问

:%s/old/new/gc

询问的内容如下:

replace with the (y/n/a/q/l/^E/^Y)?

这些选项的效果是:

  • y:替换当前项,并跳到下一项。
  • n:跳到下一项。
  • a:替换全部。
  • q:退出。
  • l:替换当前项并退出。
  • ^E:屏幕向下移动一行。
  • ^Y:屏幕向上移动一行。
    注意这里的^意思是按住Ctrl

Lesson 5

执行外部shell命令

在命令模式下使用!可以调用外部shell命令
例如:

:!ls

该命令会列出当前工作目录中的文件。相当于在外面的shell里使用了ls命令。

视觉模式

在命令模式下,使用下面命令,即可保存当前文件。

w FILENAME

如果只想保存当前文件的一部分内容,则要先使用视觉模式选择所需内容,再保存文件。

这里有一个新的模式————视觉模式
使用v或者V都能进入视觉模式,该模式下,屏幕最底部会显示:

-- VISUAL -- 

此时移动光标即可选择文本,被选中的文本会被高亮表示。

选择完所需文本后,按:进入命令模式,此时底部会显示:

:'<,'>

看起来是不是有一点熟悉?没错,这就是刚刚展示的定位作用范围,接下来的命令的作用范围就被指定在视觉模式所选择的文本里了。
接下来就像刚刚一样正常输入命令即可。

:'<,'>w FILENAME

在命令模式下,使用r可以显示文件信息:

:r FILENAME

Lesson 6

前面已经提到过按a、i以及它们的大写均可进入插入模式,小写定位当前光标,大写定位当前行。

这里接触一个新的方法,按o(或者它的大写)也可以进入插入模式,并且会开启(open)新的一行。
o将在光标下方开启新行,O将在光标上方开启新行。

按e可以跳跃到词的结尾(end)。

按y可以复制,按p可以粘贴。

按R可以进入替换模式(Replace),这个模式下光标会变为一条字符底下的短横线,按可以退出。

Lesson 7

多窗口与帮助文档

查看帮助文档:按或者命令模式输入help(h),在help后加入关键词可以查看相应帮助。

可以在不同的窗口之间切换。

在命令模式下输入q可以关闭窗口。

在命令模式下,按可以补全命令,按可以展示命令列表。

配置

刚刚的Tutor中我故意略去了设置的部分。

想配置neovim,先要了解neovim如何读取配置文件。
neovim会默认读取文件~/.config/nvim/init.lua,也就是说,只要将配置文件写在这个位置即可。
但一股脑的把配置写在这显然不是一个好的做法。

于是就需要用到一个语句,将它写在init.lua里,就能导入对应配置文件。
这里的目录会默认读取~/.config/nvim/lua/里的内容,并且分隔文件夹的/要替换为.,且省略文件后面的.lua

require('目录')

比如require('main.options')意味着读取~/.config/nvim/lua/core/options.lua文件。

这样就能开心地配置neovim了。
若是要查找配置项,则可以使用h vim.opt查看帮助文档。

posted @ 2024-09-04 21:01  TashiKani  阅读(77)  评论(0编辑  收藏  举报