如何将emacs设置为默认文件管理器?


19

某些程序(如firefox)具有按钮,单击这些按钮可打开文件管理器以浏览文件。如何在Debian Linux上以Dired模式在emacs中打开它?


9
您的操作系统是什么?
画了

1
我正在使用debian jessie。
godblessfq

Answers:


17

根据您的桌面环境,设置默认应用程序的方法可能有所不同。也就是说,许多桌面环境都尊重中的关联~/.local/share/applications/mimeapps.list,您可以在其中为application/x-directory和/或inode/directory类型建立关联。

mimeapps.list现在看起来像这样:

[Default Applications]
application/x-directory=emacs-dired.desktop
inode/directory=emacs-dired.desktop

在同一目录中,我有一个文件emacs-dired.desktop,其内容如下:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=true
Exec=emacsclient --eval '(dired "%f")'
Name=Dired
Comment=Emacs Dired

当我的Emacs长期实例运行服务器(M-x server-start)时,例如,单击Icecat的Downloads列表中的文件夹图标,将dired打开一个新缓冲区。

现在,这实际上对我有用。感谢您提出问题---否则我不会进行设置。


6

这是如何使emacs成为ubuntu中的默认文件管理器。

首先,我们必须编写一个脚本来充当我们的文件管理器。

#!/usr/bin/env python
import os
import sys


def main():
    if len(sys.argv) > 1:
        dirname =  sys.argv[1]
    else:
        dirname = '~'
    os.system('emacs --eval \'(dired "{}")\'%'.format(dirname))
    # you can use emacsclient if you are running emacs server

if __name__ == "__main__":
    main()

保存为emacsfm/usr/bin/。现在在终端中而不是使用nautilusor nautilus /foo/bar,我们可以使用emacsfm or emacsfm /foo/bar

现在我们需要将其设置为默认文件管理器。exo-utils使用安装

sudo apt-get install exo-utils

并运行它

exo-preferred-applications

它会打开一个新窗口。转到实用程序 -> 文件管理器 -> 其他,然后在其中输入/ usr / bin / emacsfm“%s”

您可以转到chrome下载,如果单击show in folder它,将打开emacs dired :-)

更新:

在此处输入图片说明 参考:https : //help.ubuntu.com/community/DefaultFileManager


阿南德,它的工作原理..但它会打开一个新的Emacs窗口每次..这是很好的使用emacsclient将在一个已经打开的Emacs会话打开一个新的缓冲....
Madhavan先生

我认为,先前的答案解决了这一点...
Madhavan 2015年

4

尽管这个问题是专门针对Linux的,但我还是找到了Windows的解决方案(因为这促使我找到了自己解决问题的方法)。

有趣的是,您不必调用Dired,只需将文件夹作为文件传递即可。这将在Windows上节省很多麻烦,因为%1它将通过c:\Users(例如)并\Ueval语句中包含中断后中断,而将其作为文件传递将正确解析它。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Drive\shell]
@="Dired"

[HKEY_CLASSES_ROOT\Drive\shell\Dired]
@="Open in Dired"

[HKEY_CLASSES_ROOT\Drive\shell\Dired\command]
@="\"%path/to/emacsclientw%\" %1"

[HKEY_CLASSES_ROOT\Directory\shell]
@="XYplorer"

[HKEY_CLASSES_ROOT\Directory\shell\Dired]
@="Open in XYplorer"

[HKEY_CLASSES_ROOT\Directory\shell\Dired\command]
@="\"%path/to/emacsclientw%\" %1"

参考:七个论坛-如何更改默认文件管理器


-4

您可以使用游侠。但是,您可以在启动会话时将xmonad配置为使用Windows默认的emacs


7
请扩展您的答案以使其独立。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.