如何将Vim分配为默认程序来打开某种文件类型,并在最大化终端中运行它?

我想把一个基于终端的程序指定为Gnome Shell 3.2中的默认程序。我正在运行Ubuntu 11.10。

更具体地说,我希望我的 .txt 文件在最大化的 Gnome 终端中打开 vim。

'用其他应用程序打开'菜单没有提供这个选项。

提前感谢您的帮助。

2个回答

我发现上面的解决方案对我没有起作用(我不知道为什么)。
通过以下步骤在`/usr/bin/`目录下创建一个名为`mvim`的文件:
sudo vim /usr/bin/mvim

并粘贴以下两行:
#!/bin/bash
/usr/bin/gnome-terminal -e "/usr/bin/vim $1"

按下 :wq 然后按下 Enter 保存。
现在通过以下方式为此命令赋予可执行权限:
sudo chmod +x /usr/bin/mvim

要测试它是否能正常工作,你可以输入以下内容:
mvim anyfile

它应该打开一个新的终端,并在 vim 中打开 anyfile

现在打开你的 文件管理器(我的是 SpaceFM),然后 右键点击 一个文本文件并点击 属性。如果有一个打开命令的选项,那么输入你的命令路径,例如 /usr/bin/mvim

太棒了!与此同时,你创建了自己的命令!


1使用含有空格的文件名可能会导致问题。可以使用 /usr/bin/gnome-terminal -e "/usr/bin/vim '$1'" 或者 /usr/bin/gnome-terminal -x /usr/bin/vim "$1" 。更好的方式是使用 -x$@/usr/bin/gnome-terminal -x /usr/bin/vim "$@" ,以防你想要向 Vim 传递选项或打开多个文件。 - muru
谢谢信息,muru。目前我正在使用lxterminal。是否有其他替代-x标志或其他方法可以让多个文件的操作对我起作用? - Mandeep Singh
@MandeepSingh 你想试试 xfce4-terminal 吗?它也很轻量级,并且支持 -x - muru

在gnome中处理文件时,您将需要使用名为gvim的图形化版本的vim,要安装它,请键入sudo apt-get install vim-gnome

有一个选项可以创建一个.desktop文件,该文件将显示在“使用其他应用程序打开”选项卡中:

  • 导航到~/.local/share/applications
  • 创建一个名为vim-console.desktop的文件,并包含以下内容:
[Desktop Entry]
Encoding=UTF-8
Name=Vim Text Editor (Console)
Comment=Edit text files in a console using Vim
Exec=gnome-terminal --full-screen --execute bash -c "vim %u"
Terminal=true
Type=Application
Icon=/usr/share/pixmaps/vim.svg
Categories=Application;Utility;TextEditor;
StartupNotify=true
MimeType=text/plain;
NoDisplay=true
在此之后,您将在“使用其他应用程序打开”选项卡中看到Vim文本编辑器(控制台),选择它,然后当您双击文件时,您将能够使用vim终端编辑器打开它。