控制台应用程序上的选项卡大小问题

控制台应用程序上的选项卡大小问题

我在 vim、neovim 和 nano 的两个终端(st 和 alacritty)上都遇到了制表符大小问题。在终端文本编辑器上,制表符长度为 8 个空格,但如果我用 sublime text、Clion 或 Eclipse 打开同一个文件,我会看到相同的制表符长度为 4 个空格(这是理想的情况)。我发现的唯一例外是在 lua 文件中,除 nano 之外,所有编辑器的制表符大小均为 2。

LunarVim 是一个异常值,其标签大小始终为 2。

如果我在 NeoVim(而不是常规 Vim)上创建一个文件,那么在保存文件时,所有编辑器的缩进都会变为 2 个空格。(编辑:忘记了我在 neovim 上有一个用于此的自动命令)

我该怎么做才能使其保持一致?是否可以使其始终为 4 个空格?

答案1

终端制表符“始终”为 8 个字符(位置)宽,我称之为“硬件制表符”,因为它源自打字机时代的默认制表位。

“更高级的文本编辑器”通常有两种设置:使用模拟硬件选项卡,或使用空格填充技术来定义更短的选项卡位置。具体使用哪种设置通常可以在该文本编辑器的“选项”或“首选项”中设置。

例子;Kate 文本编辑器> 菜单:设置 > 配置 Kate > 对话框:编辑 > /缩进\ > 使用空格缩进 > ...

例子;纳米,终端文本编辑器具有命令行选项 -T、-E 和 -i 选项,用于定义要使用的内容以及制表位的宽度以及是否“自动缩进”(从当前行上方复制空格)。参考:$ man nano


因此,你的“问题”编辑器(Sublime Text、Clion、Eclipse)可能有设置(偏好)决定了他们的不同行为。

C:\> type file.txt或者$ cat file.txt最有可能“总是”将 TAB 字符(在文件中)扩展至 8 个位置。
参考:$ man terminfo命中/、类型Tabs and Initialization、命中Enter

哦?没用 Linux,抱歉——你没告诉我!

相关内容