我是一个长期的Vim用户(3或4年),他最近开始处理一些深度嵌套的代码。 这段代码是用空格缩进的,而不是制表符。 我想要一些干净而不干扰的缩进指示,以帮助跟踪我正在查看多层次深度的代码块。 :set list 只显示制表符和结束符。 我已经find了一个插件(目前似乎无法挖掘它),这会突出显示每个缩进级别的颜色逐渐变深,但这在视觉上并不吸引人。 理想情况下,我希望在每个缩进级别看到细的垂直线条。 许多新开发的编辑器都具有这种function,但我不愿意放弃Vim。 有谁知道这是如何实现的?
我一直在使用Vim,并且无法在PHP文件中获得正确的HTML缩进。 例如,我想要的是为每个孩子缩进一个标签多于它的父母,如下所示。 <?php if(isset($sports)) { //Do something ?> <div> <label>Uniform Size</label> <ul> <li class="left"><label for="s" class="small">S</label><input type="radio" name="size[]" value="S" id="s" class="radio" /></li> <li class="left"><label for="m" class="small">M</label><input type="radio" name="size[]" value="M" id="m" class="radio" /></li> <li class="left"><label for="l" class="small">L</label><input type="radio" name="size[]" value="L" id="l" class="radio" /></li> <li class="left"><label for="xl" class="small">XL</label><input type="radio" name="size[]" value="XL" id="xl" class="radio" /></li> </ul> </div> <?php […]
我已经find了几个关于如何在vim中缩进多行的答案,我想知道如何取一行并缩进多次。 实际上,我想要一个缩短版本的下面的命令:“>>>>>>>>>>”(这是10右括号“大于”的迹象。)
我工作的一些项目使用等于3或4个空格的标签键设置,另一个需要实际的标签。 另一个根据目录混合两个。 有没有一些方法来设置每个项目的这些设置,甚至更好,每个文件? 如果没有,有人有一个聪明的方式来处理这个? (除了“只记得你应该使用哪个设置并在开始编辑之前改变它”)
有时候,你必须用源代码写出更好的分界线。 你怎么缩进这个东西。 你可以缩进它一样的: very long statement; other statement; 这使得难以区分下面的代码,如示例所示。 另一方面,你可以将它缩进一层: very long statement; other statement; 这使得它更容易,但是它可能发生,长行是嵌套块的开始,你想缩进,如下所示: if ((long test 1) && (long test 2) && (long test 3)) { code executed if true; } 在这种情况下,它很难阅读。 我能想到的第三种可能性就是不要排长队,现代编辑们可以处理它,并创造出柔和的线条。 但是另外一名编辑则需要横向滚动,而且不能影响职位,编辑会打破你的长处。 你更喜欢什么样的可能性? 你有其他的想法来解决这个问题吗? 你可以支持你的偏好有一个很好的理由?
当我打开一个新行(通过“o”)时,我的光标跳到下一行正确缩进的位置。 另一方面,当我的光标位于空白行时,进入插入模式不会将光标移动到正确缩进的位置。 在空白行input插入模式(通过i)时,如何使vim正确缩进光标?
我更喜欢使用tab不是white space (可能与其他大多数人稍有不同) 但是我发现,当我在行尾Enter时,会添加一些空格 ,但不是标签 。 所以,我必须删除它们,然后按Tab 。 我想知道如何设置vim: 只使用制表符缩进行 一个标签看起来像4个空格,但实际上是一个标签 当在一行的末尾enter时,新行仅以制表符开始 我已经search了一段时间,但没有find一个好的答案。 先谢谢你 UPDATE 答案@Alok在大多数情况下都提供了很好的效果。 但我只是发现,有时候,这取决于文件types。 例如,如果您正在编辑haml文件,并且vimfiles/indent/有haml.vim ,则所有的选项卡将被转换为space 。 所以如果你想要它只是tab ,你应该修改(或删除)相应的缩进文件。
我只是为stream畅的接口创build了一个生成器。 现在我有很多代码看起来像这样: new MyFluentInterface() .setFirst( "first" ) .setSecond( "second" ) .setThird( "third" ) .invoke( obj ); 我喜欢上面显示的缩进,但我找不到一种方法来configurationeclipse来正确缩进。 日食总是像这样缩进: new MyFluentInterface() .setFirst( "first" ) .setSecond( "second" ) .setThird( "third" ) .invoke( obj ); 我如何configurationeclipse,使其缩进这个stream畅的界面模式,如我的第一个代码示例中所示?
虽然编码python,我只使用2个空格缩进,确实PEP-8真的build议有4个空格,但历史上对我来说是不寻常的。 那么,谁能说服我使用4个空格而不是2个? 有什么优点和缺点? PS最后,将所有现有代码库从2个空间转换为4个空间的简单方法是什么? PPS PEP-8另外build议不要使用标签进行缩进。 在这里阅读 所以,总结一下: 优点: 长度超过80根线时,要有更多的空间排列。 可以从代码片段复制代码,它只是工作。 缺点: 嵌套语句的层次更深,实际代码的空间更less。 谢谢。
每当我想在vim中给一个缩进行添加一个注释,我就按下Shift – o (打开当前的新行,切换到插入模式),然后开始input一个Python注释(使用# )。 然后,这个哈希值被神奇地移动到了行的开头(没有缩进),我必须点击几次tab。 任何人都知道如何解决它?