Linux中将tab与空格的互换、设定与显示
在Vim中,有时需要将tab转换成space。使用ret命令(replace tab)。
[range]ret[ab]! [new-tabstop]
1.tab替换为空格
:set ts=4
:set expandtab
:%retab!
或三步简化为二步
:set expandtab
:%ret! 4
如果没有给定4,则用当前的tab宽度设定替换为space。
加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。
2.空格替换为TAB
:set ts=4
:set noexpandtab
:%retab!
其他方法:
1.使用sed命令
sed -i 's/\t/ /g' file_name
2.使用tr命令
cat filename | tr "\t" " " > filename_new
3.col -x命令
cat filename | col -x > filename_new
其它相关命令:
:set tabstop=4 设定tab宽度为4个字符
:set shiftwidth=4 设定自动缩进为4个字符
:set expandtab 用space替代tab的输入c
:set noexpandtab 不用space替代tab的输入
Linux中tab与空格的设定
vim缩进参数解析
缩进用tab制表符还是空格,个人爱好问题。但是在大多项目中,习惯使用空格。关于缩进,vim中可以通过如下四个参数进行配置
set tabstop=4
set softtabstop=4
set shiftwidth=4
set noexpandtab / expandtab
解析:
tabstop
表示按一个tab之后,显示出来的相当于几个空格,默认的是8个。
softtabstop
表示在编辑模式的时候按退格键的时候退回缩进的长度。
shiftwidth
表示每一级缩进的长度,一般设置成跟 softtabstop 一样
expandtab与noexpandtab
当设置成expandtab时,缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进。个人习惯使用 `set expandtab`
Linux中tab与空格的显示
set listchars=tab:>>,trail:- 或set listchars=tab:>_,trail:-
set list
浙公网安备 33010602011771号