![如何在文本模式下插入制表符?](https://linux22.com/image/1365380/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%96%87%E6%9C%AC%E6%A8%A1%E5%BC%8F%E4%B8%8B%E6%8F%92%E5%85%A5%E5%88%B6%E8%A1%A8%E7%AC%A6%EF%BC%9F.png)
我尝试解析一个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-left
S-right
或者您可以提供 emacs 通用参数C-u
。例如C-u 4 C-x TAB
添加 4 个空格。C-u -4 C-x TAB
删除 4 个空格。
这在格式化社交论坛中的代码时非常方便。需要 4 个空格缩进。