前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NeoVim,神一样的编辑器

NeoVim,神一样的编辑器

作者头像
Innei
发布2021-12-28 11:30:31
发布2021-12-28 11:30:31
8.3K0
举报
文章被收录于专栏:静之森静之森

开始之前想必大家都有所耳闻 Vim,玩过服务器的应该都用过。还有不少人被 Vim 的复杂键位劝退,转而使用 vsc 之类简易的 GUI Editor。然而我也是其中之一,曾经多次想过学习 Vim,屡次被劝退。终于这次我在终于学会了使用它

这篇文章主要不是教学,而是介绍 NeoVim 的强大。

主角

这次的主角是 NeoVim,它是 Vim 的升级版,加入了很多 Vim 还没有实现的功能,所以他并不稳定。写这篇文章时,它的版本为 NVIM v0.4.3

NeoVim 依然是一个字符终端下的文本编辑器,所以他先天具有优秀的编辑能力,他可以做到在无显示器的环境下进行编辑。

进入 NeoVim,你会发现它和 Vim 长的一模一样,键位和基本的功能几乎一致。

那。为什么要使用 NVim,因为 NVim 提供了强大的 API,方便开发者使用多种编程语言进行插件开发,而不是 Only VimScript。

基本

Vim 有着大量的键位映射,并不可能每个人都觉得它是有用的,或者它是合理的,所以我对原本的 Keybindings 进行了重新的映射。

Vim 下有以下几个模式:

  • 普通模式 (Normal Mode)
  • 插入模式 (Insert Mode)
  • 可视模式 (Visual Mode)
  • 选择模式 (Select Mode)
  • 命令模式 (Command Mode)

还有一些模式不太常用,暂且不列举。

我对某些键位重新映射以符合我的习惯,比如 ; 映射到 :, S 映射到 :w。对于这些对应的功能是什么,在此不多赘述,因为 Vim 的命令实在太多。

对于 keymap,Vim 提供了下面几种常用的重新映射。(nore 代表不递归映射)

  • noremap <origin> <target> (适用与可视模式,普通模式)
  • nnoremap (仅仅是普通模式)
  • inoremap (仅仅是插入模式)
  • xnoremap (仅仅是可视模式)
  • vnoremap (可视模式和选择模式)
  • snoremap (选择模式)
  • map (仅仅是普通模式,递归映射)
  • imap
  • etc.

我定义了以下映射(将位于文章底部),在定义原本已有的键位时一般使用非递归的映射。

亮点

好像一不小心写歪了,回到正题。为什么说 NeoVim 是神一样的编辑器。

  • 编辑器原本支持很多操作,比如宏录制,多行操作,etc.
  • 插件多,有强大的社区支持。

这次主要介绍一些插件,虽然原生编辑器已经过于强大,使用文档也已经上万行。所以暂且不说。其实我不会

PS:如果你找到此功能在 vscode 中也存在或由插件提供请告诉我。谢谢

全局模糊查找 (Fuzzy Finder)

FZF 是一个模糊查找神奇,比如你只记得一个单词或是几个单词拼接而成,再或者你只记得部分单词,那么发挥它的功能时刻到了。

![](

https://cdn.jsdelivr.net/gh/innei/img-bed@master/2020-03-06

15.49.38.gif)

编辑记录 (Undo Tree)

他可以记录你一路以来的对文件的所有操作,并且可以回溯。

![](

https://cdn.jsdelivr.net/gh/innei/img-bed@master/2020-03-06

15.53.58.gif)

快速切换 (Switch.vim)

如果你有一个布尔值为 false,而你想要改成 true

你有一个箭头函数,你想改成 function style?你需要编辑,还要剪切和粘贴?大可不必。

![](

https://cdn.jsdelivr.net/gh/innei/img-bed@master/2020-03-06

15.58.25.gif)

快速增改括号类型 (vim-surround)

快速跳转 (vim-easy-motion)

etc.

我的配置

https://raw.githubusercontent.com/Innei/nvim/master/init.vim

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主角
  • 基本
  • 亮点
    • 全局模糊查找 (Fuzzy Finder)
    • 编辑记录 (Undo Tree)
    • 快速切换 (Switch.vim)
    • 快速增改括号类型 (vim-surround)
    • 快速跳转 (vim-easy-motion)
    • etc.
  • 我的配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档