[4.13.12-1-ARCH 与 Xorg 上的 gnome3 和 gdm]
我已经将我的 VISUAL 和 EDITOR 环境变量设置为vim
. 同样,我确实SYSTEMD_EDITOR="vim"; export SYSTEMD_EDITOR
在我的 ~/.bashrc 中尝试过,但无济于事。
通过在 Arch (systemd) 中修改单元文件时
$ sudo systemctl edit _unit_
我发现自己盯着看nano
。生命太短暂,我想尽vim
一切办法。我该怎么做呢 ?
第一种方法,您可以将此行添加到
~/.bashrc
:然后
sudo visudo
添加这一行:启动新的 bash 会话以使其生效,然后
sudo systemctl edit <foo>
照常运行。第二种方法是使用
update-alternatives
:安装您想要的
editor
,例如vim.gtk3
:然后选择您想要的
editor
:第三种方法是直接设置
EDITOR
on runtime:优先级是第一种方法>第三种方法>第二种方法。
不要尝试设置“GUI”编辑器,例如
gedit
为什么gksu/gksudo 或使用 sudo 启动图形应用程序不能与 Wayland 一起使用?并且 Gedit 在编辑文件时使用 100% 的 CPU您正在为自己的用户设置变量,但
systemctl
以 root (sudo
) 身份运行命令。因此,您为用户设置的变量是无关紧要的。要解决此问题,您可以(但选择 1):
运行
sudo
以-E
导出当前环境:将变量(您只需要
SYSTEMD_EDITOR
这个)添加到 root 的~/.profile
:然后运行
最后,请注意,您需要指定编辑器的完整路径,而不仅仅是其名称。所以它是
/bin/vi
而不是vim
。我使用 shell 别名:
然后只是:
通常避免在 9 个字符中输入 7 个字符也很有用,
systemctl
例如restart
等。对我有用的唯一方法是:
su
或sudo -i
),设置SYSTEMD_EDITOR=/usr/bin/vim
,然后systemctl edit <unit>
SYSTEMD_EDITOR
,然后sudo -E systemctl edit <unit>
sudo SYSTEMD_EDITOR=/usr/bin/vim systemctl edit <unit>
我尝试为 bash 和 zsh 设置
EDITOR
andVISUAL
andSYSTEMD_EDITOR
,为用户和 root 设置,但它只能在 root shell 中工作,在 之后设置变量sudo
,或者使用 sudo 和-E
.我还编辑了 sudoers (
sudo visudo
) 以添加:尽管如此,我发现即使显示 vimDefaults env_keep += "SYSTEMD_EDITOR"
也没有列出该变量。
sudo systemctl show-environment
sudo echo $SYSTEMD_EDITOR
我将变量设置为:
sudo systemctl set-environment SYSTEMD_EDITOR=/usr/bin/vim
并用 . 确认
sudo systemctl show-environment
。即使在那之后,对我有用的唯一方法是顶部列出的方法。