あるディレクトリでDiredバッファが開いているとします。ディレクトリパスをクリップボードに送信するにはどうすればよいですか?
また、Diredカーソルが特定のファイルにあるときに、最初にファイルを開かずに同じことを行うにはどうすればよいですか?
あるディレクトリでDiredバッファが開いているとします。ディレクトリパスをクリップボードに送信するにはどうすればよいですか?
また、Diredカーソルが特定のファイルにあるときに、最初にファイルを開かずに同じことを行うにはどうすればよいですか?
回答:
カーソルをディレクトリヘッダー行(ディレクトリが表示されている場所-たとえばuse M-<
)に移動し、を押しますw
。これにより、ディレクトリ名がキルリングにコピーされます。(w
Diredから任意のファイル名をコピーし、ディレクトリヘッダーでも機能します。)
まだ行っていない場合は、以外にカスタマイズx-select-enable-clipboard
して、nil
選択がクリップボードにコピーされるようにします。
@Constantineのコメントは良い点です。ディレクトリのヘッダー行に移動して絶対名を取得する代わりに、C-0 w
任意のファイルまたはディレクトリ行で使用できます。これにより、絶対ファイル名がクリップボードに配置されます。貼り付けるときに、相対ファイル名の部分を削除するだけで、絶対ディレクトリ名を取得できます。
提案どおりに設定x-select-enable-clipbard
しt
ましたが、うまくいきませんでした。ここからこのコードを使用します:http : //blog.binchen.org/posts/copy-file-name-or-full-path-of-file-in-emacs-dired-buffer-into-system-clipboard .html
;; {{ copy the file-name/full-path in dired buffer into clipboard
;; `w` => copy file name
;; `C-u 0 w` => copy full path
(defadvice dired-copy-filename-as-kill (after dired-filename-to-clipboard activate)
(with-temp-buffer
(insert (current-kill 0))
(shell-command-on-region (point-min) (point-max)
(cond
((eq system-type 'cygwin) "putclip")
((eq system-type 'darwin) "pbcopy")
(t "xsel -ib")
)))
(message "%s => clipboard" (current-kill 0))
)
C-h k w
におけるdired
バッファは、すなわち「ゼロ接頭引数、各マークされたファイルの絶対ファイル名を使用します。で、」言う「を押してC-0 w
、絶対パスを取得します。」