可以根据文件扩展名更改选项卡的长度吗? [复制]
Posted
技术标签:
【中文标题】可以根据文件扩展名更改选项卡的长度吗? [复制]【英文标题】:Possible to change length of tab depending on file extension? [duplicate] 【发布时间】:2011-08-26 03:06:45 【问题描述】:可能重复:Changing Vim indentation behavior by file type
你好。 所以,我经常在制表符的“2”和“4”空格之间切换。通常我使用 2 个空格作为 html 文件的制表符,4 个空格作为编程的制表符。有没有配置VIM,所以它会根据文件扩展名自动调整? 另外,为什么 VIM 有时会缩进 8 个空格,比如在我输入一个左大括号之后?我将其设置为 4 个空格。 谢谢。
【问题讨论】:
【参考方案1】:在 vim 中输入 :help syntax
。这将打开一个帮助文件,概述随后的页面/文件,向您展示如何将文件扩展名绑定到语法文件,您可以在其中:set shiftwidth=2
和:set tabstop=2
for e。 G。 HTML 文件。我猜你安装的语法文件也是造成大括号缩进症状的原因。
【讨论】:
永远不要将:set
用于与文件类型相关的内容。有:setlocal
。【参考方案2】:
set sw=4 ts=4 sts=4 " Defaults: four spaces per tab "
autocmd FileType html :setlocal sw=2 ts=2 sts=2 " Two spaces for HTML files "
这里有三个不同的选项:'shiftwidth' ('sw') 控制自动缩进的空格数和一些移位命令(如正常模式下的<<
),'tabstop' ('ts') 控制视觉长度一个真正的制表符,您可能希望保留默认值(8 个可视单元格),“softtabstop”(“sts”)控制按下<Tab>
和<CR>
时插入/删除的内容。我建议您将其设置为 'tabstop' 的值或将其与 'expandtab' 一起设置,因为在其他情况下它会产生难看的制表符+空格缩进。
【讨论】:
我是否添加了多个文件扩展名,这些文件扩展名将在同一行中为一个制表符使用 2 个空格?或者,我是否必须为其他文件扩展名创建新行?我还想将 .jade 文件包含为有 2 个空格制表符,但我不想让我的 .vimrc 文件与多行文件扩展名混在一起,这些文件扩展名都有 2 个空格作为制表符。 @Kelp 你可以用逗号分隔替代模式,所以它看起来像autocmd FileType html,xml,whatever :...
。这里的冒号是可选的,我只是想让代码更具可读性。您还可以使用:h line-continuation
将:setlocal
移动到模式后的下一行。以上是关于可以根据文件扩展名更改选项卡的长度吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio Code 中更改无标题选项卡的标题
我可以在浏览器的表单/文本区域中更改闪烁的插入符号吗? [复制]