我们说我有<weird language>
个文件,我正在编辑它。
如果光标位于句子的开头(让我们说if
已经缩进了2个级别)并且我点击了TAB
,那么我期待EMACS增加+1该行的缩进级别(使用TAB
或N SPACEs
,具体取决于文件中使用的缩进样式。)
无论如何,如果我点击TAB
并且光标位于if
之后,我希望EMACS插入普通\t
。
如何让EMACS表现得像这样?
此致
答案 0 :(得分:1)
将当前缩进作为开头。这种情况可能需要修改。另见第三条。
(defun my-indent-or-insert-tab ()
"Insert a TAB or indent depending on context. "
(interactive "*")
(cond((eq (current-column) (current-indentation))
(indent-for-tab-command))
((member (char-after) (list ?\t ? ?\n))
(insert "\t"))
(t (message "%s" "Don't know what to do if inside word"))))