在 Ubuntu 下使用 snap 时如何将 nvim 添加到 update-alternatives
How do I add nvim to update-alternatives when using snap under Ubuntu
我想将 nvim(一个快照)添加到 update-alternatives
。问题是 snap 在确定要 运行:
的程序时似乎以神秘的方式工作
$ sudo update-alternatives --install /usr/bin/vim vim /snap/bin/nvim 60
$ vim # works
$ vim hello.txt
error: unknown command "hello.txt", see 'snap help'.
如果我看 /snap/bin/nvim
它是 link 到 /usr/bin/snap
:
$ ls -lah /snap/bin/nvim
lrwxrwxrwx 1 root root 13 Jan 25 15:02 /snap/bin/nvim -> /usr/bin/snap
但是 snap 可执行文件如何确定它需要 运行 nvim
为了像这样使用它,你必须创建一个像这样启动 nvim 的脚本:
#!/usr/bin/env bash
/usr/bin/snap run nvim ${@}
假设您称它为 nvim_start.sh。现在你可以在你的 update-alternatives 命令中使用这个脚本(记得启用执行标志):
CUSTOM_NVIM_PATH=/usr/bin/nvim_start.sh
sudo chmod +x "${CUSTOM_NVIM_PATH}"
set -u
sudo update-alternatives --install /usr/bin/ex ex "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/vi vi "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/view view "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/vim vim "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/vimdiff vimdiff "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --set ex "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set vi "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set view "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set vim "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set vimdiff "${CUSTOM_NVIM_PATH}"
我不确定为什么使用 /snap/bin/nvim 不起作用,即使从脚本内部调用也是如此。至少解决方法可以正常工作。
我想将 nvim(一个快照)添加到 update-alternatives
。问题是 snap 在确定要 运行:
$ sudo update-alternatives --install /usr/bin/vim vim /snap/bin/nvim 60
$ vim # works
$ vim hello.txt
error: unknown command "hello.txt", see 'snap help'.
如果我看 /snap/bin/nvim
它是 link 到 /usr/bin/snap
:
$ ls -lah /snap/bin/nvim
lrwxrwxrwx 1 root root 13 Jan 25 15:02 /snap/bin/nvim -> /usr/bin/snap
但是 snap 可执行文件如何确定它需要 运行 nvim
为了像这样使用它,你必须创建一个像这样启动 nvim 的脚本:
#!/usr/bin/env bash
/usr/bin/snap run nvim ${@}
假设您称它为 nvim_start.sh。现在你可以在你的 update-alternatives 命令中使用这个脚本(记得启用执行标志):
CUSTOM_NVIM_PATH=/usr/bin/nvim_start.sh
sudo chmod +x "${CUSTOM_NVIM_PATH}"
set -u
sudo update-alternatives --install /usr/bin/ex ex "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/vi vi "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/view view "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/vim vim "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --install /usr/bin/vimdiff vimdiff "${CUSTOM_NVIM_PATH}" 110
sudo update-alternatives --set ex "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set vi "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set view "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set vim "${CUSTOM_NVIM_PATH}"
sudo update-alternatives --set vimdiff "${CUSTOM_NVIM_PATH}"
我不确定为什么使用 /snap/bin/nvim 不起作用,即使从脚本内部调用也是如此。至少解决方法可以正常工作。