Intellij idea 标签行开头的Emacs退格类似intellij?
在intellij中,当您在新行开始处的制表符缩进为4时,按backspace键,它会在前面的所有空白处退格,并转到前一行的制表符缩进为4 在emacs中,在相同的情况下,它会在单个空间中退格 如何使emacs表现得像intelij的退格系统?有这个插件吗 以下是在intelij中单击backspace时发生的情况的示例:Intellij idea 标签行开头的Emacs退格类似intellij?,intellij-idea,emacs,backspace,Intellij Idea,Emacs,Backspace,在intellij中,当您在新行开始处的制表符缩进为4时,按backspace键,它会在前面的所有空白处退格,并转到前一行的制表符缩进为4 在emacs中,在相同的情况下,它会在单个空间中退格 如何使emacs表现得像intelij的退格系统?有这个插件吗 以下是在intelij中单击backspace时发生的情况的示例: 我相信这已经接近你想要的了: (defun my-backspace () (interactive) (let* ((end (save-excursion
我相信这已经接近你想要的了:
(defun my-backspace ()
(interactive)
(let* ((end (save-excursion
(end-of-line)
(point)))
(beginning (save-excursion
(beginning-of-line)
(point))))
(if (string-match "^[ \t]*$" (buffer-substring beginning end))
(progn
(beginning-of-line)
(kill-line)
(previous-line)
(indent-for-tab-command)
(end-of-line))
(c-electric-backspace))))
(define-key c-mode-map (kbd "DEL") 'my-backspace)
如果前一行有文本,该怎么办?返回到上一行文本的结尾还是返回到当前行的开头?另外,
C-hk Backspace
的输出是什么?你不应该让Emacs太像其他东西-只要学会用Emacs“语言”的最佳方式来做,并专注于更重要的事情,否则你可能会因为你的特殊情况而失去其他东西。如果前一行有文本,它应该退格到前一行文本的末尾。这非常有效,除了c-electric-backspace不是一个函数;然后我将c-electric-backspace更改为(删除backward char 1)。现在,一切都按照预期进行,除了当我打开文件时(ergoemacs中的ctrl+o),backspace键什么都不做。你知道怎么解决吗?