gpt4 book ai didi

emacs - 插入分号或花括号后自动缩进

转载 作者:行者123 更新时间:2023-12-04 17:48:47 25 4
gpt4 key购买 nike

GNU Emacs 24.3.1

你好,

我正在使用 emacs 在 Java 中进行一些编码。为了让我的编码更容易,我想每次插入分号或花括号时自动缩进 {
;; Auto indent for java mode
(add-hook 'java-mode-hook '(lambda ()
(local-set-key (kbd "RET") 'newline-and-indent)))

(add-hook 'java-mode-hook '(lambda ()
(local-set-key (kbd "{") 'newline-and-indent)))

(add-hook 'java-mode-hook '(lambda ()
(local-set-key (kbd ";") 'newline-and-indent)))

返回按预期工作。但是,大括号和分号只是返回而不输入 ;{ .

这可能吗?

非常感谢您的任何建议,

最佳答案

这是可能的。这是一种方法(用这个替换对 add-hook 的第二次和第三次调用):

(defun java-autoindent ()
(when (and (eq major-mode 'java-mode) (looking-back "[{;]"))
(newline-and-indent)))

(add-hook 'post-self-insert-hook 'java-autoindent)

其工作方式是每次您在 java-mode 中键入一个字符时缓冲,Emacs 将
  • 检查该字符是否为 {; ,如果是这样的话
  • 运行 newline-and-indent .
  • 关于emacs - 插入分号或花括号后自动缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23648083/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com