मान लें कि हमारे पास कुछ डाइरेक्ट्री पर एक डाइयर बफर खुला है। मैं क्लिपबोर्ड पर निर्देशिका पथ कैसे भेज सकता हूं?
इसके अलावा, मैं ऐसा कैसे कर सकता हूं जब पहले फ़ाइल को खोले बिना एक ख़ास फ़ाइल पर 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
बफर में कहा गया है "शून्य उपसर्ग arg के साथ, प्रत्येक चिह्नित फ़ाइल का निरपेक्ष फ़ाइल नाम का उपयोग करें।", "C-0 w
निरपेक्ष पथ प्राप्त करने के लिए दबाएं ।"