クリップボードへのDiredまたはDired +の現在のパス


18

あるディレクトリでDiredバッファが開いているとします。ディレクトリパスをクリップボードに送信するにはどうすればよいですか?

また、Diredカーソルが特定のファイルにあるときに、最初にファイルを開かずに同じことを行うにはどうすればよいですか?

回答:


25

カーソルをディレクトリヘッダー行(ディレクトリが表示されている場所-たとえばuse M-<)に移動し、を押しますw。これにより、ディレクトリ名がキルリングにコピーされます。(wDiredから任意のファイル名をコピーし、ディレクトリヘッダーでも機能します。)

まだ行っていない場合は、以外にカスタマイズx-select-enable-clipboardして、nil選択がクリップボードにコピーされるようにします。


@Constantineのコメントは良い点です。ディレクトリのヘッダー行に移動して絶対名を取得する代わりに、C-0 w任意のファイルまたはディレクトリ行で使用できます。これにより、絶対ファイル名がクリップボードに配置されます。貼り付けるときに、相対ファイル名の部分を削除するだけで、絶対ディレクトリ名を取得できます。


16
私はそれの価値があることに言及考えるC-h k wにおけるdiredバッファは、すなわち「ゼロ接頭引数、各マークされたファイルの絶対ファイル名を使用します。で、」言う「を押してC-0 w、絶対パスを取得します。」
コンスタンティン

@コンスタンチン:良い点。これに言及するために回答を更新しました。
ドリュー

5
@Constantine:「0 w」を使用できます(diredバッファーの「C-0 w」と同じことです)
-jfs

diredモードでは、「C-0 w」を使用します。これは、リングを強制終了するフルパス(パス+ファイル名)をコピーします。
a_subscriber

1

提案どおりに設定x-select-enable-clipbardtましたが、うまくいきませんでした。ここからこのコードを使用します: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))
  )
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.