Como eu remapear as teclas no modo de cursor e no modo textarea no vimperator?

2

Eu uso o vimperator com meu sistema operacional configurado para um layout de teclado alternativo. É muito fácil remapear coisas no modo inserir e normal com inoremap e nnoremap no meu .vimperatorrc , mas não consigo encontrar como remapear as teclas no modo circunflexo ou no modo de área de texto. Como posso fazer isso?

    
por Gordon Gustafson 22.12.2013 / 05:56

2 respostas

1

Além disso, pode ser útil para você saber que o Pentadactyl - desenvolvimento adicional do Vimperator - permite que você remapeie as teclas nos modos caret e textarea facilmente com :map -modes caret,text-edit ou mesmo :map -modes command se você quiser os mesmos mapeamentos para normal Modos visual, circunflexo e edição de texto.

    
por 26.12.2013 / 10:53
0

EDIT : Se você quiser fazer personalizações avançadas como essa, você terá um tempo muito mais fácil se usar Pentadactyl em vez de Vimperator. Deixando isso aqui para completar.

Você precisará editar o código fonte do Vimperator, mas isso não é terrível. Veja o que você precisa fazer:

  1. encontre o arquivo xpi para o vimperator

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

    Se você tiver uma boa ferramenta de pesquisa como o Tudo ou o Spotlight no Mac, provavelmente você pode procurar por "vimperator" e procurar por arquivos com a extensão .xpi .

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

  3. Abra o arquivo zip e navegue até common/content/ . Abra o arquivo editor.js em 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 caret e o modo textarea. Altere-os para o que você quiser e salve o arquivo. Use <C-f> para mapear uma função para Control f

  5. Entre no firefox e desinstale o vimperator. Isso eliminará o antigo xpi para que você possa usar o que acabamos de editar

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

  7. Pressione Alt f no firefox, navegue até o novo xpi em sua área de trabalho e selecione aberto. O Firefox irá instalá-lo como um novo add on.

  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 deverá substituir apenas esta seção na nova versão pela versão editada da antiga.

    
por 22.12.2013 / 05:56