Скажімо, у нас в деяких каталогах відкритий буфер "Подвійний". Як я можу надіслати шлях до буфера обміну?
Крім того, як я можу зробити те ж саме, коли курсор Dired знаходиться у певному файлі, не відкриваючи спочатку файл?
Скажімо, у нас в деяких каталогах відкритий буфер "Подвійний". Як я можу надіслати шлях до буфера обміну?
Крім того, як я можу зробити те ж саме, коли курсор Dired знаходиться у певному файлі, не відкриваючи спочатку файл?
Відповіді:
Перемістіть курсор до рядка заголовка каталогу (де показано каталог - наприклад, використання M-<
), а потім натисніть w
. Це копіює ім'я каталогу в кільце вбивства. ( w
копіює будь-яке ім'я файлу з Dired, він працює і для заголовка каталогу.)
А якщо ви цього ще не зробили, налаштуйте x-select-enable-clipboard
на не nil
, тому виділення скопіюється у буфер обміну.
@ Коментар Костянтина гарно говорить. Замість того, щоб переходити до рядка заголовка каталогу, щоб отримати абсолютне ім’я, ви можете просто використовувати 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
щоб отримати абсолютний шлях".