首页 文章 精选 留言 我的

精选列表

搜索[思考模型],共10004篇文章
优秀的个人博客,低调大师

关于Vim/Neovim/SpaceVim的一些思考

1 前言 最近看到了Neovim以及SpaceVim,于是上手试了一下。 2 Neovim与SpaceVim Neovim是Vim的一个分支,具有更加现代的GUI、嵌入式以及脚本化的终端、异步工作控制等等特点,默认配置文件为~/.config/nvim/init.vim。而SpaveVim,是一个社区驱动的模块化的Vim IDE,以模块的方式组织管理插件以及相关配置,为不同的语言开发量身定制了相关的开发模块,提供了自动补全、语法检查、格式化、调试等特性,默认配置文件为~/.SpaveVim.d/init.toml。 3 使用感受 3.1 Neovim 首先是安装,Neovim的安装很简单,可以直接通过包管理器安装: paru -S neovim 安装了之后可以使用nvim命令打开。 简单使用了一下,发现Neovim并没有和Vim(版本8.2)有太大的区别。一般情况下,这样的Neovim不能成为一个IDE,需要添加若干插件才能使用。流行的插件管理器有如下几个: vim-plug vundle neobundle Pathogen 笔者用的是vim-plug,插件安装不难,在init.vim中的两个call之间加上插件的名字: call plug#begin('~/.vim/plugged') Plug 'junegunn/vim-easy-align' call plug#end() 然后在Neovim中键入:PlugInstall即可进行安装。 一般来说,如果需要打造成为一个IDE,那么至少需要具备以下功能: 补全:可用插件YouCompleteMe、vim-snippets 高亮:可用插件semantic-highlight.vim 工程目录树:可用插件nerdtree 运行与调试:可用插件Vdebug 但是,安装使用了之后,测试了一下Java,效果并不怎么样,拿最常用的补全来说,补全提示的速度比不快,另一方面,提示的速度比IDEA慢,而且提示不够智能,不能根据当前光标处的变量提示最接近的补全。另一方面,并不能自动import(虽然可以通过脚本做到,但是又需要额外的配置)。 3.2 SpaceVim SpaveVim相当于一个开箱即用的IDE,默认就提供了IDE的常见功能,比如: 补全 高亮 工程目录树 运行调试 快速定位 构建工具支持 等等。首先,不可否认的是SpaceVim默认就提供了一个用户友好的界面: 会默认记录最近打开的文件,并且可以通过数字快速定位。笔者同样使用了Java进行测试,虽然内置了代码补全插件,但是,令人遗憾的是并没有自动import的功能,并且也没有变量名自动补全的功能(指创建一个叫arrayList的变量): 当然,这也有可能是没有完全配置好的原因,想要配置一个更加好用的SpaceVim,可以参考这篇文章。 4 建议 下面是个人建议的使用Neovim的原因: 需要一个从零开始配置的IDE或者Vim 动手能力强,能解决各种问题 能够熟练记忆并使用各种各样的快捷键 熟悉各种插件,包括但不限于nerdtree、YouCompleteMe等等 因为如果想把Neovim用好,最起码需要花点时间,利用插件安装好各种各样的插件之后(当然因为有些插件只是针对Vim的,所以可能会遇上不兼容的问题),熟悉它们的使用并知道快捷键,这对记忆力以及学习能力都是一个考验,在这过程中,需要无数次的打开init.vim进行配置。 建议使用SpaveVim的原因: 不想手动配置太多的插件以及快捷键 需要一个开箱即用且轻量级的IDE 不需要开发很大的工程 在SpaveVim里面,大部分都是已经配置好的,剩下的只是需要通过官网文档熟悉界面,最主要的是熟悉Space组合键的使用,比如: Space+数字键:切换窗口 Space+b/B:缓冲区操作 Space+c:命令操作 Space+f:文件操作 Space+l:语言相关操作,比如运行等等 Space+w:窗口操作 相比起Neovim需要在init.vim中配置各种map去映射键,SpaceVim的快捷键学习曲线会低了很多。 但是相比起现代级的IDE,Neovim与SpaceVim还是有很大差距的,最明显的就是对各种库、各种包以及一键部署运行的支持,因此,个人认为SpaceVim/Neovim不是特别适合大项目的。不过当然有一些折中的方案,比如VSCode,在各种各样的插件加持之下,可以堪称是又轻又快的现代IDE。 5 资源 如果想学习Neovim/SpaceVim或者想把两者配置成一个更好用的IDE,这里提供了一些资源: Neovim文档 SpaceVim文档 vim-plug文档 Vundle文档 24.3k star的vimrc配置 VimAwesome-Vim插件合集网站 8.9k star的如何将Vim配置成C/C++ IDE的仓库

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册