我以前用过 Sublime Text 编辑器,现在打算用 Atom。如果能有一个名为“editor”的别名或变量,用于所有脚本/命令/启动器,并将此别名链接到某个应用程序,以后可以随时更改,而不会影响这些命令,那就太好了。
我该怎么做?谢谢 :)
答案1
EDITOR
和变量VISUAL
是常用于此目的的众所周知的变量(cron
、sudo
、bash
等使用它)。通常,VISUAL
优先于EDITOR
。但是,两者通常都用于非 GUI 环境。没有什么可以阻止它们成为 GUI 程序,但它们通常不是。
通常,您可以使用以下方式尊重桌面环境中的用户设置xdg-open
.xdg-open
依赖于各种桌面环境特定工具,如gnome-open
或kde-open
(它是如何xdg-open
工作的?)。
因此,在脚本中只需执行以下操作:
xdg-open /some/file
xdg-open proto://some/uri
答案2
Debian 替代系统 ( )已经提供了一个名为editor
ie的通用二进制文件。/usr/bin/editor
update-alternatives
这个二进制文件实际上是一个符号链接/etc/alternatives/editor
:
$ ls -l /usr/bin/editor
lrwxrwxrwx 1 root root 24 Feb 9 2015 /usr/bin/editor -> /etc/alternatives/editor
这反过来又是一个指向实际编辑器的符号链接,根据优先级或手动选择:
$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Feb 10 2015 /etc/alternatives/editor -> /usr/bin/vim.basic
现在如果我打开一个文件:
editor ~/.bashrc
这实际上可以做到:
vim.basic ~/.bashrc
让我们改变编辑器:
$ sudo update-alternatives --config editor
There are 5 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/nedit 40 manual mode
* 4 /usr/bin/vim.basic 30 manual mode
5 /usr/bin/vim.tiny 10 manual mode
带有 的*
是当前选定的,导航到您喜欢的那个,然后按Enter或直接使用 来选择它update-alternatives --set
,或者您可以将优先级设置为您,并在第三列中按update-alternatives --install
命令查看。要获取有关某项的信息,您可以使用update-alternatives --query
或update-alternatives --list
命令。
要安装新的替代使用update-alternatives --install
命令。例如,将编辑器添加/usr/bin/foobar
到editor
替代系统并赋予其优先级 100,以便现在它成为默认设置:
sudo update-alternatives --install editor /etc/alternatives/editor /usr/bin/foobar 100
检查man update-alternatives
以获取详细信息。
答案3
您可以尝试创建一个名为的软链接,editor
指向您正在使用的当前编辑器。当您切换到其他编辑器时,只需将软链接指向新编辑器即可。创建名为 editor 的软链接以指向 Sublime text 3 的命令:
ln -sf subl3 editor
/usr/bin
最好在或中创建此软链接/bin
,否则将包含链接的目录添加到您PATH
可以从终端和脚本访问的目录中。