我有一个只有空格分隔的数字列的文件。像这样:
0.0000000000 21.8066943617 0.0000000000
21.9391475974 0.0000000000 22.5951998271
0.0000000000 22.7253887380 0.0000000000
如何在Vim中显示光标的当前列号。不是每个字符的列,而是数字列的列数。
答案 0 :(得分:2)
这是一种方法:它抓取当前行的文本,直到光标位置,然后执行文本操作以将每个文本列压缩成单个字符,然后对字符进行计数。
:let textBeforeCursor = strpart(getline('.'), 0, col('.') - 1)
:let reduceColumnToSingleChar = substitute(textBeforeCursor, '\s*\S*', 'x', 'g')
:echo len(reduceColumnToSingleChar)
如果将其放入:function
,可以通过映射轻松调用它。
如果您将:echo
更改为:return
,您甚至可以将其添加到'statusline'
(通过set statusline+=\ %{ColumnCount()}
),以便在移动缓冲区时更新