关于 Vim 里获取光标位置字符的偏移

Vim、Emacs配置和使用
回复
wz520
帖子: 36
注册时间: 2010-09-23 13:47
送出感谢: 0
接收感谢: 4 次

关于 Vim 里获取光标位置字符的偏移

#1

帖子 wz520 » 2011-01-16 21:56

除了 statusline=%o 有没有别的办法?命令,函数都行。
头像
lilydjwg
论坛版主
帖子: 4163
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

Re: 关于 Vim 里获取光标位置字符的偏移

#2

帖子 lilydjwg » 2011-01-16 22:45

代码: 全选

col('.')
virtcol('.')
wz520
帖子: 36
注册时间: 2010-09-23 13:47
送出感谢: 0
接收感谢: 4 次

Re: 关于 Vim 里获取光标位置字符的偏移

#3

帖子 wz520 » 2011-01-16 23:03

这是相对于当前行的偏移,我想要相对于整个文件的偏移,就像 :set statusline=%o
头像
lilydjwg
论坛版主
帖子: 4163
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

Re: 关于 Vim 里获取光标位置字符的偏移

#4

帖子 lilydjwg » 2011-01-16 23:50

wz520 写了:这是相对于当前行的偏移,我想要相对于整个文件的偏移,就像 :set statusline=%o
哦,我对 'stl' 的设置不熟。

代码: 全选

:h line2byte() 
wz520
帖子: 36
注册时间: 2010-09-23 13:47
送出感谢: 0
接收感谢: 4 次

Re: 关于 Vim 里获取光标位置字符的偏移

#5

帖子 wz520 » 2011-01-17 0:15

Thx, 搞定了。 :em01

代码: 全选

func GetByteOffset()
	return line2byte(line('.')) + col('.') - 1
endfunc
回复

回到 “Vim和Emacs”