例如,我打开了文件model / user.py,我想要一个打开controller / user.py的快捷方式。或者我想切换到test / model / testUser.py(人为的例子)
我想创建一个emacs快捷方式,它给出了一个当前打开的文件,以各种方式打开相关的文件。
答案 0 :(得分:3)
如果“相关文件”遵循某种模式,我认为编写一些elisp函数来完成任务是微不足道的。假设你有一个模型,需要打开他的相关控制器,你需要做这样的事情:
(defun my-open-related-controller ()
(interactive)
(let* ((name (buffer-file-name))) ;gets the filename of the current buffer
;; Of course, this is only an example. The point here is that you need
;; to "discover" the name of the related file based on the current one.
(setf name (replace-regexp-in-string "model" "controller" name))
;; Now you will open the file(if it isn't open already) and switch to it
(find-file name)))
然后你可以将函数绑定到F5:
(define-key name-of-the-mode-map [f5] 'my-open-related-controller)
如果要全局创建此绑定,请使用:
(global-set-key [f5] 'my-open-related-controller)
当然,这只是一个粗略的例子(因为你没有提供很多具体的细节),但应该足以让你开始。希望它有所帮助!
答案 1 :(得分:2)
如果您不想自己写这篇文章而宁愿自定义现有的库,那么您可以查看toggle.el。它旨在满足您的需求。
答案 2 :(得分:0)