每日一vim(9)缩进
来源:互联网 发布:淘宝网什么最好卖 编辑:程序博客网 时间:2024/06/05 19:13
缩进在程序开发的时候是实用的一个功能,尤其Python这种靠缩进来组织代码段的语言来说更重要了。今天特意google了下vim缩进,结果很失望,有的只有配置没有说明,有说明的也没说清楚,特此自己总结一下。
normal 模式下:(下面两个命令应该是有用的)
>> 当前行增加缩进<< 当前行减少缩进
insert模式下:
CTRL+SHIFT+T:当前行增加缩进CTRL+SHIFT+D:当前行减少缩进
默认vim的缩进宽度为8个空格,修改缩进的宽度::set shiftwidth=4
,具体什么意思,看下面的详细解释。
与缩进相关的参数有shiftwidth、tabstop、softtabstop、expandtab。
shiftwidth reindent 操作(<<和>>)时缩进的列数(这里的一列相当于一个空格)tabstop 一个tab键所占的列数,linux 内核代码建议每个tab占用8列softtabstop 敲入tab键时实际占有的列数。expandtab 输入tab时自动将其转化为空格
softtabstop大于tabstop时,且没有设置expandtab时,例如:softtabstop=12,tabstop=8,那么当输入一个tab时(softtabstop:实际占用的是12列),最后会变成一个tab(tabstop)加4个空格(8+4),输入两个tab(2个softtabstop:24列)会变成3个tab(tabstop),也就是说vim或用tabstop+空格来表示,最终你能看到的缩进的列数一定是softtabstop*按的tab键次数。(ps:
:set list
可以查看tab符号)softtabstop小于tabstop且没有设置expandtab时,如果softtabstop=4,tabstop=8,输入一个tab(softtabstop),会变成4个空格(因为不够用一个tabstop表示),输入两个tab会变成一个tab(8列)。
如果softtabstop等于tabstop,而且expandtab没有设置,softtabstop与tabstop就没什么区别了。
如果设置的expandtab,输入一个tab,将被展开成softtabstop值个空格,如果softtabstop=4,那么一个tab就会被替换成4个空格。
设置expandtab:
:set expandtab
取消expandtab:
:set noexpandtab
查看参数值:
:set $arg(这里的arg是变量,值就是上面的那些参数),比如::set softtabstop
自动缩进
:set autoindent 回车后自动缩进
通常Java的配置方式是:
:set softtabstop=4 shiftwidth=4 expandtab
Linux kernel的配置方式:
:set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab
- 每日一vim(9)缩进
- 每日一vim(0)
- 每日一vim(1)
- 每日一vim(3)
- 每日一Vim(11)
- 每日一Vim(18)Text-Object
- 每日一vim(2)简单搜索
- 每日一vim(6)常用命令
- 每日一vim(8)寄存器
- 每日一vim(10)正则表达式
- 每日一vim(11)标记
- 每日一vim(13)多窗口
- 每日一vim(15)折叠
- 每日一vim(18)Text-Object
- 每日一Vim(10)-----正则表达式
- vim每日一插(二)——vim-monokai
- VIM - 缩进
- vim 缩进
- JavaScript 的self 和 this 使用小结
- HTTP错误大全
- Android文件浏览器
- FHS(Filesystem Hierarchy Standard)文件系统目录标准
- 【构】使用行为树(Behavior Tree)实现游戏AI
- 每日一vim(9)缩进
- 做一个怎样的子女
- 常用网址
- 一切都会过去,而逝去的终将变的美好
- leetcode--Triangle
- UICollectionView基础
- 数字溢出的那点事儿
- 看完这些感觉心好累,不会再爱了…
- 如何取消firefox地址栏的自动补全/自动提示功能