Sublimetext3 崇高3;行终止中同时存在CR和LF时如何准确计数字符
编辑文本文件时,升华3中的默认字符计数功能将换行作为一个字符计数,而不管换行是以LF还是CR,LF结尾。我找不到一个设置来为具有CR、LF行结尾的文本文件提供正确的计数 我尝试过安装WordCount软件包,但它也有同样的问题。设置首选项Sublimetext3 崇高3;行终止中同时存在CR和LF时如何准确计数字符,sublimetext3,sublimetext,Sublimetext3,Sublimetext,编辑文本文件时,升华3中的默认字符计数功能将换行作为一个字符计数,而不管换行是以LF还是CR,LF结尾。我找不到一个设置来为具有CR、LF行结尾的文本文件提供正确的计数 我尝试过安装WordCount软件包,但它也有同样的问题。设置首选项 char_ignore_whitespace : true 不会改变行为 有人可能会说升华的行为是不正确的,因为(对于我正在处理的文件)换行符由两个字符组成,而不是一个 我希望在字符计数中包含CR(即换行符为2个字符)的原因是,我可以使用Sublime来帮助
char_ignore_whitespace : true
不会改变行为
有人可能会说升华的行为是不正确的,因为(对于我正在处理的文件)换行符由两个字符组成,而不是一个
我希望在字符计数中包含CR(即换行符为2个字符)的原因是,我可以使用Sublime来帮助调试某些使用ftell/fseek的代码。目前,我必须不断地将行计数添加到字符计数中,以获得文件中正确的字节位置(当选择从文件开头到关注点的所有文本时)
有没有我错过的场景?是否有不同的包装可以使用
编辑:我注意到Notepad++正确地报告了此类文件的字符数,但我更喜欢使用升华:)
EDIT2:我在这里发现了一些代码(),这些代码可以在Sublime 3中使用,但也不正确地计算两个字符的换行符。我修改了上面链接中的代码,以粗略地补偿缺少的行尾计数。下面的代码只是将行数(从零开始)添加到字符位置,并将其显示为替代位置(在unix样式文件打开的情况下,不需要补偿) 这无疑是粗糙的,而且不够智能,无法确定文件结尾的行的类型。也许其他人有更好的主意
import sublime, sublime_plugin
class PositionListener(sublime_plugin.EventListener):
def on_selection_modified(self,view):
text = "Position: "
sels = view.sel()
for s in sels:
if s.empty():
row, col = view.rowcol(s.begin())
text += str(s.begin())
text += " [" + str(s.begin() + row) + "]"
else:
text += str(s.begin()) + "-" + str(s.end())
row, col = view.rowcol(s.begin())
text += " [" + str(s.begin() + row) + "-"
row, col = view.rowcol(s.end())
text += str(s.end() + row) + "]"
view.set_status('exact_pos', text)