haelle.vimrc

Ansible vimrc

一个用于安装 NeoVim 及一些插件的 Ansible 角色。

需要 Ansible 社区任务:

ansible-galaxy collection install community.general

依赖

  • ⚠ 警告:此安装将通过包管理器安装 NodeJS 和 npm。⚠
  • 安装 FzfAg 以进行搜索

目标

对以下语言/语法提供完整/无缝支持:

  • Ruby/RoR
  • HTML
  • Javascript
  • VueJS
  • React
  • Ansible
  • JSON
  • YAML
  • Markdown
  • C#

目标是实现 0 错误行为

主题与字体

当前主题为 slate(desert、industry 也不错);可以通过 :colorscheme xxx 更改,使用 Tab 查看可用主题。

当前字体为 MesloLGS NF Regular(支持表情符号),设置在 Zsh 中。

插件

安装插件::PlugInstall(已由 Ansible 安装)

导航

帮助:使用 :help keycodes 显示 vim 键码名称

可以使用分屏、标签页和 Tmux 导航:

  • <C-w f> : 在分屏中打开
  • <C-w gf> : 在标签页中打开
  • <C-⬅,⬆,⬇,➡> : 面板导航
  • <C-w-⬅,⬆,⬇,➡> : 移动面板
  • gt : 切换 vim 标签页
  • <C-b> : 触发 Tmux 导航

活动功能

  • gd : 跳转到定义
  • gi : 跳转到实现
  • gr : 浏览引用
  • gf : 跳转到文件(仅限 Ruby/Rails)
  • gg=G : 重新格式化代码
  • F2 : 重命名变量/方法/类
  • <C-k> : 显示方法定义
  • qf : 运行 linter 修复 - 工作不太好...
  • fr : 对当前行运行格式化器(不适用于 Solargraph/Ruby)
  • fa : 对整个文件运行格式化器
  • <C-o> : 返回
  • <C-s> : 保存
  • <C-space> : 触发自动补全引擎
  • <tab> : 在补全建议中导航
  • <C-c> : 注释/取消注释(行或选区)
  • bufdo! : 使用 ! 以避免保存文件(在此配置下是强制的...)

Ruby & Rails 相关:

  • <C-q> : 切换 Ruby 测试与文件
  • <C-w>t/s/l/a 运行测试/规范(文件、最近、最后、所有)

其他:

  • 暂停 vim Ctrl+z 并用 fg 返回

自动/被动功能

  • 拼写检查
  • 语法高亮
  • 自动 lint 在边缘和浮动窗口
  • 所有地方使用 2 个空格作为 tab
  • 在会话之间记住光标位置
  • 保存时删除尾部空行
  • 修剪空格
  • 显示所有不可见字符
  • 高亮显示 'TODO/FIXME/XXX' 关键字
  • 改善 vim 尺寸调整
  • 添加所有类型的括号对()、[] 标签...
  • 添加 Ruby 对(def/end,do/end)
  • 在边缘添加 Git 信息
  • 在边缘或下划线中添加 linter 信息
  • 当可用时显示方法定义(使用 <C-a><C-b> 向后和向前滚动)

搜索

活动:

  • <C-f> : 在当前文件中搜索(基本 vim)
  • <Shift-f> : 在所有文件中搜索(使用 fzf.vim / ag
    • 警告 : 你可能需要禁用终端搜索以使其工作
  • <Esc> : 取消搜索(取消高亮)
  • <C-p> : 按名称搜索文件(使用 fzf.vim
    • Enter : 打开
    • <C-t> : 在新标签页中打开
    • <C-x> : 在水平分屏中打开
    • <C-v> : 在垂直分屏中打开

被动:

  • 高亮结果为 深绿色
  • 高亮当前选中区域,光标闪烁

侧边栏 (NerdTree)

活动

  • <C-n> : 打开/关闭 NerdTree
  • Enter : 打开文件
  • i : 在水平分屏中打开
  • s : 在垂直分屏中打开
  • ... 详见 NerdTree 文档

被动

  • 文件的图标
  • 基于 Git 状态的符号
  • 忽略某些文件夹(node_modules.gitignore

Ruby - 眼见为实

F4/F5/F6/F7 标记/运行/标记并运行/清除标记代码

完成的征服

插件将在首次启动时安装。

对于 Solargraph,你需要为每个 Ruby 版本安装:

:InstallGems

有用的命令:

  • :CocInfo
  • :CocList commands
  • :checkhealth
  • :CocList extensions
  • :call CocAction('format')
  • :CocList marketplace python

请记住 可用扩展

  • javascriptreact
  • typescript
  • typescriptreact
  • typescript.tsx
  • graphql

角色变量

没有强制参数,所有参数在 defaults/main.yml 中。

示例剧本

- hosts: localhost
  roles:
    - role: vimrc
      vim_user: foo

开发使用

要在本地运行,请创建符号链接:cd /etc/ansible/roles & sudo ln -s /path/to/vimrc .

许可证

BSD

关于项目

vim installation & configuration

安装
ansible-galaxy install haelle.vimrc
许可证
gpl-3.0
下载
97
拥有者
Product Owner RoR lover Former C#, PHP7, Python, SQL developper