Skip to content

API列表

Gore Liu edited this page Mar 10, 2016 · 1 revision

###API 列表


###Class __vim __vim 是vimd中的顶级对象。vimd 具有以下属性

属性 说明
pluginList 存放插件(plugin)对象,如 vim.pluginList["totalcmd"]返回 "totalcmd" 的插件对象, 具体的plugin 对象请看 class __plugin部分。
winList 存放窗口(win)对象,如 vim.winList["TC"]返回"TC"的窗口对象,具体的 win 对象请看 class __win 部分。
winInfo 存放当前窗口(win)对象相关的说明信息, SetWin() 函数会将数据保存这个属性中。通常不需要用到这个对象,只有 CheckWin() 需要用到这个属性
ActionList 存放动作(Action)对象,如 vim.ActionList[""]会返回""的动作对象,具对的Action对象请看 class __Action 部分。
ActionFromPlugin 声明某个动作(Action)是由哪个插件定义的。如 vim.ActionList[""] 返回 "Genernal"。
ExcludeWinList 存放所有排除的窗口(win)对象。其它与WinList类似。
winGlobal 全局窗口(win)对象,此对象管理全局下的模式与热键。优先级低于其它窗口对象。
LastFoundWin 保存vimd最后获取到的窗口对象名
ErrorCode 预留用于错误提示代码值,暂没有设置功能

####LoadPlugin(PluginName) 功能:加载插件,vimd保存相应的Plugin对象,然后转到(GoSub)PluginName对应的Label。

参数:PluginName -> 插件名称。

返回值:无返回内容,如果出错,会有Msgbox提示

####SetPlugin(PluginName,Author="",Ver="",Comment="") 功能:设置插件信息,声明作者、版本号、插件说明等。

参数

  • PluginName: 插件名称。
  • Author: 插件作者名,默认为空。
  • Ver: 版本号,默认为空。
  • Comment: 插件说明,默认为空。

返回值:无返回内容。

####GetPlugin(PluginName) 功能:获取插件PluginName对应的插件对象。

参数:PluginName -> 插件名称

返回值:返回插件(plugin)对象。

####Comment(action,desc=“”,complex=True) 功能:新建并声明动作(Action)对象,兼容vimcore.ahk,与SetAction功能一致。

参数

  • action:动作名称。
  • desc:动作的描述,默认为空。
  • complex:是否允许此动作多次运行,默认允许。

返回值:返回动作(action)对象。

####SetAction(Name,Comment=“”) 功能:新建并声明动作(Action)对象。

参数

  • Name:动作名称。
  • Comment:动作的描述,默认为空。

返回值:返回动作(action)对象。

####GetAction(Name) 功能:获取名为Name的动作(Action)对象。

参数:Name -> 动作名称。

返回值:返回动作(action)对象。

####SetWin(winName,class,filepath=“”,title=“”) 功能:新建并声明窗口(win)对象。

参数

  • winName:窗口对象名称。
  • class:程序的ahk_class值。
  • filepath:程序的文件名(ahk_exe)。如“notepad.exe”
  • title:程序的标题。

返回值:返回新建的窗口(win)对象。

####GetWin(winName=“”) 功能:获取winName对应的窗口(win)对象。

参数:winName -> 窗口名称,默认为空值。

返回值:返回窗口(win)对象。如winName为空值时,返回全局的窗口(win)对象。

####CheckWin() 功能:检查当前窗口是否vimd已定义的窗口(win)对象。如果已经定义,返回窗口名称。

参数:空。

返回值:如有定义返回窗口名称,否则返回空值。

####Mode(mode,win="") 功能:设置win对应的模式(mode)。兼容vimcore.ahk,与SetMode功能一致。

参数

  • mode:模式名称。
  • win:模式所属的窗口对象名。默认空值,设置全局窗口对象。

返回值:返回模式(mode)对象。

####SetMode(modeName,winName=“”) 功能:设置winName窗口对象下的模式(mode)。

参数

  • modeName:模式名称。
  • winName:模式所属的窗口对象名。默认空值,设置全局窗口对象。

返回值:返回模式(mode)对象。

####SetModeFunction(func,modeName,winName=“”) 功能:设置模式切换是执行的函数。

参数

  • func:函数名
  • modeName:切换模式名。
  • winName:窗口对象名。

返回值:无。

####GetMode(winName) 功能:获取winName窗口对象的当前模式。

参数:winName -> 模式所属的窗口对象名。默认空值,设置全局窗口对象。

返回值:返回模式(mode)对象。

####BeforeActionDo(Function,winName="") 功能:设置winName窗口对象的BeforeActionDo功能。BeforeActionDo会在热键按下后,Action执行之前判断。如果Function对应的函数返回True,则直接按热键本身输出,不进行其它判断。配合模式使用可以满足特殊情况下按普通按键输出的需求。

参数

  • Function:自定义的函数名称。
  • winName:窗口对象名。默认为空,操作全局对象。

返回值:无。

####AfterActionDo(Function,winName="") 功能:设置winName窗口对象后AfterActionDo功能。AfterActionDo在Action执行之后开始进行判断。如Function对应的函数返回True,则直接按热键本身输出。适合执行Action后还需要执行其它功能判断的需求。

参数

  • Function:自定义的函数名称。
  • winName:窗口对象名。默认为空,操作全局对象。

返回值:无。

####SetMaxCount(Int,winName="") 功能:设置winName窗口对象中Action可重复执行的最大次数。避免Action执行次数过多造成的错误。

参数

  • Int:最大执行次数。
  • winName:窗口对象名。默认为空,操作全局对象。

返回值:无。

####GetMaxCount(winName="") 功能:获取winName窗口对象中Action可重复执行的最大次数。

参数:winName -> 窗口名称。默认为空,操作全局对象。

返回值:可最大运行次数。

####SetCount(int,winName="") 功能:设置winName窗口对象的次数,如"10j",设置执行次数为10。

参数

  • int:执行次数。
  • winName:窗口对象名。默认为空,操作全局对象。

返回值:无。

####GetCount(winName="") 功能:获取winName窗口对象的执行次数。(非最大值)

参数:winName -> 窗口名称。默认为空,操作全局对象。

返回值:返回当前的执行次数。 如"10j",返回10

####SetTimeOut(Int,winName="") 功能:设置超时时间。

参数

  • Int:超时时间,单位毫秒。
  • winName:窗口对象名。默认为空,操作全局对象。

返回值:无。

####GetTimeOut(winName="") 功能:获取超时时间。

参数:winName -> 窗口名称。默认为空,操作全局对象。

返回值:超时时间值。

####Map(keyName,Action,winName="") 功能:映射热键。映射的窗口由winName决定,模式由SetMode()/Mode()决定。

参数

  • KeyName:热键名称。
  • Action:动作名称。
  • winName:窗口对象名。默认为空,操作全局对象。

返回值:无。

####ExcludeWin(winName="",Bold=True) 功能:排除窗口,让vimd在窗口中无效化。

参数

  • winName:窗口对象名。如果为空则操作全局对象。
  • Bold: 如为True排除,否则排除无效。

返回值:无。

####Toggle(winName="") 功能:启用/禁用winName窗口下的vimd效果。此函数与Control不同,此函数切换相反状态。

参数:winName -> 窗口名称。默认为空,操作全局对象。

返回值:无。

####Control(bold,winName="") 功能:启用/禁用winName窗口下的vimd效果。如 vim.Control(false,"TC")

参数

  • Bold:True为启用,False为禁用。
  • winName:窗口名称。默认为空,操作全局对象。

返回值:无。

####Copy(winName1,winName2,class,filepath="",title="") 功能:复制winName的模式、热键定义给winName2,winName2按Class/filepath/title声明。

参数

  • winName1:被复制的winName1窗口对象。
  • winName2:复制到winName2名称。
  • class:程序的ahk_class值。
  • filepath:程序的文件名。如“notepad.exe”
  • title:程序的标题。

返回值:winName2窗口对象。

####CopyMode(winName,fromMode,toMode) 功能:在winName模式中,将fromMode模式所有热键定义复制到toMode模式中。

参数

  • winName:窗口对象名称。
  • fromMode:被复制的模式对象。
  • toMode:复制到ToMode对象。

返回值:toMode模式对象。

####Delete(winName="") 功能:删除winName窗口定义,并删除所有热键功能。

参数:winName -> 窗口对象名称。

返回值:无。

####GetMore() 功能:获取所有满足当前热键缓存(winObj.KeyTemp)的动作(Action)列表。

返回值:获取到的Action列表或空值。

####Clear(winName="") 功能:清空winName窗口对象中的热键缓存(winObj.KeyTemp)和执行次数(winObj.count)。

参数:winName -> 窗口对象名称。

返回值:无。

####Key() 功能:(内部函数)执行热键判断,包括所属的窗口、所属的模式,执行什么操作等。

返回值:无。

####IsTimeOut() 功能:(内部函数)判断热键缓存是否超时,如超时,则动作列表,执行当前热键缓存所对应的ActionList

返回值:无。

####Debug(Bold) 功能:启用/禁用vimd调试界面和相应的功能。

参数:Bold -> True或False,默认不启用。

返回值:无。

####Convert2VIM(key) 功能:把ahk热键名转换为vimd热键定义。

参数:Key -> ahk热键名,如”ctrl & j“、“f1”

返回值:vimd热键定义。如 ”“、“”

####Convert2AHK(key,ToSend=False) 功能:把vimd热键定义转换为ahk热键名

参数: Key:vimd热键定义,如 ”“、“” ToSend:转换的AHK热键名类型。默认False,返回的类型是”ctrl & j“、“f1”。如为True,返回的类型是^j、{f1}等适合Send的形式。

返回值:ahk热键名

####CheckCapsLock(key) 功能:检测CapsLock键是否按下,并返回对应的大小写值。

参数:key -> vimd热键定义,如 CheckCapsLock("")

返回值:判断大小写后的vimd热键。


###Class __win __win 窗口对象。在vimd中,每个程序都对应窗口对象。只有当前程序是在vimd中定义过的窗口对象,vimd才会执行模式及热键判断。

属性 说明
class 程序的ahk_class,如ahk_class TTOTAL_CMD。
filepath 程序的文件名ahk_exe如"Notepad.exe"。
title 程序的窗口标题名。
KeyList 当前窗口对象所有可用的热键列表。如winObj.KeyList["j"] := True,主要用于vim.control()中。
SuperKeyList 当前窗口对象中的超级热键列表。如winObj.SuperKeyList["ctrl & k"] := True,此列表中的热键不受vim.control()/Toggle()的影响。但受vim.Delete()的控制。
modeList 模式列表,存放所有可用的模式,如winObj.modeList["normal"]。
Status 保存窗口热键可用的状态。True时说明热键是可用的。False时说明热键不可用。
mode 当前窗口保存的模式名。
LastKey 当前窗口对象按下的最后一个热键。
KeyTemp 保存当前窗口的热键缓存列表。
MaxCount 当前窗口对象允许的动作最大执行次数。
Count 当前窗口对象执行的次数,如"10j"
TimeOut 当前窗口对象的超时时间
Info 窗口对象是否出现提示热键信息,默认为True
BeforeActionDoFunc 保存窗口对象在执行动作前的函数名
AfterActionDoFunc 保存窗口对象在执行动作后的函数名
ShowInfoFunc (内部函数)显示提示热键信息的函数。默认为showInfo()
HideInfoFunc (内部函数)隐藏提示热键信息的函数。默认为hideInfo()

####ChangeMode(modeName) 功能:改变当前窗口对象的模式,此函数为内部函数。如需要切换模式,请用回vim.SetMode()

参数:ModeName -> 模式名称。

返回值:返回切换的模式对象。

####ExistMode() 功能:返回当前窗口的模式对象。与ChangeMode不同的是,此函数不切换模式。

返回值:返回当前模式对象。

####SetInfo(Bold) 功能:设置是否显示提示热键信息,为True时,会根据情况执行win.ShowInfoFunct和win.HideInfoFunc两个函数。

参数:Bold -> 正确/错误。

返回值:无。

####SetShowInfo(func) 功能:(内部函数)设置显示提示热键信息的函数名。

参数:func -> 函数名称。

返回值:无

####SetHideInfo(func) 功能:(内部函数)设置隐藏提示热键信息的函数名。

参数:func -> 函数名称。

返回值:无

####ShowMore() 功能:(内部函数)显示提示热键信息。

返回值:无。

####HideMore() 功能:(内部函数)隐藏提示热键信息。

返回值:无。


###Class __Mode 每个窗口对象中有多个模式,模式对象主要用于判断热键执行什么动作。

属性 说明
name 模式名称。
keymapList 映射热键列表。
keymoreList 存放更多组合键的热键列表。
nowaitList 无视等待超时的热键列表。
modeFucntion 切换模式执行的函数名。

####SetKeyMap(key,action) 功能:(内部函数)保存到映射热键列表。

####GetKeyMap(key) 功能:(内部函数)获取热键对应的动作对象。

####DelKeyMap(key) 功能:(内部函数)删除热键映射。

####SetNoWait(key,bold) 功能:(内部函数)设置热键无视超时时间。

####GetNoWait(key) 功能:(内部函数)获取热键是否为超时时间。

####SetMoreKey(key) 功能:(内部函数)设置热键还有更多组合键如,"g\gg\,那么"g"存在更多的组合键。"

####GetMoreKey(key) 功能:(内部函数)获取热键是否有更多组合键。


###Class __Action 动作对象支持ahk的标签(Label)、函数(function)、命令行(cmdLine)、热字串(HotString)。

属性 说明
Name 动作名称。
Comment 动作的说明。
MaxTimes 动作允许执行的最大次数。
function 执行的函数名。
cmdLine 执行的命令行。
HotString 发送的字符串。
Type 动作类型。0是执行与动作名称一致的Label,1是执行Function函数,2是执行CmdLine命令行,3是发送字符串HotString

####SetFunction(Function) 功能:设置动作执行的函数。

参数:Function -> 函数名。

返回值:无。

####SetCmdLine(CmdLine) 功能:设置动作为执行命令行。

参数:CmdLine -> 执行命令行。

返回值:无。

####SetHotString(HotString) 功能:设置动作为发送文本。

参数:HotString -> 字符串。

返回值:无。

####SetMaxTimes(Times) 功能:设置执行动作的最大次数。

参数:Times -> 最大次数。

返回值:无。

####Do(Times=1) 功能:执行动作。

参数:Times -> 执行的次数。

返回值:无返回值。


###Class __Plugin 插件对象,用于保存插件的相关信息。

####CheckSub() 功能:检测并执行Label,加载插件。

返回值:正确加载插件,返回True。


###Class __vimDebug 用于调试,使用vim.Debug(True)可以启用/Vim.Debug(False)禁用调试窗口。

####Add(v) 功能:添加内容到调试窗口中。

####Clear() 功能:清除调试窗口显示的内容。