问题描述
如何将默认文本编辑器从gedit更改为vim?当我点击文本文件时,我希望它在终端下面的vim中打开而不是gedit。
最佳解决方案
你没有说你是如何点击这个文件的,所以我将在Nautilus的Gnome中解释一下这样做的方法。我相信它应该适用于其他情况。
首先,要将Vim(或任何应用程序)放入“使用其他应用程序打开”列表,您需要在~/.local/share/applications
中创建一个.desktop文件,其中包含一行代码:Exec=<command> %f
。我刚刚创建了一个名为vim.desktop的行:
[Desktop Entry]
Categories=;
Comment=Edit file in Vim
Exec=vim %f
GenericName=Text Editor
Hidden=false
Icon=vim
Name=Vim
Terminal=true
Type=Application
Version=1.0
当我在Nautilus中使用right-clicked时,这使得”Vim”出现在可能的应用程序列表中,并按预期打开了该文件。
如果有任何问题,请告诉我。
次佳解决方案
打开defaults.list
sudo -H gedit /etc/gnome/defaults.list`
更换
text/plain=gedit.desktop
同
text/plain=gvim.desktop
保存并关闭。
有关更多详细信息和屏幕截图,请查看以下答案:How do I stop gedit from opening anything?
第三种解决方案
将其保存为~/.local/share/applications/vim.desktop
:
[Desktop Entry]
Name=Vim Text Editor
Comment=Edit text files
Exec=vim %F
Terminal=true
Type=Application
Icon=vim
Categories=Utility;TextEditor;
StartupNotify=true
MimeType=text/plain;
然后在文本文件的Nautilus right-click中,选择”Properties”并转到”Open with”。如果此处未显示vim,请单击“显示其他应用程序”。选择vim并单击“设为默认值”。
第四种方案
vim.desktop
方法的问题是每次打开一个新的终端窗口,而不是使用现有的vim实例。这可能不是你想要的,但我认为没有办法解决它。
接下来最好的事情是使用gvim
,这是一个GUI应用程序,而不是终端应用程序。
第五种方案
纯命令行方法:
echo "[Desktop Entry]
Name=Vim Text Editor
Comment=Edit text files
Exec=vim %F
Terminal=true
Type=Application
Icon=vim
Categories=Utility;TextEditor;
StartupNotify=true
MimeType=text/plain;" > ~/.local/share/applications/vim.desktop
cp /etc/gnome/defaults.list ~/defaults.list.bak # backup
sudo sed -i "s/=gedit\.desktop/=vim\.desktop/" /etc/gnome/defaults.list
mkdir ~/.icons
wget -O ~/.icons/vim.png http://en.xn--icne-wqa.com/images/icones/1/4/vim.png # if you want an icon