Questions tagged «buffers»

您在Emacs中编辑的文本位于一个称为缓冲区的对象中。每次您访问文件时,都会使用缓冲区来保存文件的文本。每次调用Dired时,都会使用一个缓冲区保存目录列表。

1
切换窗口分割方向,最快的方法
假设您有两个这样打开的缓冲区: ------------------------------------ | | buffer 1 | buffer 2 | | | ------------------------------------ 切换缓冲区以使您获得此最快的方法是什么: ------------------------------------ buffer 1 | | ------------------------------------ buffer 2 | | ------------------------------------
16 buffers  window 


1
掌控所有项目文件(不仅仅是当前缓冲区)
因此,我希望helm-swoop查看项目中的所有文件,而不仅仅是当前打开的缓冲区集。 这样一来,我可以使用swoop查找项目中的所有事件,标记相关事件,然后进行编辑(在头盔swoops编辑模式下)。 我觉得使用Helm / Helm俯冲可能有一种干净的方法,但这是我尝试通过一种解决方案进行思考的尝试: 从弹丸收集文件名 从文件名列表创建缓冲区列表 除了使用此新缓冲区列表之外,还执行与helm-multi-swoop-all相同的例程 (projectile-current-project-files),它似乎为我提供了我要查找的文件列表。 因此helm-multi-swoop-all,看起来很容易复制然后进行调整。 (defun helm-multi-swoop-all (&optional $query) (interactive) "Apply all buffers to helm-multi-swoop" (cond ($query (setq helm-multi-swoop-query $query)) (mark-active (let (($st (buffer-substring-no-properties (region-beginning) (region-end)))) (if (string-match "\n" $st) (message "Multi line region is not allowed") (setq helm-multi-swoop-query (helm-swoop-pre-input-optimize $st))))) ((setq helm-multi-swoop-query (helm-swoop-pre-input-optimize (funcall …
15 buffers  helm 


2
如何防止命令使用特定的Windows?
通常,我将一个框架分为四个窗口,其中底部的两个专门用于我的*compilation*和*grep*缓冲区。当浏览编译错误时,next-error最终将我的*grep*缓冲区替换为目标文件之一。 如何配置next-error为不使用包含*grep*缓冲区的窗口? 我的特定用例是next-error命令,但也欢迎提供更一般的答案。
14 buffers  window 

2
如何为缓冲区和模式行设置不同的字体大小?
我的init.el文件中包含以下行,以设置所有框架中字体的大小: (push '(font . "DejaVu Sans Mono-10") default-frame-alist) 它可以工作,但我想在所有缓冲区中使用较大的字体,同时在模式行中保留较小的字体(这样它可以容纳更多信息并减少干扰)。想法是自动设置此设置,而不必为每个打开的缓冲区使用Cx C- +更改字体大小。 我正在使用从GNU / Linux系统上的主干编译的Emacs 25.0.50.1。 编辑:刚刚添加了一个答案,显示了如何完成。

1
切换缓冲区时,请防止emacs自动切换帧
当我切换缓冲区时,如果该缓冲区已经打开,则emacs将切换到现有框架。 我发现在使用ido切换时如何防止这种情况: (setq ido-default-buffer-method 'selected-window) 但这还不够:例如,如果有一个Lisp错误,emacs将自动切换到* Backtrace *缓冲区,并在已经打开时切换帧。 有没有办法完全阻止emacs切换到现有框架?

6
如何获取缓冲区(而不仅仅是文件)来兑现自动模式警报?
问:如何获取新的缓冲区以遵守其中的映射auto-mode-alist? 找到文件时,Emacs会将文件扩展名与进行比较,auto-mode-alist以确定用于文件缓冲区的主要模式。有没有一种方法可以使用这些信息auto-mode-alist来确定尚无文件关联的缓冲区的模式? 那就是:如果我打开一个名称类似于文件扩展名的新缓冲区,是否可以使其以预期模式自动打开?例如,如果我要打开一个a-new-buffer.el尚未与文件关联的新缓冲区,我希望它以emacs-lisp-mode默认模式而不是默认模式打开。

1
在所有打开的缓冲区中禁用次要模式
通常,我会打开许多​​缓冲区,并且由于某种原因,我不再希望对它们使用特定的次要模式。当前是否有内置方法来禁用所有打开的缓冲区的特定次要模式,或者这是否需要编写自定义elisp函数?

3
删除帧时杀死缓冲区
当我关闭框架时,我希望它的缓冲区被杀死。 如果缓冲区显示在其他框架中,则不应终止该缓冲区。 如果在一帧中显示多个缓冲区,则不执行任何操作。 进行此设置的好方法是什么?
12 buffers  frames 

2
如何强制特定缓冲区在新窗口中打开?
在Magit中提交更改时,打开diff视图并添加有关提交的详细信息很有用。 在Magit中,我们看到*magit ..*缓冲区中的差异。当你打cc,而光标在上演文件时,Magit提交缓冲.. COMMIT_EDITMSG弹起。默认情况下,此新缓冲区将替换*magit ..*显示提交差异的缓冲区。 问题- 如何使.. COMMIT_EDITMSG缓冲区在新窗口中打开(如果框架仅以1个窗口开头,请重用其他窗口或创建新窗口),以便我能同时看到*magit ..*和.. COMMIT_EDITMSG缓冲区?
12 buffers  window  magit 

5
恢复所有打开的缓冲区(并忽略错误)
当使用git进行版本控制下的项目时,我经常想在shell中做一些会影响许多打开文件的事情,然后还原我打开的每个缓冲区,以确保不会意外破坏新版本无论我打开什么。我知道magit在这里可能会有所帮助,但是我已经习惯了外壳中的工作流程,并且现在想保留它。因此,相反,我想还原所有打开的缓冲区,并可能关闭任何已停止存在的缓冲区(例如,由于git checkout分支的a不再具有该文件)。 我从Google搜索中抓取了以下elisp片段: (defun revert-all-buffers () "Refreshes all open buffers from their respective files" (interactive) (let* ((list (buffer-list)) (buffer (car list))) (while buffer (when (and (buffer-file-name buffer) (not (buffer-modified-p buffer))) (set-buffer buffer) (revert-buffer t t t)) (setq list (cdr list)) (setq buffer (car list)))) (message "Refreshed open files")) 但是,如果它击中这打破了我打开的文件之一,即复原的情况出现错误B1,B2,B3,...,Bn试图还原一个错误B2阻止B3- Bn被恢复。 …

2
使缓冲区列表成为焦点?
我如何才能做到这一点,以便当我按一下C-xC-b以访问“缓冲区列表”时,该缓冲区会自动获得焦点,而不必手动切换到该缓冲区C-xo?我找不到自定义此变量。


3
如何为Emacs的* Messages *缓冲区中的每个条目添加时间戳?
我非常依赖*Messages*缓冲区,但是条目没有时间戳记。 如何为Emacs的Messages缓冲区中的每个条目添加时间戳? 这样的事情: Loading /Users/gsl/lisp.d/init.el (source)... No outline structure detected For information about GNU Emacs and the GNU system, type C-h C-a. Loading /Users/gsl/lisp.d/var/recentf...done Error running timer: (wrong-number-of-arguments (lambda nil (setq gc-cons-threshold (* 64 1024 1024)) (message "WARNING: gc-cons-threshold restored to %S")) 1) [yas] Prepared just-in-time loading of snippets successfully. …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.