मान लें कि हमारे पास कुछ डाइरेक्ट्री पर एक डाइयर बफर खुला है। मैं क्लिपबोर्ड पर निर्देशिका पथ कैसे भेज सकता हूं?
इसके अलावा, मैं ऐसा कैसे कर सकता हूं जब पहले फ़ाइल को खोले बिना एक ख़ास फ़ाइल पर Dired कर्सर हो?
मान लें कि हमारे पास कुछ डाइरेक्ट्री पर एक डाइयर बफर खुला है। मैं क्लिपबोर्ड पर निर्देशिका पथ कैसे भेज सकता हूं?
इसके अलावा, मैं ऐसा कैसे कर सकता हूं जब पहले फ़ाइल को खोले बिना एक ख़ास फ़ाइल पर Dired कर्सर हो?
जवाबों:
कर्सर को डायरेक्टरी हेडर लाइन पर ले जाएँ (जहाँ डाइरेक्टरी को दिखाया गया है - जैसे, उपयोग M-<), फिर हिट करें w। वह निर्देशिका नाम को मारने की अंगूठी की प्रतिलिपि बनाता है। ( wDired से किसी फ़ाइल नाम की प्रतिलिपि बनाता है, और यह निर्देशिका शीर्षलेख के लिए भी काम करता है।)
और अगर आपने पहले से ऐसा नहीं किया है, तो 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निरपेक्ष पथ प्राप्त करने के लिए दबाएं ।"