如何在文本模式下插入制表符?

如何在文本模式下插入制表符?

我尝试解析一个language_data.txt,由 Emacs 编辑的文件。不同的列由制表符分隔。

但当我打开文件时,我发现每个制表符都被替换成了多个空格符。例如:

en_US   shiphrah        02005   book reader no connection
en_US   shiphrah        02006   user reader no connection

如何在文本模式下插入制表符?

答案1

C-q <tab>

Cq 将下一个字符作为原始字符插入

答案2

除了给出的答案之外:检查 的值indent-tabs-mode,根据需要对其进行自定义。几个钩子使用它的值进行 TAB-Blank 翻译。

答案3

如果您希望 TAB 键插入制表符,请将其添加到您的 ~/.emacs

(global-set-key (kbd "TAB") 'self-insert-command);

有关 emacs + TAB 的更多有用信息:https://web.archive.org/web/20160312104535/http://vserver1.cscs.lsa.umich.edu/~rlr/Misc/emacs_tabs.htm

答案4

除了@Vash2593回答。

如果要在多行中插入制表符,可以使用与indent-rigidly绑定的 which 。然后可以使用或C-x TAB交互地移动缩进。S-leftS-right

或者您可以提供 emacs 通用参数C-u。例如C-u 4 C-x TAB添加 4 个空格。C-u -4 C-x TAB删除 4 个空格。

这在格式化社交论坛中的代码时非常方便。需要 4 个空格缩进。

相关内容