emacs | nautilus(ubuntu版エクスプローラー)を立ち上げる

ubuntuでemacsを使っている場合、ファイル操作に必要なことはほとんどできてしまいます。しかし、nautilus(ubuntu版エクスプローラー)をカレントディレクトリで直接起動できる設定を施しておくと、もっと便利に使いこなせるようになります。

emacs から nautilus を立ち上げたい

emacsでエクセルや画像ファイルを開くことはできるけど、スプレッドシートはLibreofficeで確認したいな。

dired で、ファイルに対してコマンドを直接実行すればいいんじゃない?

だったら、カレントディレクトリで「nautilus」を立ち上げれたらうれしいな。

dired で「特定のファイル」や「ディレクトリ」に対して、nautilusを実行すればいいよ。emacs にスクリプトを組み込む方法もあるけど、慣れてないなら nautilusを実行する方が簡単かも。

emacs から 指定したアプリケーションでファイルを開く

emacsのdired 機能でフォルダの内容を表示しているとき、特定のファイル上で「!」を入力すると、ファイルに対してコマンドを実行することができます。

emacs から スプレッドシートをLibreofficeで開く

例えば、エクセルファイル(data.xlsx)を Libreoffice で開くときは、「!」のあとに「Libreoffice」と入力します。

emacs から 画像ファイルを画像ビュワーで開く

例えば、画像ファイル(data.png)を 画像ビュワー で開くときは、「!」のあとに「eog」と入力します。

emacs から nautilusを開く

例えば、ディレクトリにエクセルファイル(data.xlsx)があったとき、ファイルに対して「!」のあとに「nautilus」と入力すると、nautilusでカレントディレクトリが開きます。diredのディレクトリ表現「.(カレント)」「..(1個上)」で同様の操作を行えば、対応したディレクトリでnautilusが起動します。

emacs の shell 機能でnautilusを起動しても良いですが、「!」+「nautilus」の方が操作がシンプルです。

emacs から nautilusを開く(emacsにスクリプトを組み込む)

emacsにスクリプトを組み込めばもっと便利に使えますが(.emacs)、慣れない場合は無理に設定する必要はないと思います。

組み込んだ場合、dired で「e」を押すと、カレントディレクトリがnautilusで開かれます。

(defun dired-open-nautilus ()   
  (interactive)
   (call-process "nautilus" nil 0 nil (dired-current-directory)))

(define-key dired-mode-map "e" 'dired-open-nautilus) 

【スクリプト引用】 Open current directory with Nautilus with Emacs dired

環境によっては、emacsで警告がでたり(回避用スクリプトがあるようです)、アプリ切り替えでemacsとnautilusの区別ができなくなったりすることもあります。ご使用は自己責任でお願いします。