ide般的vim–SpaceVim

「生命不息,折腾不止;代码就是生命,一起折腾。」

如何将vim折腾成ide?往下看

Vim安装

这些基本安装不多详细描述,按照流程就行了

vim官网[1]

更详细和准确指南,请参照官网

Linux或macOS安装(类unix系)

使用git安装

此方法通用

$ git clone https://github.com/vim/vim.git
$ cd vim/src
$ make

使用此方式会获取最新版vim,包含了所有的额外补丁。

其他linux发行版

•Debian[2]•Sun Solaris[3]•更多参照官网[4]

mac安装

brew install vim•安装 MacVimmac定制版vim•更多选择看官网

其他还有neovim等vim其他发行版本,可以选择性安装

推荐看官方文档安装,本记录简化了步骤,可能缺失部分探索的元素

Windows安装

具体看官方教程[5]


Vim入门推荐

vimtutor命令

$ vimtutor

•进入官方指南入门教程,比较全面详细•英文版,英语不好的话有点吃力

通过游戏入门

Learn Vim[6]

这是一款网页游戏,很有意思,vim学习起来舒服多了~

其他

•菜鸟教程 <菜(da)鸟(shen)必备>•Google搜索•官方Doc

SpaceVim安装与配置

官方中文教程[7]

官方一键安装脚本

curl -sLf https://spacevim.org/cn/install.sh | bash

由于你懂得原因,使用此链接安装比较慢,请自备绿色上网工具优化体验~

官方还有个帮助脚本,很全面,各种操作都包含了–

curl -sLf https://spacevim.org/cn/install.sh | bash -s -- -h

Docker安装(推荐)

docker pull spacevim/spacevim
docker run -it --rm spacevim/spacevim nvim

推荐docker,各种优势

入门基本配置

SpaceVim默认配置文件为~/.SpaceVim.d/init.toml,打开此文件编辑,或者进入vim依次同时按space f v d即可快捷打开默认配置文件。

# 这是一个基础的 SpaceVim 配置示例# 所有的 SpaceVim 选项都列在 [options] 之下
[options]# 设置 SpaceVim 主题及背景,默认的主题是 gruvbox,如果你需要使用更# 多的主题,你可以载入 colorscheme 模块colorscheme = "gruvbox"# 背景可以取值 "dark" 或 "light"colorscheme_bg = "dark"# 启用/禁用终端真色,在目前大多数终端下都是支持真色的,当然也有# 一小部分终端不支持真色,如果你的 SpaceVim 颜色看上去比较怪异# 可以禁用终端真色,将下面的值设为 falseenable_guicolors = true# 设置状态栏上分割符号形状,如果字体安装失败,可以将值设为 "nil" 以# 禁用分割符号,默认为箭头 "arrow"statusline_separator = "nil"statusline_inactive_separator = "bar"# 设置顶部标签列表序号类型,有以下五种类型,分别是 0 - 4# 0: 1 ➛ ➊# 1: 1 ➛ ➀# 2: 1 ➛ ⓵# 3: 1 ➛ ¹# 4: 1 ➛ 1buffer_index_type = 4# 显示/隐藏顶部标签栏上的文件类型图标,这一图标需要安装 nerd fonts,# 如果未能成功安装这一字体,可以隐藏图标enable_tabline_filetype_icon = true# 是否在状态栏上显示当前模式,默认情况下,不显示 Normal/Insert 等# 字样,只以颜色区分当前模式enable_statusline_mode = false# SpaceVim 模块设置,主要包括启用/禁用模块# 启用 autocomplete 模块,启用模块时,可以列出一些模块选项,并赋值,
# 关于模块的选项,请阅读各个模块的文档
[[layers]]name = "autocomplete"auto-completion-return-key-behavior = "complete"auto-completion-tab-key-behavior = "cycle"# 禁用 shell 模块,禁用模块时,需要加入 enable = false
[[layers]]name = "shell"enable = false# 添加自定义插件
[[custom_plugins]]repo = "lilydjwg/colorizer"merged = false

更多配置,更多DIY,参照官方文档[8]进行配置

SpaceVim的Java环境配置

就拿Java搭建吧

官方教程[9]

启动模块

启用 lang#java 模块后,在打开 java 文件时,就可以使用语言专属快捷键,这些快捷键都是以 SPC l 为前缀的。

lang#java 模块主要采用插件 vim-javacomplete2,该插件可以自动读取工程配置文件,获取当前项目的 classpath, 目前支持的项目包括 maven、gradle 以及 eclipse 下的配置文件。

配置语言服务

若需要启动 Java 语言服务支持,可以启用 lsp 模块,以下配置示例使用 eclipse.jdt.ls[10],下载后并解压:

[[layers]]name = "lsp"filetypes = ["java"][layers.override_cmd]java = ["java","-Declipse.application=org.eclipse.jdt.ls.core.id1","-Dosgi.bundles.defaultStartLevel=4","-Declipse.product=org.eclipse.jdt.ls.core.product","-Dlog.protocol=true","-Dlog.level=NONE","-noverify","-Xmx1G","-jar","/Users/gentlemanhu/Documents/SomeStuff/forDev&some\ tools/jdt/jdt-language-server-latest/plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar","-configuration","/Users/gentlemanhu/Documents/SomeStuff/forDev&some\ tools/jdt/jdt-language-server-latest/config_mac","-data","/Users/gentlemanhu/Documents/Codes/Languages&Explore/Java/.cache/javalsp"]

基本上就需要配置三个路径,

-jar:lanucher路径•-configuration: 平台相关的配置文件路径•-data: 语言服务器运行位置

代码补全

vim-javacomplete2为 java 项目提供了很好的代码补全功能,配合 autocomplete模块,可以在编辑代码时实时补全代码,并且可以模糊匹配。

插件模块自动安装

•不需要过多操作,配置好文件,再打开vim就自动安装了,很舒服

其他配置

•语法树•交互编程•语法检查•等等•具体配置看官方文档[11]

要想配置成合自己口味的,还得自己去摸索实践~

报错问题解决

[vimproc] vimproc's DLL: "/Users/gentl...Please read :help vimproc and make it.

不论打开vim还是neovim,都会在下方报错

那就根据指示修复吧:help vimproc

写的就是它是很牛逼的异步库,让我们安装,那就安装吧

Vimproc.vim[12]

git clone https://github.com/Shougo/vimproc.vim

克隆到~/.vim/bundle/目录下

cd vimproc.vim/
make

然后再打开vim就自动安装了,没有报错了

Resources

•SpaceVim入门[13]•HackSpaceVim[14]•官方文档[15]


有了这个ide,还要什么鼠标,各种快捷键,双手不离键盘,真·键盘侠~

这些东西,一时兴起也可以玩玩。当然只有不断熟悉,不断使用,才能真正发挥其强大的功能和特性。

适合自己的才是最好的,vscode+extensions||neovim+plugins.

References

[1] vim官网: https://www.vim.org/
[2] Debian: http://packages.debian.org/vim
[3] Sun Solaris: http://wwws.sun.com/software/solaris/freeware/
[4] 官网: https://www.vim.org/
[5] 官方教程: https://www.vim.org
[6] Learn Vim: https://vim-adventures.com/
[7] 官方中文教程: [https://spacevim.org/cn/quick-start-guide/#%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE](https://spacevim.org/cn/quick-start-guide/#基本配置)
[8] 官方文档: https://spacevim.org/cn/documentation/
[9] 官方教程: https://spacevim.org/cn/use-vim-as-a-java-ide/
[10] eclipse.jdt.ls: http://ftp.yz.yamagata-u.ac.jp/pub/eclipse/jdtls/snapshots/jdt-language-server-latest.tar.gz
[11] 官方文档: [https://spacevim.org/cn/use-vim-as-a-java-ide/#%E4%BA%A4%E4%BA%92%E5%BC%8F%E7%BC%96%E7%A8%8B](https://spacevim.org/cn/use-vim-as-a-java-ide/#交互式编程)
[12] Vimproc.vim: https://github.com/Shougo/vimproc.vim
[13] SpaceVim入门: https://everettjf.gitbooks.io/spacevimtutorial/content/
[14] HackSpaceVim: https://github.com/Gabirel/Hack-SpaceVim
[15] 官方文档: https://spacevim.org/cn/documentation/

SpaceVim——IDE般的vim相关推荐

  1. 所需即所获:IDE = _plugins_ + vim

    新版迁移:https://github.com/yangyangwithgnu/use_vim_as_ide http://yangyangwithgnu.github.io/ 0 vim 必知会   ...

  2. Vim的 IDE:SpaceVim

    [导语]:SpaceVim 是一个社区驱动的模块化的 Vim IDE,以模块的方式管理插件,旨在维护一个模块化.开箱即用.稳定的 Vim 开发环境.目前在 GitHub 的 Star 数已有 15.2 ...

  3. Go语言 linux下开发 IDE -SpaceVim\NeoVim

    文章目录 Go语言 linux下开发 IDE -SpaceVim 一.NeoVim和SpaceVim区别 二.NeoVim 安装 NeoVim Neovim GitHub Copilot插件安装 常见 ...

  4. VIM 打造 Java IDE 1

    说到 VIM,网路上的教程真的是多如牛毛,大部分的教程作者都狂热的 VIM 爱好者,在他们眼里 VIM 是一切,他们用 VIM 上网,收发邮件,听音乐,发博客,刷微博-- 但对于新手来说,这些教程非但 ...

  5. SpaceVim - 让你的vim变得更加高效和强大

    SpaceVim 使用指南 项 目 主 页: https://spacevim.org/cn/ Github 地址 : https://github.com/SpaceVim/SpaceVim 码云地 ...

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

    1 前言 最近看到了Neovim以及SpaceVim,于是上手试了一下. 2 Neovim与SpaceVim Neovim是Vim的一个分支,具有更加现代的GUI.嵌入式以及脚本化的终端.异步工作控制 ...

  7. vim配置之spacevim

    为了更好的利用vim,我们一般需要自己配置,今天介绍了一下经常用的spacevim (一)配置环境 Ubuntu16.04 vim 7.4版本以上(必须!!) (二)安装spacevim 1.检查vi ...

  8. java vim ide_把VIM配置成IDE开发环境 | 学步园

    VIM常用命令 VIM命令图 VIM键盘布局图 VIM键盘布局英文 VIM键盘布局中文 将VIM配置成IDE(通过 VIM基本插件 和VIM配置文件) Ubuntu14下我的VIM IDE配置的效果图 ...

  9. SpaceVim - 让你的vim变得更加高效和强大

    SpaceVim 中文手册 项 目 主 页: https://spacevim.org Github 地址 : https://github.com/SpaceVim/SpaceVim SpaceVi ...

最新文章

  1. 一道面试题:js返回函数, 函数名后带多个括号的用法及join()的注意事项
  2. java.security_Java开发网 - java.security.NoSuchAlgorithmException 问题的一些解决
  3. 【项目管理】常见缩写(术语)
  4. opencv进阶学习笔记6:使用鼠标在图像上绘制矩形框或者多边形框
  5. NIO中Selector分析
  6. python将矩阵顺时针旋转90度_python 二维数组90度旋转的方法
  7. linux 环境变量详解,Linux 环境变量详解及实例
  8. vbox虚拟机能获取到ip但是上不了网_虚拟机三种网络模式详解
  9. js ajax异步提交,jquery ajax异步提交表单数据的方法
  10. 计算机中丢失xvidcore.dll,出现xvidcore.dll not found 问题的解决方法
  11. mysql 数据恢复 binlog
  12. ORID焦点呈现法(Focused Conversation Method)
  13. git send-email 使用126邮件发送patch
  14. php网页的制作,网页制作步骤是什么
  15. Matlab 数字图像处理 学习笔记(一)
  16. android对输入手机号码震动,浅析Android手机卫士之抖动输入框和手机震动
  17. 两个鸡蛋100层楼(DP)
  18. 第一行代码:知晓当前是哪个界面
  19. 前端面试知识梳理(高级前端开发工程师)
  20. 倾情推荐:金枝欲孽-3G版

热门文章

  1. 道路千万条,安全第一条
  2. python实现线性回归和逻辑回归
  3. SQL 附加数据库出错:系统错误5(拒绝访问)
  4. Python IDLE源码分析-help_about.py
  5. 在mac上如何用safari调试ios手机的移动端页面
  6. 《独家记忆》心动开播 张超李婷婷“阿桐慕”CP甜宠预警
  7. 2021年最值得背的人民日报申论范文
  8. linux下mysql 8.0密码忘了怎么办
  9. 免拆诊断 | 2010 款宝马 320i 车冷机急加速时发动机熄火
  10. 日军偷袭珍珠港的一些细节——兼评1970和2001年版电影