显示总行数状态栏sublime text 3

时间:2016-06-02 14:54:56

标签: sublimetext3 sublime-text-plugin

是否有代码放入设置或插件中,以显示Sublime Text 3状态栏中当前行和列的总行数?

2 个答案:

答案 0 :(得分:4)

显示状态栏中行数的代码非常简单, 只需获得行数

line_count = view.rowcol(view.size())[0] + 1

并写入状态栏

view.set_status("line_count", "#Lines: {0}".format(line_count))

如果你想打包一个插件,你只需要在一个函数中写这个并在一些EventListener上调用它。 点击Tools >> Developer >> New Plugin...创建一个插件并粘贴:

import time
import sublime
import sublime_plugin

last_change = time.time()
update_interval = 1.5  # s


class LineCountUpdateListener(sublime_plugin.EventListener):
    def update_line_count(self, view):
        line_count = view.rowcol(view.size())[0] + 1
        view.set_status("line_count", "#Lines: {0}".format(line_count))

    def on_modified(self, view):
        global last_change
        current_change = time.time()
        # check if we haven't embedded the change in the last update
        if current_change > last_change + update_interval:
            last_change = current_change
            sublime.set_timeout(lambda: self.update_line_count(view),
                                int(update_interval * 1000))

    on_new = update_line_count
    on_load = update_line_count

这实际上是在创建新视图,加载文件和修改视图内容时调用命令。出于性能原因,它有一些逻辑,不能在每次修改时调用它。

答案 1 :(得分:0)

转到菜单 - >找到 - >在文件中找到。

然后选择正则表达式。

使用此模式计算每行中包含空格的行 -

^(.*)$

要计算排除空格的行数,请使用模式

^.*\S+.*$

您可以指定是否排除某些文件类型的目录,例如

c:\your_project_folder\,*.php,*.phtml,*.js,*.inc,*.html, -*/folder_to_exclude/*

注意 - 白色空格以外的字符也会计数,因为它们也有空格的开头和结尾。