Как открыть командное окно в световом столе, находясь в редакторе?

Я использую световой стол для разработки Python. При вводе в редакторе, если я хочу открыть командное окно с помощью ctrl-space, это не работает. Мне нужно сначала нажать Alt-V, чтобы открыть окно команд из строки меню вверху. Есть ли другой способ открыть окно команд с помощью сочетания клавиш при наборе текста в редакторе?

Обратите внимание, что я активировал emacs-keybindings в световом столе.

Также обратите внимание, что Alt-V — это привязка клавиш, которая должна обрабатываться по-разному в Light Table и emacs. В то время как в редакторе световая таблица, похоже, справляется с этим, тогда как его работа в emacs (прокрутка вверх) игнорируется.

В этом смысле я действительно хотел бы спросить, как я могу обрабатывать сочетания клавиш, которые по-разному обрабатываются emacs и light table?


person Shaun    schedule 04.11.2014    source источник


Ответы (1)


Я разделял это разочарование, когда начал работать с LT. Из http://docs.lighttable.com/

Изменить привязки клавиш?

Привязки клавиш определяются в файлах .keymap в Light Table. Чтобы открыть раскладку клавиатуры пользователя, выполните команду Настройки: Раскладка пользователя. Чтобы увидеть сочетания клавиш по умолчанию, вы можете выполнить команду «Настройки: раскладка по умолчанию». Ключи привязаны на основе контекста (тега), что позволяет создавать контекстные схемы команд.

Настроить привязки клавиш

Чтобы добавить привязку клавиш в файл user.keymap, добавьте вектор в формате [:TAG "KEYBINDING" :COMMAND], например. [:editor "alt-w" :editor.watch.watch-selection]. Если команда принимает аргументы, заключите команду и ее аргументы в круглые скобки, например. [:editor "alt-(" (:paredit.select.parent "(")]. Привязки клавиш, установленные по умолчанию, можно вычесть/удалить, поставив перед клавишей префикс '-', например [:app "-ctrl-shift- д" :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)]
    ]

Обратите внимание, что на LT нет настоящего kill-ring. Я также закомментировал некоторые сочетания клавиш для default.keymap, т.к.

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

Что затеняет операцию delete по умолчанию. Вам нужно отключить плагин emacs или закомментировать ctrl-space, который затеняет переключатель командного окна, как вам нужно. Вы найдете свою локальную версию по адресу http://docs.lighttable.com/#plugins-directory

person Jaime Agudo    schedule 26.11.2014