当我在 emacs 中使用 dired 模式时,我可以通过输入 !xxx 来运行 shell 命令,但是如何绑定(bind)一个键来运行这个命令呢?
例如,我想在一个文件上按 O,然后 dired 将运行 'cygstart' 来打开这个文件。
最佳答案
您可以使用 shell-command
功能。例如:
(defun ls ()
"Lists the contents of the current directory."
(interactive)
(shell-command "ls"))
(global-set-key (kbd "C-x :") 'ls); Or whatever key you want...
要在单个缓冲区中定义命令,可以使用
local-set-key
.实际上,您可以使用 dired-file-name-at-point
获取文件名。 .因此,要完全按照您的要求进行操作:(defun cygstart-in-dired ()
"Uses the cygstart command to open the file at point."
(interactive)
(shell-command (concat "cygstart " (dired-file-name-at-point))))
(add-hook 'dired-mode-hook '(lambda ()
(local-set-key (kbd "O") 'cygstart-in-dired)))
关于emacs - 如何绑定(bind) key 以在 dired emacs 中运行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397319/