2

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

2 ответа2

1

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

0

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


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

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

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

    Если у вас есть хороший инструмент поиска, такой как « Все» или "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 и удалите вимператор. Это избавит от старого xpi, так что вы можете использовать тот, который мы только что отредактировали

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .