emacsをデフォルトのファイルマネージャーとして設定する方法は?


19

firefoxなどの一部のプログラムには、クリックするとファイルを参照するためのファイルマネージャーを開くボタンがあります。Debian Linuxでdiredモードのemacsで開くにはどうすればよいですか?


9
お使いのオペレーティングシステムは何ですか?
ドリュー

1
私はdebian jessieを使用しています。
godblessfq

回答:


17

デスクトップ環境によっては、デフォルトのアプリケーションを設定する方法が異なる場合があります。とは言っても、多くのデスクトップ環境ではの関連付けが尊重されており~/.local/share/applications/mimeapps.list、そこでapplication/x-directoryandやinode/directorytypeの関連付けを設定できます。

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のダウンロードのリストにあるフォルダーアイコンをクリックすると、新しいdiredバッファーが開きます。

これは実際に私のために働いています。質問してくれてありがとう---そうでなければ私はこれをセットアップしなかっただろう。


6

これは、ubuntuでデフォルトのファイルマネージャとしてemacsを作成する方法です。

最初に、ファイルマネージャーとして機能するスクリプトを作成する必要があります。

#!/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/。今の代わりに使用してのターミナルでnautilusnautilus /foo/bar、我々が使用することができますemacsfmemacsfm /foo/bar

次に、これをデフォルトのファイルマネージャーとして設定する必要があります。exo-utils使用してインストール

sudo apt-get install exo-utils

そしてそれを実行する

exo-preferred-applications

新しいウィンドウが開きます。行くユーティリティ - > [ ファイルマネージャ ] - > [ その他および入力は/ usr / binに/ emacsfm "%s"はそれインチ

あなたはクロムのダウンロードに行くことができ、それをクリックshow in folderするとemacs diredが開きます:-)

更新:

ここに画像の説明を入力してください 参照:https : //help.ubuntu.com/community/DefaultFileManager


アナンド、それは動作します..しかし、それは新しいemacsのウィンドウ毎回開く...それが既に開いているEmacsセッションで新しいバッファを開きます使用のemacsclientに良いです....
Madhavan

私は...前の回答のアドレスに、この点を考える
Madhavan

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"

リファレンス:7つのフォーラム-デフォルトのファイルマネージャーを変更する方法


-4

レンジャーを使用できます。ただし、セッションを開始するときに、Windowsデフォルトのemacsを使用するようにxmonadを構成できます。


7
答えを拡張して、自己完結型にしてください。
ダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.