- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想配置 emacs 以使用外部应用程序
当我从直接模式打开图像文件时。
另一方面,我也想在 emacs 缓冲区中使用内联图像。
要在外部应用程序中打开文件,我使用 openwith.el
包裹http://www.emacswiki.org/emacs/OpenWith
openwith minor 模式的问题在于它是
全局以及当它由 dired-mode-hook 启用时
(add-hook 'dired-mode-hook
(lambda ()
(setq truncate-lines t)
(openwith-mode t)
))
:global t
:global nil
最佳答案
openwith-mode 的工作方式有点奇怪:它确实假设您要么全局使用它,要么根本不使用它。然而,您在这里想要的是在本地使用它,即仅在 dired 缓冲区内使用它。
这不是很容易实现,但这里有一个方法。
打开 openwith-mode 的源文件 openwith.el。然后一直向下滚动,直到找到实际次要模式的定义。然后通过在每行的开头放置一个分号来注释该定义:
;;;###autoload
; (define-minor-mode openwith-mode
; "Automatically open files with external programs."
; :lighter ""
; :global t
; (if openwith-mode
; (progn
; ;; register `openwith-file-handler' for all files
; (put 'openwith-file-handler 'safe-magic t)
; (put 'openwith-file-handler 'operations '(insert-file-contents))
; (add-to-list 'file-name-handler-alist '("" . openwith-file-handler)))
; (setq file-name-handler-alist
; (delete '("" . openwith-file-handler) file-name-handler-alist))))
(provide 'openwith)
之前),插入以下代码:
(defvar openwith-mode nil)
(mapc (lambda (function)
(ad-add-advice function
'(dired-openwith nil t (advice . (lambda () (let ((openwith-mode t)) ad-do-it))))
'around 0))
'(dired-find-alternate-file
dired-find-file
dired-find-file-other-window
dired-mouse-find-file-other-window
dired-view-file))
(put 'openwith-file-handler 'safe-magic t)
(put 'openwith-file-handler 'operations '(insert-file-contents))
(add-to-list 'file-name-handler-alist '("" . openwith-file-handler))
(mapc ...)
表达。我们在这里做的是迭代五个函数的列表:
(ad-add-advice...)
确实设置了变量
openwith-mode
至
t
每当调用这五个函数之一时。在函数调用之外,变量仍然设置为
nil
.
t
。如果它知道一个外部应用程序,并立即尝试打开它。
fundamental-mode
。)
open-with-filehandler
-- 是所谓的文件处理程序。它对于实际访问文件并没有真正做任何特殊的事情,因此我们设置了
safe-magic
对于该功能
t
.此外,我们声明操作
insert-file-contents
由我们的函数以一种非平凡的方式处理。 (有关这些属性的更多信息,请参阅
here。)
(require 'openwith)
(openwith-mode t)
openwith-mode
再多(在我们注释掉它的定义之后),请确保删除第二行,例如通过评论它太:
;; (openwith-mode t)
关于emacs dired 和 openwith,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218316/
我想配置 emacs 以使用外部应用程序 当我从直接模式打开图像文件时。 另一方面,我也想在 emacs 缓冲区中使用内联图像。 要在外部应用程序中打开文件,我使用 openwith.el 包裹htt
我通过单击 按钮 将 jqgrid 中显示的数据导出到 .excel 文件中。这是我的导出到 Excel 按钮单击的代码.. $('#excel').click(function(){
我有一个用我自己的应用程序打开的 pdf。现在,当用户点击一个按钮时,我会显示 application/pdf 的 openwith 选项。现在用户选择他的选择(例如 adobe reader)并且打
我正在开发这个 Windows 应用商店应用程序,我希望它在最终用户想要使用这个应用程序打开文件时支持打开方式,我将支持的格式添加到应用程序 list 文件中的声明部分,如下图所示显示: 然后我覆盖了
我是一名优秀的程序员,十分优秀!