ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

q KDB

作者: komsit37 ST3

Sublime Text 的 q/kdb 插件

详细信息

  • 1.4.0
  • github.​com
  • github.​com
  • 9个月前
  • 25分钟前
  • 8年前

安装次数

  • 总计 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

说明文档

源代码
raw.​githubusercontent.​com

q REPL for Sublime Text 3

连接到远程 q 会话并在 Sublime Text 中执行 q 语句

Image of screenshot

  • 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

错误: “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

  1. 下载python 3.3
  2. 下载 http://sourceforge.net/projects/numpy/files/NumPy/1.8.1/
  3. 执行 python3.3 setup.py install
  4. numpy将被安装到您的默认python库中
  5. 然后按照这里的步骤操作 https://github.com/komsit37/sublime-q/issues/12