问题
在以下示例中:
- 为什么在第一行中,
\t
插入了 a 但只显示 4-col 空白?不应该8
按照tabstop
吗? - 为什么
<TAB>
第一行和第五行的两次命中结果不同?(一个是09
,另一个是20202020
)
.vimrc
set noexpandtab
set tabstop=8
set shiftwidth=4
set softtabstop=4
文本
我通过首先插入 8 个空行然后在每行的开头键入来创建以下文本,这样就没有shiftwidth
生成。(通过点击插入下面的每个 4 列空白<TAB>
):
1tab done
2tabs done
3tabs done
4tabs done
1tab
2tabs
3tabs
4tabs
十六进制表示
然后我做了:%!xxd
,这就是我得到的(带有一些尾随换行符):
0000000: 3174 6162 0964 6f6e 650a 3274 6162 7309 1tab.done.2tabs.
0000010: 2020 2020 646f 6e65 0a33 7461 6273 0909 done.3tabs..
0000020: 646f 6e65 0a34 7461 6273 0909 2020 2020 done.4tabs..
0000030: 646f 6e65 0a20 2020 2031 7461 620a 0932 done. 1tab..2
0000040: 7461 6273 0a09 2020 2020 3374 6162 730a tabs.. 3tabs.
0000050: 0909 3474 6162 730a 0a0a 0a0a 0a0a 0a0a ..4tabs.........
相关讨论
这里有一些很好的答案,但我仍然不明白在这种特殊情况下发生了什么。