Scite 字词选择

lua-users home
wiki

快速设置

此脚本允许您选择光标下的单词。这类似于许多文本编辑器中的“编辑/选择单词”命令。

首先,将以下代码放入您的 Lua 启动文件中

function isWordChar(char)
    local strChar = string.char(char)
    local beginIndex = string.find(strChar, '%w')
    if beginIndex ~= nil then
        return true
    end
    if strChar == '_' then
        return true
    end
    return false
end

function SelectWord()
    local beginPos = editor.CurrentPos
    local endPos = beginPos
    while isWordChar(editor.CharAt[beginPos-1]) do
        beginPos = beginPos - 1
    end
    while isWordChar(editor.CharAt[endPos]) do
        endPos = endPos + 1
    end
    if beginPos ~= endPos then
        editor.SelectionStart = beginPos
        editor.SelectionEnd   = endPos
    end
end

之后,您需要为 SelectWord 绑定一个快捷键。在您的属性文件中放置以下代码,将 13 替换为未使用的命令编号。此外,您可以随意使用您喜欢的任何快捷键,而不是 Ctrl+J。

command.name.13.*=Select Word
command.mode.13.*=subsystem:lua,savebefore:no,groupundo
command.shortcut.13.*=Ctrl+J
command.13.*=SelectWord

解释

算法很简单。我们有两个变量,它们将是单词的开始和结束位置。最初,它们相等并指向光标的位置。我们将 beginPos 向左移动(通过递减它)并将 endPos 向右移动(通过递增它),直到我们到达单词的边界。然后,我们使用这些变量设置编辑器的选择。

MocanuCristian


最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2006 年 8 月 31 日下午 8:50 GMT (差异)