Answers:
扩展zoul的答案:
如果要将Vim设置为在编辑特定文件类型时使用特定设置,则将要使用自动命令:
autocmd Filetype css setlocal tabstop=4
这样可以使选项卡显示为4个空格。设置expandtab
将使Vim tabstop
在按Tab时实际插入空格(它们的数量由来控制)。您可能要使用它softtabstop
来使退格键正常工作(也就是说,减少缩进时应使用制表符,而不是每次都删除一个字符)。
为了充分受过教育的决定至于如何设置的东西了,你需要上阅读Vim的文档tabstop
,shiftwidth
,softtabstop
和expandtab
。在expandtab
(:help 'expandtab
)下找到最有趣的位:
在Vim中使用标签的主要方法有四种:
始终将“ tabstop”设置为8,将“ softtabstop”和“ shiftwidth”设置为4(或3或您喜欢的任何值),并使用“ noexpandtab”。然后Vim将使用制表符和空格的混合,但是键入并表现得像一个制表符每4(或3)个字符出现一次。
将“ tabstop”和“ shiftwidth”设置为您喜欢的任何值,然后使用“ expandtab”。这样,您将始终插入空格。更改“ tabstop”时,格式永远不会搞乱。
根据需要设置'tabstop'和'shiftwidth'并使用| modeline | 在再次编辑文件时设置这些值。仅在使用Vim编辑文件时有效。
始终将“ tabstop”和“ shiftwidth”设置为相同的值,并设置“ noexpandtab”。然后,这应该对人们使用的任何制表符设置起作用(仅适用于初始缩进)。如果这样做,最好在第一个非空格后插入制表符作为空格。否则,更改“ tabstop”时对齐的注释将是错误的。
:help retab
(检查!变体)。
:set tabstop=4
:set shiftwidth=4
:set expandtab
这将插入四个空格而不是制表符。空格更“稳定”,这意味着带有空格的缩进文本将在浏览器和任何其他应用程序中显示相同。
:set shiftwidth=0
在vimrc中将其永久忘掉,因为这告诉vim您始终希望它与之匹配tabstop
。
要对一个会话进行更改,请使用以下命令:
:set tabstop=4
要使更改永久生效,请将其添加到~/.vimrc
或~/.vim/vimrc
:
set tabstop=4
这将影响所有文件,而不仅仅是CSS。只影响CSS文件:
autocmd Filetype css setlocal tabstop=4
~/.vimrc
始终进行备份,我通常将文件保存在我的Dropbox文件夹中,然后创建一个指向桌面的符号链接:ln -s /home/myfolder/Dropbox/.vimrc ~
此页面上的几个答案是针对上述问题的“单次使用”修复程序。这意味着,下次使用vim打开文档时,将返回以前的标签设置。
如果有人对永久更改选项卡设置感兴趣:
更新
如果您在特定项目中工作,我强烈建议您使用editorconfig。
它使您可以.editorconfig
在存储库的根目录处定义一个文件,以定义要用于存储库中每种文件类型的缩进。
例如:
root = true
[*.css]
charset = utf-8
indent_style = space
indent_size = 4
[*.js]
charset = utf-8
indent_style = space
indent_size = 2
有一个vim插件可以根据您打开的文件的配置文件自动配置vim。
最重要的是,该.editorconfig
文件在其他许多IDE和编辑器中也自动得到支持,因此它是在具有不同环境的用户之间进行协作的最佳选择。
原始答案
如果您需要经常更改大小,并且不想将其绑定到特定文件类型,则可以在.vimrc文件上使用预定义的命令来快速切换首选项:
nmap <leader>t :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
nmap <leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
这会将两组不同的大小映射到键\ t和\ m。您可以将其重新绑定到所需的任何键。