gikeymarcia.neovim
Neovim
从 GitHub 部署最新的 neovim 和 tree-sitter,适用于 x86_64 的 Debian 系统。
可选:
- 安装每日构建的 neovim 应用镜像为
nnvim
- 将本地 nvim 配置同步到远程机器
- 安装支持的 apt 软件包
- 安装支持的 pip 软件包(使用 pipx)
- 安装支持的 npm 软件包
要求
无。
角色变量
默认配置
默认情况下,该角色将从 GitHub 安装 neovim 和 tree-sitter。你可以通过变量关闭此功能或更改每个应用程序的安装版本。
neovim: true
neovim_version: "0.10.1"
treesitter: true
treesitter_version: "0.22.6"
每日构建的 Neovim 版本
如果你想要从 GitHub 获取最新的每日构建的 neovim 应用镜像,可以设置 'neovim_nightly: true' (默认值:false)。
neovim_nightly: true
Neovim PDE (个人开发环境)
如大多数 vim 用户所说,随着时间的推移,它会成为一个适合你需求的工具。这个工具的麻烦在于在多台机器之间保持所有部件同步。'neovim_pde' 切换旨在帮助你将开发环境配置集中在一个地方,并无缝地转移到多台机器上。
以下是该角色的默认值。
neovim_pde: false
# 软件包
neovim_apt_packages: []
neovim_pip_packages: []
neovim_npm_packages: []
# 配置
neovim_external_config: []
neovim_config_dirs: []
neovim_config_syncs: []
neovim_pde
是启用/禁用此扩展同步模式的开关。当此值为 false (默认为 false)时,其他 PDE 功能将不会运行。没有软件包,没有同步。
软件包
目前支持 3 个打包系统:
neovim_apt_packages
neovim_pip_packages
neovim_npm_packages
每个打包变量应包含要安装的软件包列表。如果你选择了来自某个源的软件包,则该包管理器也将被安装。你的变量文件可能如下所示。
neovim_pde: true
neovim_npm_packages:
- neovim
neovim_pip_packages:
- pynvim
- flake8
在这种情况下,'npm' 和 'pip' 包管理器也将以其最新状态被安装。可以在 默认变量 的“深入挖掘”部分找到更细粒度的控制选项。
配置
在同步配置时,你需要定义一个 primary_user
,该用户将收到配置。下面我使用 'neovim_config_syncs' 列表列举我本地 ~/.config/nvim/
中哪些文件和文件夹将同步到远程机器。
提示:要同步的文件夹应有一个 /
结尾。
neovim_pde: true
primary_user: prime
neovim_config_syncs:
- init.vim
- coc-settings.json
- autoload/
- ftplugin/
- lua/
- plug-config/
- snips/
- spell/
- syntax/
neovim_config_dirs:
- "/home/{{ primary_user }}/.config/nvim"
如果需要在远程 $HOME 中存在某个文件夹,则应使用 /home/{{ primary_user }}
作为路径的根目录在 neovim_config_dirs
列表中定义它。例如,上述代码确保 nvim 配置文件夹位于 /home/{{ primary_user }}/.config/nvim
。
最后,如果你需要复制的配置文件位于 ~/.config/nvim
之外,可以使用 neovim_external_config
变量。该变量应为键值对的列表,包含 'src:' 和 'dest:'。
src
是本地文件的路径dest
是将接收 'src' 文件的远程机器路径。通常这些路径将以/home/{{ primary_user }}
开头。
neovim_external_config:
- src: ~/.config/flake8
dest: "/home/{{ primary_user }}/.config/flake8"
- src: ~/.config/shellcheckrc
dest: "/home/{{ primary_user }}/.config/shellcheckrc"
上述代码将本地的 flake8 和 shellcheck 配置文件复制到远程主机。
依赖关系
无。
示例剧本
下面我将上述所有配置组合成一个单一剧本。
---
- hosts: all
become: true
roles:
- gikeymarcia.neovim
vars:
neovim_nightly: true
primary_user: mikey
neovim_pde: true
neovim_npm_packages:
- neovim
neovim_pip_packages:
- pynvim
- flake8
neovim_config_syncs:
- init.vim
- coc-settings.json
- autoload/
- ftplugin/
- lua/
- plug-config/
- snips/
- spell/
- syntax/
neovim_config_dirs:
- "/home/{{ primary_user }}/.config/nvim"
neovim_external_config:
- src: ~/.config/flake8
dest: "/home/{{ primary_user }}/.config/flake8"
- src: ~/.config/shellcheckrc
dest: "/home/{{ primary_user }}/.config/shellcheckrc"
...
许可证
GPLv3
作者信息
在 GitHub 上找到我 @ https://github.com/gikeymarcia
Deploy the latest Neovim and sync your configs.
ansible-galaxy install gikeymarcia.neovim