haelle.vimrc
Ansible vimrc
一个用于安装 NeoVim 及一些插件的 Ansible 角色。
需要 Ansible 社区任务:
ansible-galaxy collection install community.general
依赖
目标
对以下语言/语法提供完整/无缝支持:
- 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>: 打开/关闭 NerdTreeEnter: 打开文件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
