⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Editing

基于linenoise的命令行界面编辑器目前仅适用于macOS和Linux。

DuckDB的CLI使用了一个基于linenoise的行编辑库,该库具有基于readline的Emacs模式的快捷键。以下是可用命令的列表。

Moving

操作
Left 向后移动一个字符
Right 向前移动一个字符
Up 向上移动一行。当在第一行时,移动到上一个历史记录条目
Down 向下移动一行。当在最后一行时,移动到下一个历史记录条目
Home 移动到缓冲区的开头
End 移动到缓冲区末尾
Ctrl+Left 向后移动一个单词
Ctrl+Right 向前移动一个单词
Ctrl+A 移动到缓冲区的开头
Ctrl+B 向后移动一个字符
Ctrl+E 移动到缓冲区末尾
Ctrl+F 向前移动一个字符
Alt+Left 向后移动一个单词
Alt+Right 向前移动一个单词

历史

Key Action
Ctrl+P 移动到上一个历史记录条目
Ctrl+N 移动到下一个历史记录条目
Ctrl+R 搜索历史记录
Ctrl+S 搜索历史记录
Alt+< 移动到第一个历史记录条目
Alt+> 移动到最后一个历史记录条目
Alt+N 搜索历史记录
Alt+P 搜索历史记录

更改文本

Key Action
Backspace 删除前一个字符
Delete 删除下一个字符
Ctrl+D 删除下一个字符。当缓冲区为空时,结束编辑
Ctrl+H 删除前一个字符
Ctrl+K 删除光标后的所有内容
Ctrl+T 交换当前和下一个字符
Ctrl+U 删除所有文本
Ctrl+W 删除前一个单词
Alt+C 将下一个单词转换为标题大小写
Alt+D 删除下一个单词
Alt+L 将下一个单词转换为小写
Alt+R 删除所有文本
Alt+T 交换当前和下一个单词
Alt+U 将下一个单词转换为大写
Alt+Backspace 删除前一个单词
Alt+\ 删除光标周围的空格

完成

Key Action
Tab 自动完成。自动完成时,循环到下一个条目
Shift+Tab 自动补全时,循环到上一个条目
Esc+Esc 在自动补全时,撤销自动补全

杂项

Key Action
Enter 执行查询。如果查询不完整,在缓冲区末尾插入一个新行
Ctrl+J 执行查询。如果查询不完整,在缓冲区末尾插入一个新行
Ctrl+C 取消当前查询的编辑
Ctrl+G 取消当前查询的编辑
Ctrl+L 清屏
Ctrl+O 取消当前查询的编辑
Ctrl+X 在光标后插入新行
Ctrl+Z 暂停CLI并返回shell,使用fg重新打开

使用读取行

如果您愿意,可以使用rlwrap直接在shell中使用read-line。然后,使用Shift+Enter插入新行,并使用Enter执行查询:

rlwrap --substitute-prompt="D " duckdb -batch