Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Vim中使用制表符作为水平缩进,使用空格作为垂直缩进?_Vim_Alignment_Indentation_Auto Indent - Fatal编程技术网

如何在Vim中使用制表符作为水平缩进,使用空格作为垂直缩进?

如何在Vim中使用制表符作为水平缩进,使用空格作为垂直缩进?,vim,alignment,indentation,auto-indent,Vim,Alignment,Indentation,Auto Indent,有没有一种方法可以配置Vim,使其将制表符组合为水平缩进字符,将空格组合为垂直缩进字符(例如,当继续长行时,向方法提供参数)?基本上是这样的(我用>标记标签,用点标记空格): 想法还是建议 编辑:我不想看如何使用空格而不是制表符,我想用上面描述的方式将它们组合起来。将下面的行添加到$HOME/.vimrc set tabstop=4 set shiftwidth=4 set expandtab 这应将选项卡设置为4个空格。 下面是关于这个的VIM Wiki:将下面的行添加到$HOME/.vim

有没有一种方法可以配置Vim,使其将制表符组合为水平缩进字符,将空格组合为垂直缩进字符(例如,当继续长行时,向方法提供参数)?基本上是这样的(我用>标记标签,用点标记空格):

想法还是建议


编辑:我不想看如何使用空格而不是制表符,我想用上面描述的方式将它们组合起来。

将下面的行添加到$HOME/.vimrc

set tabstop=4
set shiftwidth=4
set expandtab
这应将选项卡设置为4个空格。

下面是关于这个的VIM Wiki:

将下面的行添加到$HOME/.vimrc

set tabstop=4
set shiftwidth=4
set expandtab
这应将选项卡设置为4个空格。

这里是VIM维基:

有一个可能就是您要寻找的。它将自己描述为使用制表符进行缩进,使用空格进行对齐。

这可能就是您要寻找的。它将自己描述为使用制表符进行缩进,使用空格进行对齐。

谢谢。。但是,我很抱歉,我想我问问题的时候没有我应该说的那么简洁。请阅读我上面的编辑…Oppa,我只是没有很好地阅读你的评论。道歉。至于实际问题,我不知道有什么办法。希望其他人能够提供答案。谢谢。。但是,我很抱歉,我想我问问题的时候没有我应该说的那么简洁。请阅读我上面的编辑…Oppa,我只是没有很好地阅读你的评论。道歉。至于实际问题,我不知道有什么办法。希望其他人能够提供答案。我知道这是一个人能说的最不具描述性的话,但它不起作用。。。你知道什么是正确的使用方法吗?我正在编辑PHP文件,它不会比VIM自己做的更多。@mr.b如果我将示例中的$var更改为$really_long_var,那么所需的对齐方式就不仅仅是一个选项卡宽度,我就能看到不同之处。在这种情况下,vim默认使用制表符和空格的组合,插件只使用空格。不过,这似乎不是一个完整的解决方案,因为它需要学习对齐规则(例如,在您的示例中使用=符号对齐),并且在对齐规则未涵盖的情况下,可能会在适当的情况下使用自定义绑定来使用空格。我将奖励您奖励分数,因为你让我走上了解决问题的正确道路。我联系了插件作者,他说插件基本上负责非空格字符后的索引。因此,如果我对变量有几个赋值,比如$short\u var$bit\u longer\u var和$very\u very\u long\u var,我可以将=符号缩进到另一个符号之上,变量名和=符号之间的空间将只由空格填充,而不是由制表符+空格填充。Vim选项完全负责我提出的问题,因此我将深入文档以找到一组正确的选项。谢谢。我知道这是一个人能说的最不具描述性的话,但它不起作用。。。你知道什么是正确的使用方法吗?我正在编辑PHP文件,它不会比VIM自己做的更多。@mr.b如果我将示例中的$var更改为$really_long_var,那么所需的对齐方式就不仅仅是一个选项卡宽度,我就能看到不同之处。在这种情况下,vim默认使用制表符和空格的组合,插件只使用空格。不过,这似乎不是一个完整的解决方案,因为它需要学习对齐规则(例如,在您的示例中使用=符号对齐),并且在对齐规则未涵盖的情况下,可能会在适当的情况下使用自定义绑定来使用空格。我将奖励您奖励分数,因为你让我走上了解决问题的正确道路。我联系了插件作者,他说插件基本上负责非空格字符后的索引。因此,如果我对变量有几个赋值,比如$short\u var$bit\u longer\u var和$very\u very\u long\u var,我可以将=符号缩进到另一个符号之上,变量名和=符号之间的空间将只由空格填充,而不是由制表符+空格填充。Vim选项完全负责我提出的问题,因此我将深入文档以找到一组正确的选项。谢谢