Skip to content
/ rvim Public

Thanks to Bram Moolenaar that we have this remarkable editor, Vim.

License

Notifications You must be signed in to change notification settings

bobby4k/rvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thanks to Bram Moolenaar that we have this remarkable editor, Vim.

rvim - RapidVim

A rapidly available version of vim configuration

简单说明情况

一个基于系统自带vim,快速可用的配置。

  • 使用Vim 8+ packages
    • 仅依赖ctags
    • 无需lua、python、nodejs支持
  • 默认安装插件
    • 目录树 preservim/nerdtree
    • 代码注释 preservim/nerdcommenter
    • 老年人代码补全 neocomplcache
      • 仅Insert模式下显示补全弹框
    • ctags增量更新 vim-gutentags
  • 默认开启
    • 语法高亮 syntax enable
    • 代码补全(内置) set omnifunc=syntaxcomplete#Complete
    • ctags set tags=tags
  • 显示相对行号
    • 在Insert模式关闭

已知问题

  • 编辑vim配置文件时会产生 neocomplcache插件的set_dictionary_help错误
    • 临时方案 Cc 关闭 或者 :silent! TroublesomeCommand
    • 先关闭插件, 再打开vim配置文件
sed -i 's/let\ g:neocomplcache_enable_at_startup\ =\ 1/let\ g:neocomplcache_enable_at_startup\ =\ 0/' ~/.vim/.vimrc

必要快捷键:

  • <leader>键 空格
  • jj绑定 <esc>
  • Ct 开启/关闭 nerdtree目录树窗口
    • Cww 切换窗口
  • <leader>/ 自动切换注释
    • <leader>cc 添加注释
    • <leader>cu 取消注释
  • Cx Co 自动补全
  • 格式化与缩进
    • 向左右缩进 shift + > (或者 Shift + < )
    • 对齐缩进 v模式,方向键 ←→↑↓ 选择, 等号键=, 对齐第一行
    • gg=G 自动格式化整个文件
  • 多文件/buffer切换
    • :ls 列出当前打开文件
    • :b3 切换第三个文件
      • <leader>1-9 绑定
      • <leader>h/l 向前/后切换buffer
    • :bd3 关闭第三个文件
  • :qa 退出所有(:quitall的缩写)
    • <leader>qq 绑定 :qa
    • <leader>qa 绑定 :qa!

安装

  • 方式1: git clone
    cd ~ ; mv .vimrc .vimrc_bak ; mv .vim/  .vim_bak
    git clone --recursive git@github.com:bobby4k/rvim.git .vim
    ln -sf .vim/.vimrc .vimrc

    # 更新
    cd ~/.vim
    git pull
    git submodule update --init --recursive
    cd ~ ; mv .vimrc .vimrc_bak ; mv .vim/  .vim_bak
    tar xvf rvim_0.1.tar.gz
    ln -sf .vim/.vimrc .vimrc

ctags

  • 可在存在调用关系的函数间来回跳转

ctags插件及安装

  • ctags 安装
    • debian apt install ctags
    • archlinux pacman -S ctags
    • macOS brew install ctags
  • vim-gutentags 增量更新插件
    • 节能

ctags使用说明

  • a. 第一次使用, 生成索引
    • cd your-project/ ; ctags -R *
  • b. 【可跳过】 设置tags路径::set tags=./tags,./TAGS,tags,TAGS
    • 已使用SetTags()自动设置
      • 直接打开目录即可 vim your-project/
    • echo tagfiles() 查看当前tags文件列表
  • c. 定义跳转: 光标移动到函数或变量上,Ctrl+]键 跳转到定义处, Ctrl+o返回
    • Ctrl - W + ] 用新窗口打开并查看
    • Ctrl -W } 使用 preview 窗口预览
  • d. 查找引用: Ctrl+]跳转至定义处,再次按下Ctrl+] 查找该函数其他引用

缘由:

  • 自从习惯wsl+vscode+docker,极少用vim,多年前顺手的vimrc也已丢失,遂重新配置一个快速可用的版本;
  • 关于插件管理:debian自带vim不支持python,且非ide环境,仅几个插件即可,vim8的packages足矣;