SpaceVim——IDE般的vim
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
•安装 MacVim
mac定制版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相关推荐
- 所需即所获:IDE = _plugins_ + vim
新版迁移:https://github.com/yangyangwithgnu/use_vim_as_ide http://yangyangwithgnu.github.io/ 0 vim 必知会 ...
- Vim的 IDE:SpaceVim
[导语]:SpaceVim 是一个社区驱动的模块化的 Vim IDE,以模块的方式管理插件,旨在维护一个模块化.开箱即用.稳定的 Vim 开发环境.目前在 GitHub 的 Star 数已有 15.2 ...
- Go语言 linux下开发 IDE -SpaceVim\NeoVim
文章目录 Go语言 linux下开发 IDE -SpaceVim 一.NeoVim和SpaceVim区别 二.NeoVim 安装 NeoVim Neovim GitHub Copilot插件安装 常见 ...
- VIM 打造 Java IDE 1
说到 VIM,网路上的教程真的是多如牛毛,大部分的教程作者都狂热的 VIM 爱好者,在他们眼里 VIM 是一切,他们用 VIM 上网,收发邮件,听音乐,发博客,刷微博-- 但对于新手来说,这些教程非但 ...
- SpaceVim - 让你的vim变得更加高效和强大
SpaceVim 使用指南 项 目 主 页: https://spacevim.org/cn/ Github 地址 : https://github.com/SpaceVim/SpaceVim 码云地 ...
- 关于Vim/Neovim/SpaceVim的一些思考
1 前言 最近看到了Neovim以及SpaceVim,于是上手试了一下. 2 Neovim与SpaceVim Neovim是Vim的一个分支,具有更加现代的GUI.嵌入式以及脚本化的终端.异步工作控制 ...
- vim配置之spacevim
为了更好的利用vim,我们一般需要自己配置,今天介绍了一下经常用的spacevim (一)配置环境 Ubuntu16.04 vim 7.4版本以上(必须!!) (二)安装spacevim 1.检查vi ...
- java vim ide_把VIM配置成IDE开发环境 | 学步园
VIM常用命令 VIM命令图 VIM键盘布局图 VIM键盘布局英文 VIM键盘布局中文 将VIM配置成IDE(通过 VIM基本插件 和VIM配置文件) Ubuntu14下我的VIM IDE配置的效果图 ...
- SpaceVim - 让你的vim变得更加高效和强大
SpaceVim 中文手册 项 目 主 页: https://spacevim.org Github 地址 : https://github.com/SpaceVim/SpaceVim SpaceVi ...
最新文章
- 一道面试题:js返回函数, 函数名后带多个括号的用法及join()的注意事项
- java.security_Java开发网 - java.security.NoSuchAlgorithmException 问题的一些解决
- 【项目管理】常见缩写(术语)
- opencv进阶学习笔记6:使用鼠标在图像上绘制矩形框或者多边形框
- NIO中Selector分析
- python将矩阵顺时针旋转90度_python 二维数组90度旋转的方法
- linux 环境变量详解,Linux 环境变量详解及实例
- vbox虚拟机能获取到ip但是上不了网_虚拟机三种网络模式详解
- js ajax异步提交,jquery ajax异步提交表单数据的方法
- 计算机中丢失xvidcore.dll,出现xvidcore.dll not found 问题的解决方法
- mysql 数据恢复 binlog
- ORID焦点呈现法(Focused Conversation Method)
- git send-email 使用126邮件发送patch
- php网页的制作,网页制作步骤是什么
- Matlab 数字图像处理 学习笔记(一)
- android对输入手机号码震动,浅析Android手机卫士之抖动输入框和手机震动
- 两个鸡蛋100层楼(DP)
- 第一行代码:知晓当前是哪个界面
- 前端面试知识梳理(高级前端开发工程师)
- 倾情推荐:金枝欲孽-3G版