Vim 缩进总结
来源:互联网 发布:java写qq登录界面代码 编辑:程序博客网 时间:2024/06/07 12:16
在linux上编辑文件时,有时候从别的地方copy过来的代码要缩进,如果一行一行的搞,忒麻烦耗时了,下面是自己使用中不同模式下的一些缩进快捷方法:
一、 normal 模式下
>> 当前行增加缩进
<< 当前行减少缩进
或者
:10,100>
第10行至第100行缩进
:20,80<
第20行至第80行反缩进
二、 Visual 模式下
normal 模式下按v 即进入VISUAL模式,可选择多行
选择好需要缩进的行后,按一次大于号’>’缩进一次,按’6>’缩进六次,按’<’回缩
三、INSERT 模式下
CTRL+SHIFT+T:当前行增加缩进
CTRL+SHIFT+D:当前行减少缩进
四、 缩进相关的参数
默认vim的缩进宽度为8个空格
- 与缩进相关的参数有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 autoindent 回车后自动缩进
通常Java的配置方式是:
:set softtabstop=4 shiftwidth=4 expandtab
Linux kernel的配置方式:
:set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab查看参数值:
:set $arg(这里的arg是变量,值就是上面的那些参数),比如:set softtabstop
参考:
http://liuzhijun.iteye.com/blog/1831548
https://segmentfault.com/q/1010000000343626
- Vim 缩进总结
- VIM - 缩进
- vim 缩进
- vim缩进
- vim缩进
- vim: 设置缩进
- 设置 VIM 自动缩进
- vim自动缩进设置
- vim ruby 缩进设置
- vim自动缩进设置
- linux vim 缩进设置
- Vim代码缩进设置
- vim自动缩进
- vim缩进配置
- vim自动缩进
- VIM自动缩进
- vim整体缩进
- Vim代码缩进设置
- 如何快速更新android sdk
- 静态语言和动态语言的区别
- Windows server 防火墙开放oracle监听端口
- theano的scan的大概科普文章。。。
- iOS--lldb常用命令总结
- Vim 缩进总结
- bzoj 2756: [SCOI2012]奇怪的游戏(网络流+二分)
- vc c++ 打印运行时堆栈信息
- iOS 夜间模式的实现
- 元素的包裹性之css绘制三角形问题
- mybatis空值查询处理
- 剑指offer-Java-二进制中 1 的个数
- linux mysql 安装
- jdk源码调试显示变量