假設我在emacs中使用neotree,並假設點位於表示文件或目錄的節點上方。在emacs中,使用neotree,我怎樣才能將節點的完整路徑指向kill ring?
我該如何將所述節點的完整路徑抽出到kill ring以便我可以在此路徑上使用C-y
?
假設我在emacs中使用neotree,並假設點位於表示文件或目錄的節點上方。在emacs中,使用neotree,我怎樣才能將節點的完整路徑指向kill ring?
我該如何將所述節點的完整路徑抽出到kill ring以便我可以在此路徑上使用C-y
?
如何使用neo-buffer--get-filename-current-line
獲得在點的文件名或目錄(這是一個字符串),然後用kill-new
到製作繩的最新殺死戒指?
該解決方案結合時,看起來是這樣的:
(kill-new (neo-buffer--get-filename-current-line))
您可以打開文件,然後通過M-:'buffer-file-name'找到位置。既然你想猛拉它,你可以遵循一些這裏列出的方法之一: File path to clipboard in Emacs
之所以這樣,答案是不太理想的,是因爲它是不需要實際打開文件,以獲得在點的文件名或目錄。 Neotree是一個生成文件和目錄的樹視圖的庫。爲了準確描述目錄/文件的樹形視圖,neotree必須知道文件名和目錄名。 Neotree不打開列出的每個文件來提取'buffer-file-name'。因此,只需要檢查neotree的代碼來查看已經可用於提取文件名或目錄的點。 – lawlist
嗨lawlist,謝謝。我應該如何使用您的解決方案?我在elisp中真的很新。我是否定義了一個使用neo-buffer功能的交互功能?我可以從我的init.el訪問該私有函數嗎? – ninrod
一個想法是在你的'init.el'文件中放置下列函數'ninrod',保存文件並重新啓動Emacs:'(defun ninrod()(interactive)(kill-new(neo-buffer-get -filename電流線)))'。您可以使用'M-x ninrod'來複制您的文件名或目錄,然後粘貼/猛擊您想殺的任何地方。粘貼/拆卸的方法與以往一樣。 – lawlist
,工作flawelessly。非常感謝你。 – ninrod