3

我正在使用 light table 进行 python 开发。如果我想使用 ctrl-space 打开命令窗口,在编辑器中输入时,它不起作用。我必须先按 Alt-V 从顶部的菜单栏中打开命令窗口。在编辑器中键入时,是否有另一种方法可以使用键盘快捷键打开命令窗口?

请注意,我已经在 light table 中激活了 emacs-keybindings。

另请注意,Alt-V 是一个键绑定,必须由 light table 和 emacs 以不同方式处理。虽然在编辑器中,light table 似乎正在处理它,而它在 emacs 中的操作(向上滚动)被忽略了。

从这个意义上说,我实际上想问我如何处理由 emacs 和 light table 以不同方式处理的键绑定?

4

1 回答 1

2

当我开始使用 LT 时,我分享了这种挫败感。来自http://docs.lighttable.com/

更改键绑定?

键绑定在 Light Table 的 .keymap 文件中定义。要打开用户键盘映射,请执行设置:用户键盘映射命令。要查看默认键绑定,您可以执行 Settings: Default keymap 命令。键是基于上下文(标签)绑定的,它允许您创建上下文命令方案。

配置键绑定

要将键绑定添加到 user.keymap 文件,请以 [:TAG "KEYBINDING" :COMMAND] 格式添加矢量,例如 [:editor "alt-w" :editor.watch.watch-selection]。如果命令带有参数,则将命令及其参数包装在括号中,例如 [:editor "alt-(" (:paredit.select.parent "(")]。默认设置的键绑定可以通过在带有'-'的键,例如 [:app "-ctrl-shift-d" :docs.search.show]。

考虑到emacs 插件在中间弄乱了所有这些东西。我运行 MAC OS 并且我喜欢开箱即用的大多数 emacs 键绑定,我不知道确切原因,但我不太在意,所以我最终没有真正使用emacs plugin,我只是定义了我错过的键绑定我的user.keymap

    ;; Your file has been converted to the new flat format.
    ;; Conversion does not preserve comments or indentation.
    ;; File is backed up at /Users/jaime/Library/Application Support/LightTable/User/user.keymap.bak
    [
     [:editor "ctrl-g" :goto-line]
     [:editor "ctrl-l" :lt.plugins.openurl/open-url "http://google.com"]

     [:editor "ctrl-i" :smart-indent-selection]
     [:editor "ctrl-o" :editor.doc.toggle]
     [:editor "ctrl-s" :editor.sublime.splitSelectionByLine]
     ;;  [:editor "alt-w" :editor.watch.watch-selection]
     ;;  [:editor "alt-shift-w" :editor.watch.unwatch]

     ;; ;; lt floating bars
     [:editor "ctrl-u" :toggle-comment-selection]
     [:editor "ctrl-c" :toggle-console]
     [:editor "ctrl-w" :workspace.show]


     ;; ;; emacs inheritance
     [:editor "ctrl-k" :editor.cut]
     [:editor "ctrl-y" :editor.paste]
     [:filter-list.input "ctrl-n" (:filter-list.input.move-selection 1)]
     [:filter-list.input "ctrl-p" (:filter-list.input.move-selection -1)]
    ]

kill-ring请注意, LT 上没有实数。default.keymap我还在,上注释掉了一些键绑定

;;  [:editor "ctrl-d" :editor.doc.toggle]

阴影默认delete操作,您需要禁用 emacs 插件或根据需要注释掉ctrl-space阴影命令窗口切换。您可以在 http://docs.lighttable.com/#plugins-directory找到您的本地版本

于 2014-11-26T13:03:38.083 回答