标签: dot-emacs

如何在emacs中将焦点跟随鼠标悬停在缓冲区上?

假设我打开了一个源文件并启动了一个shell.我可以按Cx o在两个缓冲区之间切换.但是我怎样才能得到它以便当我移动鼠标时鼠标下的缓冲区获得焦点,就像窗口管理器中常见的"焦点跟随鼠标"选项一样?

emacs focus window dot-emacs

13
推荐指数
1
解决办法
2316
查看次数

如何优雅地退出SLIME和Emacs?

当我退出Emacs时,我有一个关于如何"优雅地退出SLIME"的问题.这是我的配置文件的相关部分:

;; SLIME configuration

(setq inferior-lisp-program "/usr/local/bin/sbcl")
(add-to-list 'load-path "~/Scripts/slime/")
(require 'slime)
(slime-setup)

;; configure SLIME to gracefully quit when emacs
;; terminates

(defun slime-smart-quit ()
  (interactive)
  (when (slime-connected-p)
    (if (equal (slime-machine-instance) "Gregory-Gelfonds-MacBook-Pro.local")
 (slime-quit-lisp)
      (slime-disconnect)))
  (slime-kill-all-buffers))

(add-hook 'kill-emacs-hook 'slime-smart-quit)
Run Code Online (Sandbox Code Playgroud)

据我所知,每当我退出Emacs时,这应该会自动杀死SLIME及其关联的进程.但是,每次我退出时,我仍然得到提示:

Proc       Status   Buffer  Command
----       ------   ------  -------
SLIME Lisp    open      *cl-connection* (network stream connection to 127.0.0.1)
inferior-lisp run      *inferior-lisp* /usr/local/bin/sbcl


Active processes exist; kill them and exit anyway? (yes or no) 
Run Code Online (Sandbox Code Playgroud)

有人可以从我的配置中找到我缺少的东西吗?

提前致谢.

emacs elisp slime dot-emacs

13
推荐指数
3
解决办法
8085
查看次数

恢复Emacs会话/桌面

我一直在寻找如何恢复emacs会话,没有运气.我正在寻找恢复所有以前打开的缓冲区,其中一些可能包含erc,shell,目录列表,文件等.

每次打开emacs,我都会花很多时间来安排我的缓冲区; 将它们分成行和列,打开一个外壳,安排irc通道.上班需要一段时间.

我尝试将以下内容添加到init.el中

(desktop-save-mode 1)
Run Code Online (Sandbox Code Playgroud)

然后使用Mx桌面保存.这似乎只能恢复打开的文件,而不是shell或缓冲区中运行的任何其他内容.

我还检查了以下问题:

阅读:

这是我的emacs会话的屏幕截图示例.

一个简单的答案就是专注于实际工作:P

ide emacs dot-emacs session-management

13
推荐指数
1
解决办法
3376
查看次数

为所有活动缓冲区重新加载.emacs

已经有人问过如何.emacs在更改文件后重新加载文件.

建议的解决方案是使用M-x load-fileM-x eval-region RET改变区域.

这些解决方案都不会影响我的其他开放缓冲区.有没有办法.emacs为所有打开的缓冲区重新加载文件?

我还应该注意,由于对该答案M-x load-file的评论中概述的原因,它没有达到预期的效果.

lisp emacs buffer dot-emacs reload

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

如何仅为代码注释打开emacs自动填充模式?

我试过了

(set (make-local-variable 'comment-auto-fill-only-comments) t)
Run Code Online (Sandbox Code Playgroud)

并且

(auto-fill-mode 0)
Run Code Online (Sandbox Code Playgroud)

虽然令人惊讶,但在重新启动emacs之后,这些都不起作用.

我正在使用eschulte的emacs入门套件

使用Mx自动填充模式切换它可以正常工作.


UPDATE

结合使用(感谢Rémi):

(auto-fill-mode 1)
(setq comment-auto-fill-only-comments t) 
Run Code Online (Sandbox Code Playgroud)

它在编程文件中完美地工作,其中有注释.但是,在文本模式下,它会自动填充到处.

如何在文本文档中完全关闭自动填充模式?

emacs autofill dot-emacs

12
推荐指数
1
解决办法
2538
查看次数

删除单词而不将其添加到Emacs中的kill-ring

使用迷你缓冲区(Cx Cf)切换文件时,我经常使用M-Backspace来删除路径中的单词.Emacs会自动将我删除的内容放入kill ring中.这可能很烦人,因为有时我正在移动到另一个文件来粘贴东西,我最终粘贴了部分文件路径.我知道有解决方法,其他代码仍然在kill ring等,但我只是想禁用此功能.

emacs dot-emacs

12
推荐指数
1
解决办法
1948
查看次数

Emacs区分大小写替换字符串

我刚刚问了一个相关的问题(setq问题),但它有明显的不同,所以我决定分开这个问题.

在我的.emacs文件中,我定义了一个绑定到该replace-string命令的键:

(define-key global-map "\C-r" 'replace-string)
Run Code Online (Sandbox Code Playgroud)

replace-string做基本的搜索和替换.假设搜索字符串的第一个字母是小写,如果case-fold-search是,nil则进行replace-string区分大小写的搜索,否则它会进行不区分大小写的搜索.

问题是case-fold-search控制"搜索"(如search-forward命令)和"搜索和替换"(如replace-string命令)的"区分大小写" .

现在的问题是如何让我JUSTreplace-string命令(或任何C-r必然)区分大小写,留下search-forward不区分大小写的,因为它是在默认情况下.

也许我需要设置case-fold-searchnil只为replace-string命令,但我不知道该怎么做.

emacs replace case-sensitive dot-emacs

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

为什么不能emacs 24找到我添加的自定义主题?

我的整个emacs设置都在这里

在这里加载了我的init-theme.el文件

据说这应该是黑暗主题可用.

但是,当我键入M-x load-theme TABdarkclean主题未列出.

如何在Emacs 24中注册?

emacs dot-emacs emacs24

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

禁用Carbon Emacs滚动蜂鸣声

我一直在考虑在我的Mac上使用Carbon Emacs,而我遇到的唯一绊脚石就是当你试图滚过文档末尾时发出令人讨厌的滚动声.我看过网上但我似乎无法找到我应该添加到我的.emacs中的内容,这会阻止它在滚动时发出哔哔声.滚动时我不想完全沉默它.有任何想法吗?

emacs dot-emacs carbon-emacs

10
推荐指数
3
解决办法
4650
查看次数

如何在主模式挂钩中访问目录本地变量?

我已经定义了一个.dir-locals.el文件,其中包含以下内容:

((python-mode . ((cr/virtualenv-name . "saas"))))
Run Code Online (Sandbox Code Playgroud)

在我的.emacs中,我有以下函数来检索此值并提供virtualenv路径:

(defun cr/virtualenv ()
  (cond (cr/virtualenv-name (format "%s/%s" virtualenv-base cr/virtualenv-name))
        ((getenv "EMACS_VIRTUAL_ENV") (getenv "EMACS_VIRTUAL_ENV"))
        (t "~/.emacs.d/python")))
Run Code Online (Sandbox Code Playgroud)

最后,在我的python-mode-hook列表中,我有这个钩子函数:

(add-hook 'python-mode-hook 'cr/python-mode-shell-setup)

(defun cr/python-mode-shell-setup ()
  (message "virtualenv-name is %s" cr/virtualenv-name)
  (let ((python-base (cr/virtualenv)))
    (cond ((and (fboundp 'ipython-shell-hook) (file-executable-p (concat python-base "/bin/ipython")))
           (setq python-python-command (concat python-base "/bin/ipython"))
           (setq py-python-command (concat python-base "/bin/ipython"))
           (setq py-python-command-args '( "-colors" "NoColor")))
          (t
           (setq python-python-command (concat python-base "/bin/python"))
           (setq py-python-command (concat python-base "/bin/python"))
           (setq py-python-command-args nil)))))
Run Code Online (Sandbox Code Playgroud)

当我打开一个新的python文件时,记录的消息cr/python-mode-shell-setup表明它cr/virtualenv-namenil …

python emacs dot-emacs python-mode

10
推荐指数
1
解决办法
1473
查看次数