我喜欢使用空格缩进而不是制表符;在一行的开头代替翼片在sed
或vim
很容易:如何使用空格替换intraline选项卡,保持对齐?
s/^I/ /g
但是,如果有一个线(假装的空间是标签炭的宽度)内的选项卡:
'foo'^I ^I => 'bar',
'bazzle'^I => 'qux',
每个选项卡都不对应一定数量的空格以保持对齐。任何人都有一个狡猾的想法,如何在保持正确对齐的同时用空格替换这些制表符?
我喜欢使用空格缩进而不是制表符;在一行的开头代替翼片在sed
或vim
很容易:如何使用空格替换intraline选项卡,保持对齐?
s/^I/ /g
但是,如果有一个线(假装的空间是标签炭的宽度)内的选项卡:
'foo'^I ^I => 'bar',
'bazzle'^I => 'qux',
每个选项卡都不对应一定数量的空格以保持对齐。任何人都有一个狡猾的想法,如何在保持正确对齐的同时用空格替换这些制表符?
在Vim中:
:retab
,或者,如果你有空格后的标签:
:retab!
在Linux和BSD下,查找expand和unexpand命令行工具。展开将标签转换为空格,而未展开则执行相反的操作。最简单的用法是:
expand filename
如果你像我一样,使用4个空格的标签,然后:
expand -t 4 filename
默认情况下,扩大打印到标准输出,并保留原始文件的机智。为了使就地更换,至少有两个选择:
$ cp filename backup
$ expand -t 4 filename > tempfile
$ mv tempfile filename
或者,您也可以在六则启动扩大:
$ vi filename
:%!expand -t 4
我想这样做没有使用另一位编辑和“扩展”工作很好。 – fuenfundachtzig 2013-01-17 15:29:24
不要忘记设置expandtab – rampion 2009-10-06 23:33:25