我正在寻找一种方法在vim中轻松地可视化python代码的各种缩进级别。如果在当前行的开始处总是有垂直的规则,这将有所帮助。这样我可以扫描代码来查看当前块的结束位置。有没有插件可以做到这一点?如何在当前行的开头显示垂直规则?
4
A
回答
5
你可以简单地效仿缩进指南。在我看来,它更简单,更有效。请看看我的answer到question about indentation guides。
1
首先想到的是,您可以从实现code folding的插件中受益。
这是一个tutorial with examples(向下滚动到“代码折叠”),建议使用"Efficient python folding" plugin for vim。
screenshot http://dancingpenguinsoflight.com/wp-content/uploads/2009/02/folded_functions.png
0
在vim(无需插件):
:设置列表
会默认显示标签为 '^ I' 和EOL为 '$'。
与
:集LCS =标签:>>
您设置了 '^ I' 到 '>'(更多的是通过:帮助listchars)。
我不确定,但应该有另一个选项来设置标签宽度。
你也可以设置
:设置自动缩进
的蟒蛇
0
我认为你正在寻找的命令是“colorcolumn”,这是新的Vim的7.2或7.3,我认为。
你也许可以一起想了自动命令触发CursorMoved
autocmd CursorMovedI * set colorcolumn=match(getline("."),"\S")
你可能会玩这个,使用中间变量和这样的。
这将做什么(如果正确地埋藏在一个函数内),在当前行的起始字符处放置一条垂直线。这可能是方便的,但应该只能放在一个切换。
编辑:这原来比我想象的要复杂一点。基本上,你必须消除文字标签的影响(如果他们在你的文件显示)
autocmd CursorMoved * let &colorcolumn=matchend(substitute(getline("."),'\t',repeat(" ",&ts),'g'),"\\S")
当我第一次把这个一起我sortof认为这是愚蠢的,但只玩了几分钟,我喜欢这个效果。
请注意,您可能需要也可能不需要CursorMovedI版本。
0
您可以为它定义自己的语法项目(或使用匹配项)。快速而肮脏的解决方案:
let colors=["red", "white", "yellow", "green", "blue"]
let matchids=[]
for level in range(1, len(colors))
execute "hi IndentLevel".level." ctermbg=".colors[level-1]." guibg=".colors[level-1]
call add(matchids, matchadd('IndentLevel'.level, '^ '.repeat(' ', level-1).'\zs '))
endfor
这将突出显示不同的颜色五个第一缩进层次。
要禁用:
while !empty(matchids)
call matchdelete(remove(matchids, 0))
endwhile
相关问题
- 1. 如何垂直显示PDO行结果?
- 2. 垂直显示列和行
- 3. 垂直显示
- 4. 在Firebug中显示当前活动的媒体查询规则
- 5. 如何从QWebView中删除显示当前位置的GoogleMap的垂直滑块?
- 6. 如何在HTML中的按钮之间放置垂直规则
- 7. 垂直Epander像垂直头
- 8. 如何设置显示黑莓当前位置的垂直滚动条?
- 9. 垂直ListView显示
- 10. node-schedule如何访问正在执行的当前规则?
- 11. 如何垂直显示Android广告
- 12. 如何垂直显示记录?
- 13. 垂直接头
- 14. 在asp.net中以垂直方式显示数据和垂直显示
- 15. 垂直对齐SlickGrid头垂直文本
- 16. 显示表格垂直
- 17. 如何显示当前播放的HTTP直播流的码率?
- 18. 显示活动的箭头onclick(垂直导航?)
- 19. 如何显示当前周?
- 20. 直接显示图 - 如何获得当前的fps?
- 21. 如何居中垂直头内?
- 22. 如何显示旋转在Android的WebView /垂直文本
- 23. 如何在postgresql中垂直显示我的查询结果?
- 24. 显示文本在框中间(垂直)
- 25. 显示HTML UL在垂直方向
- 26. 垂直文本显示在表TD中?
- 27. 在oracle中垂直显示结果
- 28. 在交叉点上显示垂直线
- 29. 在div上垂直显示文字
- 30. 垂直的UITableView节头
建议使用4个空格缩进Python,而不是使用制表符。 – ZyX 2010-08-27 21:56:43
@abhijit:你能做到什么ZYX被提到: :设置shiftwidth的= 4 :设置自动缩进 使用CTRL + T在插入模式 – mathume 2010-08-27 22:12:45
这是有关的事实,大多数的Python代码缩进用空格,所以设置'list'和'lcs'不会显示任何内容。 'expandtab'对python可能更好。 – ZyX 2010-08-27 22:20:02