Skip to content

chenxuan520/vim-fast

Repository files navigation

Vim-Fast

  • 一个超级快速的Vim配置脚本

制作人

chenxuan

'       _            __          _   '
'      (_)          / _|        | |  '
'__   ___ _ __ ___ | |_ __ _ ___| |_ '
'\ \ / / | "_ " _ \|  _/ _" / __| __|'
' \ V /| | | | | | | || (_| \__ \ |_ '
'  \_/ |_|_| |_| |_|_| \__,_|___/\__|'

仓库地址

  1. gitee:vim-fast: A easy vim config

  2. github:GitHub - chenxuan520/vim-fast

配置效果

打开效果

编辑效果

为什么制作

  • 之前一直使用Vimplus,不过Vimplus出现几个问题

    1. Vimplus很久没有更新了,挺多issue没有解决的

    2. 目前主流补全方案是lsp,Vimplus使用的YCM有点老了,而且需要自己编译

    3. 有的插件已经有个更加好的替换方案

    4. github访问太慢,导致插件下载太慢,对新手不友好

  • 对于其他的配置,

    • 有的存在github访问问题,对VIM新手不友好,对服务器配置也不够友好

    • 有的因为太过复杂,使得配置文件基本和原来的.vimrc相差太远,甚至使用了不同格式的配置文件,这样使得后期自己定制VIM变得很麻烦,而且太过冗余

    • 有的完全使用lua,使得VIM不兼容问题

    • 有的使用的文件以及结构太多,对于新手不友好

  • 基于以上的问题,我想基于Vimplus进行创作,使得它更加好

项目特点

  1. 正常3分钟从新的linux主机安装好VIM配置(包括lsp之类),3分钟解决所有问题

  2. 基于Vimplus,使得所有配置文件都在.vimrc中,1100 余行的配置文件更加简单和直观,同时也避免了多个配置文件冗余

  3. 插件精简化,精选出了23个插件,使得打开速度得到提高(有插件版本大约130ms,无插件版本约20ms)

  4. 插件压缩包放在gitee上,使得插件下载的速度得到提高,对新手友好化,提供shell脚本一键配置插件

  5. 添加了基于功能的快捷键的查找,避免了出现快捷键忘记,通过<space>H打开

  6. 完善了鼠标的支持,使得新手更加友好

  7. 支持C/C++,Go,Python,Rust语言一键配置(欢迎大家提mr添加更多语言支持)

  8. 使用coc代替YCM,更好的补全体验

  9. 支持更加多样化的主题(超过10种),更好的视觉体验(默认tokyonight)

  10. 提供shell脚本实现定制化Vim

  11. 项目中文文档详细,对新手更加友好

  12. 内置了一个简单完整的任务管理系统,方便建立一键编译运行系统

  13. 提供中文VIM手册的一键下载配置(基于Vimcdoc)

  14. 内置markdown快捷插件

  15. 对markdown文件提供ibus输入法的切换操作(默认自带),预览markdown(默认自带)

  16. 和ici以及lazygit,fzf,lf集成,无需额外插件,即可实现翻译和git管理,文件管理

  17. 内置了一个Vimrc无插件简化版本,没有插件或者root权限也可以使用

  18. 配置好的折叠功能,让代码浏览更加简单

  19. 内置众多便捷vimscript,方便学习和简化操作

内置的Vimscript功能

  1. 全文选中,类似插件Vim-textobj-entire

  2. markdown,快捷编写,格式化,类似插件vim-markdown

  3. 任务管理,类似插件asynvtasks

  4. git状态显示,类似插件vim-gitgutter

  5. 预先代码插入,类似插件prepare-code

  6. 参数选中,类似插件vim-textobj-parameter

  7. 高亮选中,类似插件vim-textobj-syntax

  8. 缩进选中,类似插件vim-textobj-indent

  9. ibus输入法自动切换,类似插件vim-ibus

  10. lazygit和Vim集成,效果更好,类似插件lazygit.nvim

  11. lf和vim集成,类似插件lf.vim

  12. ici翻译,类似插件ici.vim

  13. 颜色可视化,类似插件colorizer

  14. 二进制文件编辑,类似插件Vinarise

  15. 多光标编辑,类似插件vim-multiple-cursors

  16. editorconfig支持,类似插件editorconfig-vim

  17. 查询按键是否被绑定以及被绑定的位置,<leader>h 和-h触发检测

  18. mdbook 目录自动生成

  19. 查看并打开最近关闭的buffer

  20. 简单的markdown和html预览

  21. fzf调用

  • 说明:以上功能均内置在Vim-fast,且不会影响Vim启动速度

项目文件夹

  • autoload 插件plug.vim,提供插件的安装

  • fonts 字体文件夹,预先下载,缩减下载时间

  • colors 主题文件夹,提供超过10种主题

  • doc 帮助文档

  • vimscript 一些有用的VIM脚本

  • old Vimplus旧版文件(不推荐,仅供参考)

shell脚本

  • install.sh 安装脚本,首先运行,安装vim-fast

  • install_without_sudo.sh 在没有root和sudo下安装

  • update.sh 拉取vim-fast最新配置

  • uninstall.sh 卸载vim-fast

  • shell/cpp/go/rust/python.sh 四种语言的lsp以及coc安装,运行install.sh后按需调用

  • shell/plug.sh 下载并安装最新所有插件(,自动调用,使用gitee,更加快速)

  • shell/doc_zh.sh 下载安装vim中文文档

  • shell/self.sh 将.vimrc中姓名和email定制为自己的

  • shell/nodejs.sh nodejs安装脚本,会自动调用

  • shell/color.sh 添加Vim主题

  • shell/coc_plug.sh 推荐的coc插件安装

  • shell/vim_compile.sh vim最新版本编译安装

  • nvim.sh 一键迁移到nvim

其他文件

  • .vimrc VIM配置文件

  • vimrc-no-plug 不包含插件和主题的VIM配置

项目说明

  1. !目前只支持ubuntu,debian,以及其他ubuntu系的linux(如debian,linux mint等),mac支持可能不完善,其他系统可以使用vimplus!,同时非常希望大家可以提mr来完善仓库,或者提出issue说明需求的系统

  2. 该项目基于Vimplus

  3. 如果遇到问题请先阅读本文的QA部分,不能解决再提出issue或者联系作者

  4. vim版本需8.1以上

  5. 如果出现了QA以外的问题,优先考虑是不是nodejs版本问题,经过测试v18.13.0版本是没问题,参考

视频及文章

安装

第一第二步可以简化为

curl https://gitee.com/mirrorvim/vim-fast/raw/master/shell/webinstall.sh |bash

(在安装完毕后如果遇到输出混乱的问题,可以直接关闭终端重启就可以了)

  1. git clone https://gitee.com/mirrorvim/vim-fast

  2. cd vim-fast && ./install.sh (不需要sudo,sudo会使得文件位置错误)

  3. 出现后按下回车

  4. 出现下图,安装完成

  5. 对于不同语言执行不同脚本

C++/C

  1. ./shell/cpp.sh

  2. 出现下图配置成功

Python

注意:node需要在14以上,使用node --version 查看node版本,如果版本太低,参考这篇文章解决

  1. ./shell/python.sh

  2. 出现这个为安装python补全成功

Go

  1. ./shell/go.sh

  2. 刚编辑文件时需要等待一会下载,大概两分钟

  3. 出现这个为安装go补全成功

Rust

  1. ./shell/rust.sh

  2. 等待安装结束(大约一分钟),如果不存在rust环境会自动下载

简易安装无插件版本

curl https://gitee.com/mirrorvim/vim-fast/raw/master/shell/websimple.sh | bash

  • 或者

wget https://gitee.com/mirrorvim/vim-fast/raw/master/vimrc-no-plug -O ~/.vimrc

无插件版说明

  1. 无插件版只有一个文件(vimrc),不会创建任何其他文件,因此可以直接复制粘贴文件(./vimrc-no-plug)到~/.vimrc

  2. 内置插件有easy-motion,vim-surround,vim-commentary,auto-pair,vim-slash,vim-airline的大部分功能

  3. 内置了tokynight颜色主题,以及所有有插件版本的自定义按键功能

  4. 如果安装有fzf,拥有leaderf大部分功能

更新

  • ./update.sh

卸载

  • ./uninstall.sh

外部工具集成

  1. lazygit,需要安装lazygit,使得在shell中可以直接调用shell.按下 空格+g 触发

  2. ici翻译pip install ici,并修改.vimrc中ici的路径,在普通模式或者可视化模式按下 ,i 翻译单词

  3. fzf文件搜索,sudo apt install fzf,<space>z/Z 触发

  4. lf文件管理器,需要安装lf,<space>e/E 触发

Vimplus原仓库

Vimplus

QA

  1. 有nvim版本吗

    • nvim可以通过nvim.sh安装,配置兼容
  2. 我的系统没有支持

    • 可以提出issue或者自己制作提出mr
  3. PlugInstall 出现# unsafe repository git config --global --add safe.directory

    • git config --global --add safe.directory "*"
  4. xshell,tmux 打开的颜色混乱

    • xshell中 “工具” -> “选项” -> “高级”->"使用本色",打开后重启xshell

    • tmux 目前只能切换主题为onedark,并关闭termguicolors,设置let g:onedark_termcolors=256

  5. 是否需要root或者sudo权限

    • 如果在本机之前安装过vim-fast或者对应的软件已经全部安装好了,可以不需要sudo,否则需要sudo安装软件包

    • 如果没有root权限可以运行./install_without_sudo.sh,但部分功能可能没有

  6. 我想要自定义Vim启动时候dashboard内容

  7. 出现E1208: -complete used without allowing argumentsPress ENTER or type command to continue

    • 进入coc.nvim 插件目录然后git reset --hard v0.0.81

    • 或者编辑coc.vim 这个出错的文件,把438行删除也可以

  8. Vim 特定文件预先生成的代码我想要修改

    • ~/.vim/ftplugin/template找到对应文件的文件夹,修改文件的内容即可
  9. 控制台状态栏和图标混乱

  • 设置终端的字体

    • 如果是linux系统

      1. 打开终端首选项

      2. 设置字体为 DroidSansMono Nerd Font Book(如果没有双击ttf字体安装)

    • 如果是mac(以iterm2终端举例)

      1. 打开fonts文件夹(项目根目录下),双击DejaVu.ttf文件安装该字体

      2. 打开Item2 -> setting -> profile -> text -> font

      3. 设置字体为DejaVvSansMona Nerd Font

    • 如果是windows(以windows terminal终端举例)

      1. 打开fonts文件夹(项目根目录下),双击DejaVu.ttf文件安装该字体

      2. 打开 terminal -> 设置 -> 默认值 -> 外观 -> 字体

      3. 设置字体为DejaVvSansMona Nerd Font

  • 如果不想设置或者无法设置,可以选择禁用图标功能

    1. 将下列代码注释,如果执行之后还是乱码,将下列代码中的类似更改为空格
    let g:airline_left_sep = ''
    let g:airline_left_alt_sep = ''
    let g:airline_right_sep = ''
    let g:airline_right_alt_sep = ''
    
    1. Plug 'ryanoasis/vim-devicons'这一行注释

    2. 在~/.vimrc中加入let g:dashboard_icon_disable=1

  1. 出现E117,未定义的函数getenv
  • 出现问题原因为VIM版本太低了,可以升级VIM(./shell/vim_compile.sh 最新Vim安装)或者去到出问题的行删除该行
  1. 使用的主题
  1. ctrl-s之后没有多光标,反而卡住了
  • 终端的设置问题,将stty -ixon加到~/.bashrc,然后重新打开终端加载就可以了
  1. 安装nodejs出错,无法连接下载
  • 重新运行./shell/nodejs.sh
  1. xshell中使用vim的backspace无法删除字符
  1. nvim无法使用系统粘贴板
  • 运行sudo apt install xclip,参考

帮助

  1. 插件快捷键说明(可能有部分过时,推荐使用<space>H查看)

  2. Vim一些按键帮助

反馈

  • 出现bug或者问题可以使用github或者gitee的issue提出

  • 或者直接加Q1607772321联系我

希望

  • 由于个人能力有限,希望大家可以给自己的系统写一份install.sh,然后提mr,非常感谢

后记

  • 使用VIM其实不应该作为开箱即用的ide,但是刚开始什么都没有的界面劝退了大多数人,因此我制作了这个仓库带你用最少的时间把VIM打造成IDE,但是让配置文件尽量简单化

  • 当你可能熟悉VIM之后可能会觉得我设置的快捷键反人类,那个时候你可以自己去定制一切,VIM的一切都是可以定制的,当你自己去编辑.vimrc的时候,VIM就会成为你最称手的兵器


Vim学习资料推荐


Vim学习路线推荐

  1. 找到一个一定要用VIM的理由(不然用不下去的)

    • 找一个最简单的VIM教程(比如这个),把VIM作为普通编辑器用
  2. 找到一个简单(非常重要)并且开箱即用的配置(比如该仓库)视频

    • 将VIM运用到日常

    • 等用到一定程度看VIM视频

  3. 读懂vimrc配置内容(可控性)视频

    • 开始看VIM书籍
  4. 开始自己定制属于自己的VIM

    • 了解vimscript 简单语法配置


  • 如果这个仓库对你有用,可以给个星星⭐

About

A very fast Vim repository for C/C++,Go,Python,Rust

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published