在Emacs功能中使Tab键类似于Notepad ++

时间:2018-11-28 21:58:01

标签: emacs notepad++ verilog

我一直在尝试寻找一种方法来使我的Emacs在跳动时类似于notepad ++。具体来说,无论我在文件中的什么位置,我都希望选项卡在按下时始终插入空格。

目前,我发现制表符仅在特定情况下可用,即使那样,插入的空间量也不一致。

理想情况下,Tab键的功能类似于notepad ++,但也会停止。例如,如果您在空格0处单击一个选项卡,它将输入4个空格。如果您位于空格1处,它将仅输入3个空格以转到下一个选项卡指南。

我不知道问题是否与使用verilog-mode.el有关,但我尝试了很多不同的组合,但无法正常工作。

我在这里上传了我的Emacs设置以防万一:

https://github.com/TreverWagenhals/TreverWagenhals/tree/master/Emacs

很抱歉,如果这是一个重复的问题,但我在互联网上尝试了很多建议,却没有做任何我想做的事情。

1 个答案:

答案 0 :(得分:0)

默认情况下,按 TAB 可使Emacs缩进当前行。也就是说,它试图找出应该缩进的距离(基于周围的线条和任何特定于模式的缩进设置),然后添加或删除制表符和/或空格以达到正确的缩进级别。

如果偶尔发现该行为有用,则可以将变量tab-always-indent设置为nil。这使得 TAB 的行为取决于线点的位置。如果point在行的开头,则如上所述缩进该行,否则它将插入一个制表符或空格以到达下一个制表位。 (如果indent-tabs-mode是默认的t,则使用制表符;如果是nil,则使用空格。)

如果您根本不需要缩进行为,则可以将 TAB 键重新绑定到tab-to-tab-stop,该键通常绑定到M-i

(global-set-key (kbd "TAB") 'tab-to-tab-stop)