我想覆盖emacs中的错误默认选项卡方案,以便它像大多数其他编辑器一样工作(eclipse,notepad ++).我想设置它,以便无论模式如何,选项卡都会插入一个选项卡,按Enter键将使我保持当前选项卡的深度.
我尝试过这个,但它什么都没做:
(global-set-key (kbd "TAB") 'tab-to-tab-stop) (setq default-tab-width 4) ;; 8 is way too many
ShreevatsaR.. 9
要使Enter键转到下一行并自动缩进,您可以放置
(global-set-key (kbd "RET") 'newline-and-indent)
在你的.emacs
.[或者你可以点击C-j
而不是回答.]一旦你有了,你将永远不需要手动插入标签,因为Emacs会在开括号之后自动将新行缩进到额外的深度等.如果你想要更改缩进,你可以点击TAB直到它带你到正确的缩进,然后从那里开始输入.[当你输入一个右大括号时,Emacs足够聪明,可以向后移动一个缩进级别.]
你应该删除(global-set-key (kbd "TAB") 'tab-to-tab-stop)
这个工作.
要使Enter键转到下一行并自动缩进,您可以放置
(global-set-key (kbd "RET") 'newline-and-indent)
在你的.emacs
.[或者你可以点击C-j
而不是回答.]一旦你有了,你将永远不需要手动插入标签,因为Emacs会在开括号之后自动将新行缩进到额外的深度等.如果你想要更改缩进,你可以点击TAB直到它带你到正确的缩进,然后从那里开始输入.[当你输入一个右大括号时,Emacs足够聪明,可以向后移动一个缩进级别.]
你应该删除(global-set-key (kbd "TAB") 'tab-to-tab-stop)
这个工作.
许多主要模式都会覆盖TAB
绑定,例如cc-mode绑定TAB
到'c-indent-to-column
.
在'global-set-key
该建议什么都不做,因为几乎每一个主要模式覆盖了TAB
.
可能对您'pabbrev
有用的一个技巧是复制使用的方法,并定义具有TAB
绑定的全局次模式.你可以这样做:
(defvar just-tab-keymap (make-sparse-keymap) "Keymap for just-tab-mode") (define-minor-mode just-tab-mode "Just want the TAB key to be a TAB" :global t :lighter " TAB" :init-value 0 :keymap just-tab-keymap (define-key just-tab-keymap (kbd "TAB") 'indent-for-tab-command))
但是,这会禁用所有TAB
完成.通过逐个覆盖每个主要模式,你可能会得到最好的结果(以避免混乱TAB
完成).