命令行编辑

vsql 支持 tecla 库,以便于进行行编辑和检索。

当 vsql 退出时,将自动保存命令历史记录;当 vsql 启动时,将重新加载命令历史记录。还支持 Tab 自动补全,但完成逻辑不会声称自己是 SQL 解析器。如果您由于某种原因而不想使用 Tab 自动补全,可以通过将以下代码放到主目录中名为 .teclarc 的文件来关闭该功能:

bind ^I

有关更多详细信息,请阅读 tecla 文档。

注意

tecla 库的 vsql 实施与 tecla 文档中所述存在如下偏差:

  • 重新调用先前键入的行

    在纯 tecla 下,所有新行会附加到历史输入行(在 GetLine 资源对象中维护)的列表中。在 vsql 中,只有不同的非空行才会附加到历史输入行的列表中。

  • 历史记录文件

    tecla 的历史记录文件没有标准名称。在 vsql 中,文件名为 ~/.vsql_hist。

  • 国际字符集(元键和区域设置)

    在 vsql 中,不再支持 8 位元字符。请通过将元字符的 EightBitInput X 资源设置为 False 来确保元字符发送转义符。可以通过以下方法之一执行此操作:

    • 通过添加以下行来编辑 ~/.Xdefaults 文件:

      XTerm*EightBitInput: False
      
    • 使用 -xrm“*EightBitInput: False”命令行参数启动 xterm。

  • 键绑定:

  • 以下键绑定特定于 vsql:

    • Insert,在插入模式(默认模式)和覆盖模式之间切换。

    • Delete,删除光标右侧的字符。

    • Home,将光标移到行的开头。

    • End,将光标移到行的结尾。

    • ^R,执行历史记录向后搜索。