vimperator에서 캐럿 모드와 텍스트 영역 모드의 키를 어떻게 다시 매핑합니까?

vimperator에서 캐럿 모드와 텍스트 영역 모드의 키를 어떻게 다시 매핑합니까?

나는 대체 키보드 레이아웃으로 설정된 운영 체제에서 vimperator를 사용합니다. 삽입 및 일반 모드에서 inoremapnnoremapmy 를 사용하여 항목을 다시 매핑하는 것은 매우 쉽지만 .vimperatorrc캐럿 모드나 텍스트 영역 모드에서 키를 다시 매핑하는 방법을 찾을 수 없습니다. 어떻게 해야 하나요?

답변1

또한 Vimperator의 추가 개발인 Pentadactyl을 사용 하면 일반, 시각적, 캐럿 및 텍스트 편집 모드에 대해 동일한 매핑을 원하는 경우에도 :map -modes caret,text-edit쉽게 캐럿 및 텍스트 영역 모드의 키를 다시 매핑할 수 있다는 점을 알아두면 유용할 수 있습니다 .:map -modes command

답변2

편집하다: 이와 같은 고급 사용자 정의를 수행하려면많이당신이 사용하면 더 쉬운 시간펜타닥틸빔퍼레이터 대신. 완전성을 위해 여기에 남겨 둡니다.


Vimperator 자체의 소스 코드를 편집해야 하지만 실제로는 끔찍하지 않습니다. 수행해야 할 작업은 다음과 같습니다.

  1. vimperator용 xpi 파일 찾기

    Firefox는 확장 기능에 대한 코드를 .xpi파일에 저장합니다. 이 파일은 기본적으로 추가 기능에 대한 코드가 포함된 zip 파일입니다. vimperator xpi를 찾는 가장 쉬운 방법은 초소형 추가 기능을 설치하는 것입니다.프로필 폴더 열기을 누르고 alt t도구 메뉴를 열고 "프로필 폴더 열기"를 선택한 다음 하위 디렉터리로 이동합니다 extensions. 여기에서 모든 애드온에 대한 xpi 파일을 찾을 수 있습니다. 이름에 "vimperator"가 있는 것을 찾으세요. 나에게는 [email protected].

    다음과 같은 좋은 검색 도구가 있다면모든 것또는 Mac의 Spotlight에서는 "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가 제거되므로 방금 편집한 xpi를 사용할 수 있습니다.

  6. zip 파일의 확장자를 다시 xpi로 변경하세요.

  7. Firefox를 누르고 Alt f바탕 화면에서 새 xpi로 이동한 다음 열기를 선택합니다. Firefox는 이를 새로운 추가 기능으로 설치합니다.

  8. Firefox를 다시 시작하고 새로운 바인딩을 즐겨보세요!

한 가지 문제는 vimperator를 업데이트하는 경우 새 xpi로 이 작업을 다시 수행해야 하지만 새 버전의 이 섹션을 이전 버전의 편집된 버전으로 교체하면 된다는 것입니다.

관련 정보