标签: dot-emacs

如何在磁盘上更改文件时让Emacs自动刷新所有缓冲区?

我有一个非emacs全局搜索和替换功能,使我的磁盘文件比我的emacs缓冲区(整体)更新.有没有办法告诉emacs一次刷新磁盘上的所有缓冲区,而不是通过重新加载文件单独完成每个缓冲区?

谢谢!d

emacs elisp dot-emacs

174
推荐指数
3
解决办法
3万
查看次数

如何在.emacs.d目录中对所有内容进行字节编译?

我决定查看Emacs,我非常喜欢它.现在,我正在使用Emacs入门套件,它提供了更好的默认设置和一些很好的自定义默认安装的Emacs.

我已经定制了一点,添加了一些东西,如yasnippet,颜色主题,未绑定和其他东西.我已经设置了一个github存储库,我保留了所有的自定义设置,这样我就可以从多个地方访问它们,或者万一我的.emacs.d目录丢失了.

所有这一切都非常好,但是有一个问题:Emacs大约需要1-2秒才能加载.AFAIK我可以使用Mx byte-compile-file编译单个.el文件到.elc,它可以工作.但是有很多.el文件,我想知道是否有办法用简单的命令或其他东西编译它们,以加快Emacs的加载速度.我的Emacs并不总是打开,我经常打开和关闭它,特别是在我将其设置为Total Commander中的编辑命令的默认编辑器以便更快地习惯它(是的,windows xp这里).

我的Emacs版本是22.3.是的,没有任何自定义的默认Emacs安装会立即启动.

我不确定在加载时,首选哪个版本,.el或编译.elc的方式是Oo

那么,是否有一个elisp命令或Emacs命令行开关使Emacs在.emacs.d目录中进行字节编译?

emacs elisp bytecode dot-emacs

131
推荐指数
4
解决办法
4万
查看次数

Emacs - 调用时出错(服务器启动)

我目前在Windows Vista SP1中使用GNU Emacs 23.0.93.1.在我的.emacs文件中,我调用了(server-start)一个错误消息,目录〜/ .emacs.d/server是不安全的.有没有人见过这个并知道修复或解决方法?...除了关闭服务器;)

这是堆栈跟踪:

Debugger entered--Lisp error: (error "The directory ~/.emacs.d/server is unsafe")
  signal(error ("The directory ~/.emacs.d/server is unsafe"))
  error("The directory %s is unsafe" "~/.emacs.d/server")
  server-ensure-safe-dir("~\\.emacs.d\\server\\")
  server-start(nil)
  call-interactively(server-start t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)
Run Code Online (Sandbox Code Playgroud)

windows emacs elisp dot-emacs server-mode

81
推荐指数
6
解决办法
2万
查看次数

你的.emacs里有什么?

我最近换了几次计算机,在某个地方我丢失了我的.emacs.我正在尝试再次构建它,但是当我在它时,我想我会选择其他人使用的其他好的配置.

那么,如果你使用Emacs,你的 .emacs中有什么?

我现在非常贫瘠,仅包含:

  1. 全局字体锁模式! (global-font-lock-mode 1)
  2. 关于缩进,制表符和空格的个人偏好.
  3. 使用cperl-mode而不是perl-mode.
  4. 编译的快捷方式.

你认为什么有用?

emacs elisp text-editor dot-emacs

53
推荐指数
11
解决办法
2万
查看次数

如何在Emacs 24中保存所有已安装软件包的列表?

我使用prelude作为基础Emacs配置.我已经从软件包管理器安装了很多软件包,我想在另一台机器上使用我的设置.

我不想携带已安装的软件包,也不想手动创建列表.

将所有已安装的软件包列表保存到prelude-package.el或任何其他文件中的方法是什么,这样当我将此配置带到我的其他机器时,它们会在首次使用时自动安装到那里?

emacs dot-emacs emacs24 emacs-prelude

47
推荐指数
3
解决办法
2万
查看次数

Emacs 24封装系统初始化问题

在我看来,内置在Emacs 24上的新Package系统在正确加载和初始化已安装的软件包时存在一些缺陷.

最近,我升级到Emacs 24.1.1,它于2012年10月6日发布,我一直在尝试使用内置的软件包系统,并使用它安装了几个软件包,但它们都有类似的问题,与自动加载和初始化.

例如,我使用一个名为的包smex,它提供了使用M-x和弦的增强功能.它需要你定义一个键M-x,所以我添加(global-set-key (kbd "M-x") 'smex)到我的init.el文件中.但是在启动emacs之后我按下M-x和弦,我收到消息"符号的函数定义是无效的:smex" ...如果我也放入(require 'smex)我的init.el文件,我收到错误消息"文件错误:无法打开加载文件,smex "

将smex的位置添加到load-path变量使得它按预期工作,但是,这似乎打破了首先拥有包系统的整个目的......

有什么想法吗?有没有更好的方法,或者我们现在忍受这个限制?

emacs dot-emacs emacs24

45
推荐指数
2
解决办法
1万
查看次数

分析行为不端的Emacs Lisp的提示?

我经常自定义Emacs.最近,我在我的.emacs配置中添加了一些内容,偶尔会将我的CPU固定在100%,但我真的不知道它是什么.

如果我多次按下Cg,最终我会在迷你缓冲区下方收到一条消息,询问我是否要自动保存我的文件,然后如果我想完全中止emacs.如果我一直拒绝并按下Cg,最终我可以恢复正常运行emacs.大约一个小时后它会再次发生.

我可以继续像我一样,评论我最近添加的各种内容,重新启动emacs,试图缩小罪魁祸首,但它进展缓慢.

有没有办法可以直接分析emacs来找出什么lisp函数占用CPU?

emacs profiling elisp dot-emacs

44
推荐指数
4
解决办法
4654
查看次数

PATH和exec-path设置,但emacs找不到可执行文件

我的.emacs包含

(setenv "PATH" (concat ".:/usr/texbin:/opt/local/bin" (getenv "PATH")))
(setq exec-path (append exec-path '(".:/usr/texbin:/opt/local/bin")))

(add-to-list 'load-path "/usr/local/share/emacs/site-lisp")
(require 'tex-site)
(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)
Run Code Online (Sandbox Code Playgroud)

/ usr/texbin是latex/pdflatex/..所在的位置./ opt/local/bin /是可以找到gs的地方.

然而,当我运行预览时,显然需要乳胶和gs,我得到了

Preview-DviPS finished at Thu Dec 22 11:25:46
DviPS sentinel: Searching for program: No such file or directory, gs
Run Code Online (Sandbox Code Playgroud)

这意味着可以找到乳胶,但不是gs.

我不确定是否需要设置exec-path,也许PATH就足够了,但我已将其设置为调试措施.

为什么emacs找不到gs,即使它所在的目录是在PATH和exec-path中?

emacs dot-emacs

35
推荐指数
2
解决办法
2万
查看次数

如何在GNU Emacs中模拟Vim的*搜索?

在Vim中,正常模式下的*键搜索光标下的单词.在GNU Emacs中,最接近的本机等价物将是:

C-s C-w
Run Code Online (Sandbox Code Playgroud)

但这并不完全相同.它打开增量搜索迷你缓冲区,并从当前缓冲区中的光标复制到单词的末尾.在Vim中,你会搜索整个单词,即使你在按*时也在单词的中间.

我已经煮了一些elisp来做类似的事情:

(defun find-word-under-cursor (arg)
  (interactive "p")
  (if (looking-at "\\<") () (re-search-backward "\\<" (point-min)))
  (isearch-forward))
Run Code Online (Sandbox Code Playgroud)

在点燃之前,它会向后退到单词的开头.我把它绑定到C- +,这很容易在我的键盘上打字,类似于*,所以当我输入C-+ C-w它从单词的开头复制到搜索迷你缓冲区.

但是,这仍然不完美.理想情况下,它会regexp搜索"\<" word "\>"不显示部分匹配(搜索单词"bar"不应匹配"foobar",只是"bar"自己).我尝试使用search-forward-regexp和concat'ing\<>但是这并没有包装在文件中,没有突出显示匹配并且通常非常蹩脚.isearch-*函数似乎是最好的选择,但是这些在编写脚本时表现不佳.

有任何想法吗?任何人都可以对elisp的位进行任何改进吗?还是有其他一些我忽略的方式?

vim emacs elisp dot-emacs

32
推荐指数
3
解决办法
8399
查看次数

从.emacs设置Emacs 24颜色主题

我的.emacs中有以下代码:

(if (null window-system)
  (progn
    (require 'color-theme)
    (color-theme-initialize)
    (color-theme-simple-1)))
Run Code Online (Sandbox Code Playgroud)

当我在控制台上打开Emacs时,我可以验证该progn块是否运行(通过a (message "Got here.")),并且我看到一个闪存,表明颜色主题已加载,但如果已加载,则会被其他内容覆盖.如果在加载后打开我的.emacs文件并使用上面提交的块C-x C-e,它就可以了.我试过做:

(add-hook 'after-init-hook
          (lambda ()
            (progn
              (require 'color-theme)
              (color-theme-initialize)
              (color-theme-simple-1))))
Run Code Online (Sandbox Code Playgroud)

但是行为是一样的.

可能与我使用Emacs 24相关,并且此代码不在我的.emacs中,而是在〜/ Dropbox/.emacs中,它是从我的.emacs加载的.


另外一个注意事项:我已经尝试过了M-x customize-themes,但是这些都没有在控制台上可以接受.它们或者产生几乎不可读的光主题,或者大部分文本是不可见的.

emacs dot-emacs emacs24

32
推荐指数
2
解决办法
5万
查看次数