EMACS和TAB键(缩进vs \ t插入)

时间:2014-10-23 11:26:33

标签: emacs indentation

我们说我有<weird language>个文件,我正在编辑它。

如果光标位于句子的开头(让我们说if已经缩进了2个级别)并且我点击了TAB,那么我期待EMACS增加+1该行的缩进级别(使用TABN SPACEs,具体取决于文件中使用的缩进样式。)

无论如何,如果我点击TAB并且光标位于if之后,我希望EMACS插入普通\t

如何让EMACS表现得像这样?

此致

1 个答案:

答案 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"))))