Como faço para remapear chaves no modo circunflexo e no modo textarea no vimperator?

Como faço para remapear chaves no modo circunflexo e no modo textarea no vimperator?

Eu uso o vimperator com meu sistema operacional configurado para um layout de teclado alternativo. É muito fácil remapear coisas no modo de inserção e normal com inoremape nnoremapno meu .vimperatorrc, mas não consigo descobrir como remapear chaves no modo circunflexo ou no modo textarea. Como posso fazer isso?

Responder1

Além disso, pode ser útil saber que Pentadactyl – desenvolvimento adicional do Vimperator – permite remapear chaves nos modos circunflexo e área de texto facilmente com :map -modes caret,text-editou mesmo :map -modes commandse você quiser os mesmos mapeamentos para os modos normal, visual, circunflexo e edição de texto.

Responder2

EDITAR: Se quiser fazer personalizações avançadas como esta, você terá ummuitoé mais fácil se você usarPentadáctiloem vez de Vimperator. Deixando isso aqui para completar.


Você precisará editar o código-fonte do próprio Vimperator, mas isso realmente não é terrível. Aqui está o que você precisa fazer:

  1. encontre o arquivo xpi para vimperator

    O Firefox armazena o código de suas extensões em .xpiarquivos, que são basicamente arquivos zip contendo o código do complemento. A maneira mais fácil de encontrar o vimperator xpi é instalando o complemento super-minúsculoabrir pasta de perfil, pressione alt tpara abrir o menu de ferramentas, escolha "abrir pasta de perfil" e navegue até o subdiretório extensions. Aqui você encontrará os arquivos xpi de todos os seus complementos; procure aquele com “vimperator” no nome. Para mim, é [email protected].

    Se você tiver uma boa ferramenta de pesquisa comoTudoou Spotlight no Mac, você provavelmente pode simplesmente pesquisar por “vimperator” e procurar arquivos com a .xpiextensão.

  2. Copie o arquivo xpi para sua área de trabalho e altere a extensão de .xpipara.zip

  3. Abra o arquivo zip e navegue até common/content/. Abra o arquivo editor.jsem um editor de texto

  4. Procure por "addMovementMap"

    Você deve encontrar algo assim:

    //             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" );
    

    As letras entre aspas são os mapeamentos para o modo circunflexo e modo textarea. Altere-os para o que quiser e salve o arquivo. Use <C-f>para mapear uma função paraControl f

  5. Entre no Firefox e desinstale o Vimperator. Isso eliminará o XPI antigo para que você possa usar aquele que acabamos de editar

  6. Altere a extensão do arquivo zip de volta para xpi

  7. Pressione Alt fno Firefox, navegue até o novo xpi na sua área de trabalho e selecione abrir. O Firefox irá instalá-lo como um novo complemento.

  8. Reinicie o Firefox e aproveite as novas ligações!

Um problema é que, se você atualizar o vimperator, precisará fazer isso novamente com o novo xpi, mas poderá substituir esta seção na nova versão pela versão editada da antiga.

informação relacionada