q KDB
Sublime Text 的 q/kdb 插件
详细信息
安装次数
- 总计 2K
- Win 854
- Mac 418
- Linux 266
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
说明文档
q REPL for Sublime Text 3
连接到远程 q 会话并在 Sublime Text 中执行 q 语句
Cmd + alt + q
选择/添加/修改您的 q 连接Cmd + Enter
将当前行或选中文本块发送到选定的 q 会话,并在输出面板显示结果Cmd + Shift + Enter
发送上述命令,但结果将在 Phantom 中显示Cmd + e
与上述相同,但结果将在弹窗中显示Cmd + j
与上述相同,但以 json 格式获取结果(需要 kdb 3.x/4.x 的 .j.j 文件)- 使用
Cmd + alt + r
运行自定义例程 - 3 种结果模式:输出面板、内联弹窗 和 Phantom(内联块)
- 语法高亮(由 atf1206 https://github.com/atf1206/q-kdb-syntax 提供,基于 kimtang 的 https://github.com/kimtang/sublime-q)
- 状态栏显示行数、列数、时间、内存使用情况
- 语法自动完成
- 在 HTML/JS 中绘制表格数据(类似于 Kdb+ 的 Studio - 做了少量自定义)
(Windows 上将 Cmd 替换为 Ctrl)
快捷键
F1
在光标处打开帮助F2
打印光标处的变量Shift + F2
浏览光标处的表格变量F3
显示光标处的类型F4
在浏览器中显示最新数据shift + F4
使用 datatable js 在浏览器中显示最新数据F5
显示环境shift + F5
显示内存使用情况F6
显示表和列名
(按住 Shift 使用内联弹窗显示输出,而不是输出面板)
安装
通过包管理器 https://packagecontrol.sublime.net.cn/packages/q%20KDB
特性
图表
快捷键 F4
可以从最新的 REPL 结果绘制 html/js 图表(用法类似于 Studio for Kdb+ - 做了少量图表自定义)。见 js/canvasjs/example.q
/default is line chart
lineData: ([] ts: 2019.01.01D00:00 + 1D * til 10; price: 10000 + 10?100)
/multiple series - 1 column per series
multilineData: ([] ts: 2019.01.01D00:00 + 1D * til 10; price: 10?100; price2: 10?200)
/change to column chart if first column type is symbol
colData: ([] sym: `a`b`c`d`e`f`g`h`i`j`k`l; volume: 12#100 200 300)
/you can also have multiple series for column chart
multicolData: ([] sym: `a`b`c`d`e`f`g`h`i`j`k`l; volume: 12#100 200 300; volume2: 12#400 330 210)
/use candlestick automatically if column name contains open, high, low, close. with optional volume column
ohlcvData: ([] date: 2019.01.01 + til 5; high: 105 99 150 120 180; low: 99 84 110 110 150; close: 102 99 105 120 180; open: 100 90 110 120 140; volume: 10000 15000 9000 12000 11000)
/multiple series - if second column type is symbol
multiSymData: ([] date: 6#(2019.01.01 + til 3); sym: raze 3#'`a`b; price: 100 + 6?100)
/auto generate 2nd axis if range is more than 50 times different
needAxis2Data: ([] time: "z"$2019.01.01 + til 3; a: 3?100; b: 3?1000; c: 3?100; d: 3?100000)
/can also plot list or dict directly
10?100
(`a`b`c)!(100; 120; 130)
/override option by adding chart hints
/s - change type to scatter by prefixing s: to column name
`ts`s:a`s:b xcol pointData: ([] ts: 100 * til 3; a: 3?100; b: 3?1000)
/y2 - specify 2nd axis by prefixing y2: to column name
`time`a`y2:b xcol ([] time: 2019.01.01 + til 3; a: 3?100; b: 3?1000)
/bu - bubble chart will use next column as bubble size
`time`bu:a xcol ([] time: 2019.01.01 + til 3; a: 3?100; b: 3?1000)
输出
从q查询中显示结果,共有3种输出方式: * Cmd + Enter
输出面板 - 我大多数情况下使用这个 * Cmd + Shift + Enter
行内虚影 - 当需要一些参考数据时使用此功能 * Cmd + e
遮罩弹窗 - 我不太经常使用这个
附加:快捷键 Shift + F2
可让您浏览光标处的表格变量(利用 .h.jx
)
自定义程序
定义您自己的自定义程序。快捷键 Cmd + alt + r
会导致显示自定义程序选项。例如
"routines": [
{
"name": "show",
"description": "show variable at cursor",
"command": {"qstatement": ".Q.s {0}", "output": "q_out_panel"}
}
]
其中 {0}
是光标处的变量名。您也可以通过引用程序名来定义快捷键
{ "keys": ["f2"], "command": "q_routine", "args": {"name": "show"}, "context":[{ "key": "selector", "operator": "equal", "operand": "source.q" }]},
更多示例,请参见 settings/sublime-q.sublime-settings
请随时提出任何反馈、错误或功能请求的反馈。
贡献
将此git仓库克隆到您的 Sublime Text 3/Packages
目录中。注意:您可能需要更改目录到 q KDB
- Windows:
C:\Users\[username]\AppData\Roaming\Sublime Text 3\Packages
- OS X:
~/Library/Application Support/Sublime Text 3/Packages
git clone https://github.com/komsit37/sublime-q.git 'q KDB'
从Sublime Text运行包控制:满足依赖关系(您可能需要首先在Sublime Text中打开包文件夹)。这将把numpy作为依赖包安装到您的包文件夹中
支持的操作系统
- osx_x64
- windows_x64
- linux_x64
不支持的操作系统
通过添加合适的numpy 1.8构建版本,支持可能扩展到python 3.3(参见 https://github.com/komsit37/sublime-q/issues/12)。如果您可以构建以下任何一个,请发送PR: * osx_x32 * windows_x32 * linux_x32
此插件适用于Sublime Text 3。对于Sublime Text 2,请使用 https://github.com/komsit37/sublime-q-2
构建numpy
包含的numpy版本应该适用于osx和windows 64位,但如果您需要构建numpy
- 下载python 3.3
- 下载 http://sourceforge.net/projects/numpy/files/NumPy/1.8.1/
- 执行
python3.3 setup.py install
- numpy将被安装到您的默认python库中
- 然后按照这里的步骤操作 https://github.com/komsit37/sublime-q/issues/12