2016-11-12 46 views

回答

4

如何使用neo-buffer--get-filename-current-line獲得在點的文件名或目錄(這是一個字符串),然後用kill-new製作繩的最新殺死戒指

該解決方案結合時,看起來是這樣的:

(kill-new (neo-buffer--get-filename-current-line)) 
+0

嗨lawlist,謝謝。我應該如何使用您的解決方案?我在elisp中真的很新。我是否定義了一個使用neo-buffer功能的交互功能?我可以從我的init.el訪問該私有函數嗎? – ninrod

+1

一個想法是在你的'init.el'文件中放置下列函數'ninrod',保存文件並重新啓動Emacs:'(defun ninrod()(interactive)(kill-new(neo-buffer-get -filename電流線)))'。您可以使用'M-x ninrod'來複制您的文件名或目錄,然後粘貼/猛擊您想殺的任何地方。粘貼/拆卸的方法與以往一樣。 – lawlist

+0

,工作flawelessly。非常感謝你。 – ninrod

0

您可以打開文件,然後通過M-:'buffer-file-name'找到位置。既然你想猛拉它,你可以遵循一些這裏列出的方法之一: File path to clipboard in Emacs

+2

之所以這樣,答案是不太理想的,是因爲它是不需要實際打開文件,以獲得在點的文件名或目錄。 Neotree是一個生成文件和目錄的樹視圖的庫。爲了準確描述目錄/文件的樹形視圖,neotree必須知道文件名和目錄名。 Neotree不打開列出的每個文件來提取'buffer-file-name'。因此,只需要檢查neotree的代碼來查看已經可用於提取文件名或目錄的點。 – lawlist