Как переназначить клавиши в режиме курсора и режиме текстовой области в vimperator?

Как переназначить клавиши в режиме курсора и режиме текстовой области в vimperator?

Я использую vimperator, когда моя операционная система настроена на альтернативную раскладку клавиатуры. Довольно легко переназначить вещи в режиме вставки и нормальном режиме с помощью inoremapи nnoremapв моем .vimperatorrc, но я не могу найти, как переназначить клавиши в режиме курсора или режиме текстовой области. Как это сделать?

решение1

Также вам может быть полезно знать, что Pentadactyl — дальнейшее развитие Vimperator — позволяет вам легко переназначать клавиши в режимах курсора и текстовой области, :map -modes caret,text-editили даже :map -modes commandесли вы хотите, чтобы те же самые сопоставления были для обычного, визуального режимов, режимов курсора и редактирования текста.

решение2

РЕДАКТИРОВАТЬ: Если вы хотите выполнить расширенные настройки, как эта, у вас будетмноголегче время, если вы используетеПятипалыйвместо Vimperator. Оставлю это здесь для полноты картины.


Вам нужно будет отредактировать исходный код самого Vimperator, но это на самом деле не так уж и страшно. Вот что вам нужно сделать:

  1. найдите xpi-файл для vimperator

    Firefox хранит код своих расширений в .xpiфайлах, которые по сути являются zip-файлами, содержащими код дополнения. Самый простой способ найти vimperator xpi — установить супер-маленькое дополнениеоткрыть папку профиля, нажмите, alt tчтобы открыть меню инструментов, выберите "открыть папку профиля" и перейдите в подкаталог extensions. Здесь вы найдете файлы xpi для всех ваших дополнений; найдите тот, в названии которого есть "vimperator". Для меня это [email protected].

    Если у вас есть хороший инструмент поиска, напримерВсеили Spotlight на Mac, вы, вероятно, можете просто ввести в поиск «vimperator» и найти файлы с этим .xpiрасширением.

  2. Скопируйте файл xpi на рабочий стол и измените расширение с .xpiна.zip

  3. Откройте zip-архив и перейдите к common/content/. Откройте файл editor.jsв текстовом редакторе .

  4. Поиск "addMovementMap"

    Вы должны найти что-то вроде этого:

    //             KEYS                          COUNT  CARET                   TEXTAREA            VISUAL_TEXTAREA
    addMovementMap(["k", "<Up>"],                true,  "lineMove", false,      "cmd_linePrevious", selectPreviousLine);
    addMovementMap(["j", "<Down>", "<Return>"],  true,  "lineMove", true,       "cmd_lineNext",     selectNextLine);
    addMovementMap(["h", "<Left>", "<BS>"],      true,  "characterMove", false, "cmd_charPrevious", "cmd_selectCharPrevious");
    addMovementMap(["l", "<Right>", "<Space>"],  true,  "characterMove", true,  "cmd_charNext",     "cmd_selectCharNext");
    addMovementMap(["b", "B", "<C-Left>"],       true,  "wordMove", false,      "cmd_wordPrevious", "cmd_selectWordPrevious");
    addMovementMap(["w", "W", "e", "<C-Right>"], true,  "wordMove", true,       "cmd_wordNext",     "cmd_selectWordNext");
    addMovementMap(["<C-f>", "<PageDown>"],      true,  "pageMove", true,       "cmd_movePageDown", "cmd_selectNextPage");
    addMovementMap(["<C-b>", "<PageUp>"],        true,  "pageMove", false,      "cmd_movePageUp",   "cmd_selectPreviousPage");
    addMovementMap(["gg", "<C-Home>"],           false, "completeMove", false,  "cmd_moveTop",      "cmd_selectTop");
    addMovementMap(["G", "<C-End>"],             false, "completeMove", true,   "cmd_moveBottom",   "cmd_selectBottom");
    addMovementMap(["0", "^", "<Home>"],         false, "intraLineMove", false, "cmd_beginLine",    "cmd_selectBeginLine");
    addMovementMap(["$", "<End>"],               false, "intraLineMove", true,  "cmd_endLine" ,     "cmd_selectEndLine" );
    

    Буквы в кавычках — это сопоставления для режима курсора и режима текстовой области. Измените их на любые нужные вам и сохраните файл. Используйте <C-f>для сопоставления функции сControl f

  5. Зайдите в firefox и удалите vimperator. Это избавит вас от старого xpi, так что вы сможете использовать тот, который мы только что отредактировали

  6. Измените расширение zip-файла обратно на xpi.

  7. Нажмите Alt fв Firefox, перейдите к новому xpi на рабочем столе и выберите «Открыть». Firefox установит его как новое дополнение.

  8. Перезапустите Firefox и наслаждайтесь новыми привязками!

Одна из проблем заключается в том, что если вы обновите vimperator, вам придется сделать это снова с новым xpi, но вы должны иметь возможность просто заменить этот раздел в новой версии на отредактированную версию из старой.

Связанный контент