0
我想啓動一個任意程序,它從列出目錄中的文件的緩衝區中獲取選定的文件名參數。使用emacs中的任意文件名運行程序
我嘗試使用F3
鍵來插入文件名,但是下面記錄了一個新的宏,而這相當混亂。
(define-key minibuffer-local-map [f3] (lambda() (interactive (find-file-at-point))))
我想啓動一個任意程序,它從列出目錄中的文件的緩衝區中獲取選定的文件名參數。使用emacs中的任意文件名運行程序
我嘗試使用F3
鍵來插入文件名,但是下面記錄了一個新的宏,而這相當混亂。
(define-key minibuffer-local-map [f3] (lambda() (interactive (find-file-at-point))))
你是問題不是完全清楚,但也許這有助於。
請參閱我的Emacs中的劃傷緩衝區的以下屏幕截圖。它包含一個函數和鍵綁定,在底部的反射區是從呼叫的結果message
爲了您的方便,這裏的功能和按鍵綁定重複更好的複製:
(defun command-on-file-at-point()
(interactive)
(let ((f (ffap-file-at-point)))
(message "File is %s" f)))
(global-set-key [f3] 'command-on-file-at-point)
希望,這有幫助。
(global-set-key [f3](lambda()(interactive)(let((f(ffap-file-at-point)))(start-process「test」「output」「mpv」f )))) – sevo
'minibuffer-local-map'用於用戶在迷你緩衝區內的某些情況。按F3時是否在迷你緩衝區? (如果是這樣,你啓動了什麼交互功能讓你進入迷你緩衝區?)如果不是,你在哪裏?在主緩衝區?任何特定的主要模式?你想使用'global-map'進行全局分配嗎?你想要一個緩衝區本地分配?你是否想將新的密鑰綁定僅添加到特定的主要模式? – lawlist
任何允許我查看文件名路徑的解決方案都會有所幫助。 – sevo
您的代碼錯誤地嘗試在'interactive'聲明中調用'find-file-at-point' *。不要這樣做。 ;-) – Drew