小编eve*_*_jr的帖子

在Emacs中如何防止同一缓冲区出现在​​同一帧中的不同窗口中?

我不确定如何全面地完成这个.

目前我在Windows上构建自己的bzr Emacs,所以我可以看到`display-buffer'现在需要一个SPECIFIERS选项,这可能很有趣,但我找不到如何使用它的具体例子.

但是在调用display-buffer之前必须解决这个问题.

例如,之前的帮助窗口正在访问Buffer-A,但我在阅读帮助时访问了另一个窗口中的Buffer-A.现在,当我退出"帮助"窗口时,缓冲区A也出现在那里.我想在那里出现一些其他有用的缓冲区.

emacs elisp

5
推荐指数
1
解决办法
171
查看次数

Emacs 如何将命令绑定到所有键,免除几个键?

我想制作一个具有其键映射(foo-mode-map)的次要模式(foo-mode),但是当用户按下不在(foo-mode-map)中的任何键时,次要模式应该退出。如何绑定turn-off-foo-mode所有其他键?

编辑:这是我根据所选答案提出的解决方案。它也接受数字输入。

(defalias 'foo-electric-delete 'backward-kill-word)

(defun foo-mode-quit (&optional arg)
  (interactive)
  (let ((global-binding (lookup-key (current-global-map)
                                    (single-key-description last-input-event))))
    (unless (eq last-input-event ?\C-g)
      (push last-input-event unread-command-events))
    (unless (memq global-binding
                  '(negative-argument digit-argument))
      (foo-mode -1))))

(defvar foo-mode-map
  (let ((map (make-keymap)))
    (set-char-table-range (nth 1 map) t 'foo-mode-quit)
    (define-key map "-" 'negative-argument)
    (dolist (k (number-sequence ?0 ?9))
      (define-key map (char-to-string k) 'digit-argument))
    (define-key map [backspace] 'foo-electric-delete)
    map))

(define-minor-mode foo-mode
  "Toggle Foo mode.
     With no argument, this command toggles the mode.
     Non-null prefix argument turns on …
Run Code Online (Sandbox Code Playgroud)

emacs elisp mode key-bindings

5
推荐指数
1
解决办法
431
查看次数

如何在降价模式下添加"`"作为autopair配对分隔符?

我已经尝试将此代码添加到 markdown-mode-hook

(push '(?` . ?`) (getf autopair-extra-pairs :everywhere))
Run Code Online (Sandbox Code Playgroud)

文档autopair-extra-pairs说明:

请注意,这不是你想要的行为与报价单字符,字符前工作.有关更多详细信息,请参阅docs/source注释.

这表明上述方法不起作用(事实并非如此).但是在浏览代码之后我无法弄清楚它会起作用.

我也尝试过使用语法表:

(modify-syntax-entry ?` "$" markdown-mode-syntax-table)
Run Code Online (Sandbox Code Playgroud)

这也没有帮助.

emacs elisp

5
推荐指数
1
解决办法
277
查看次数

一般使用magit style diffing

我喜欢使用magit,每当我必须看到magit之外的差异时,我发现默认的差异体验是多么低劣.

特别是两个方面:

1)当我进入新的帅哥时,自动细化差异.- diff-auto-refine-mode不是替代品,因为我并不总是使用Mp和Mn.

2)由于magit-whitespace-warning-face面部被应用,白色空间差异非常明显 .

有没有办法让这两个功能 diff-mode

emacs magit

5
推荐指数
1
解决办法
238
查看次数

如何在 Emacs 的多个缓冲区中镜像编辑操作?

我在 Emacs 中并排打开了两个缓冲区。当我删除(或修改)第一个文件中的行时,我希望第二个文件接收相同的命令/光标位置。这可能吗?

emacs

5
推荐指数
1
解决办法
344
查看次数

行范围内的组织模式和值

最好用代码解释:

|                |  a |   b |  c |      d | row-total |
|----------------+----+-----+----+--------+-----------|
| check-sum      |  4 |   5 |  7 |   1000 |           |
|----------------+----+-----+----+--------+-----------|
|                |  1 |   2 |  2 |      1 |           |
|                |  3 |   4 |  5 |      6 |           |
|----------------+----+-----+----+--------+-----------|
| calculated-sum | ok | (1) | ok | (-993) |           |
|----------------+----+-----+----+--------+-----------|
#+TBLFM: @>$<<..$>>='(let ((sum (apply '+ '(@II..@-1))) (expected @2)) (if (= sum expected) "ok" (format "(%s)" (- sum …
Run Code Online (Sandbox Code Playgroud)

emacs org-mode

5
推荐指数
1
解决办法
2360
查看次数

在dired中查找并替换没有正则表达式

我正在尝试将网站转换为电子书,并且在每个页面的开头都有大量的html我要删除.正如您可以想象的那样,Q由于大块中的某些内容未正确转义,因此使用不匹配的结果.当我尝试解决问题时,我得到堆栈溢出.

我真正需要的是一种在没有正则表达式的情况下以正常的M-%方式查找和替换dired的方法.这可能吗?

emacs replace dired

4
推荐指数
1
解决办法
439
查看次数

在Emacs中,保护像*scratch*和*Messages*这样的重要缓冲区的规范方法是什么?

我正在阅读这个问题,答案是一个令人费解的 混乱(计时器功能真的吗?)

在任何情况下,我都不关心重新创建这些缓冲区,因为这是微不足道的.但是这些缓冲区包含永远不应删除的信息,并且因为它们没有关联的文件名,所以它们通常在没有确认的情况下被杀死.

我确实有一个解决方案,但我想看看是否有人有更"规范"的解决方案.



jtahlborn提供了最规范的解决方案,除了"keep-buffers"包显示其年龄有一些问题:

  1. 你必须指定是否所有受保护的缓冲区都要被掩埋和擦除(擦除缓冲区可以通过"撤消"恢复),当被杀死时,或者只是在被杀死时被掩埋.

  2. member被重新实现为find-in-list效率较低.

  3. 辅助功能并没有真正帮助.

我制作了protected-list一个将regexp与erase-action相关联的alist,并删除了无用的(IMO)代码.默认情况下," scratch "在被杀死时被删除," Messages "永远不会被删除或杀死.

github

emacs elisp

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

如何将字符串分成shell参数?

我在ZSH中有这个测试变量:

test_str='echo "a \" b c"'
Run Code Online (Sandbox Code Playgroud)

我想把它解析成两个字符串的数组("echo" "a \" b c").

即读取test_strshell本身会给我一些参数.

请注意,我不打算拆分白色空间或类似的东西.这实际上是将任意复杂的字符串解析为shell参数.

shell zsh

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

如何在ruby-debug控制台中评估多行块

我想评价一下

def foo
  puts "you done got fooed"
end
Run Code Online (Sandbox Code Playgroud)

ruby-debug控制台中.它工作得很好irb.但是在ruby-debug中,我无法让读者在换行后继续阅读输入.

我甚至尝试用反斜杠结束这一行.

ruby debugging ruby-debug

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

git:合并时是否可以更改代码?

我在public repo-x中有commit-x(一个小的单行),当我在repo-y中合并来自branch-y的更改时,我意识到上游更改需要在commit-x中重复逻辑.

我可以在手动合并冲突时进行必要的更改吗?或者我应该在合并后进行新的提交修复它?

git

0
推荐指数
1
解决办法
56
查看次数

标签 统计

emacs ×8

elisp ×4

debugging ×1

dired ×1

git ×1

key-bindings ×1

magit ×1

mode ×1

org-mode ×1

replace ×1

ruby ×1

ruby-debug ×1

shell ×1

zsh ×1