티스토리에서 글쓰기 할 때 firefox ctrl-A 키 문제 (Changing firefox default key bindings)

Computing 2008. 10. 2. 21:36
티스토리에서 글 작성을 할 때 (물론, OSX 용 firefox 이다) 줄의 처음으로 가려면 나처럼 emacs binding 에 익숙해져 있는 사람은 ctrl-A 키를 누른다.

그런데, 알궂게도 이 키는 찾기 바의 highlight 의 단축키이다.

그래서 어떤 현상이 발생하는고 하니,
글 작성을 하다가 ctrl-A 키를 무심코 누르면 움직이라는 커서는 움직이지도 않고, 이전에 찾던 내용이 highlight 되어버리고, 글 작성하던 에디터 컨트롤(?)은 포커스를 잃어버린다.

그런데, 이게 정말 짜증나는 것이, 줄의 처음으로 가는 단축키로 cmd-VK_LEFT (왼쪽 화살표) 도 사용한다. 그런데, 이것을 티스토리로 글 작성하면서 누르면 -_-;;; back 버튼을 누른 것과 마찬가지 효과가 나서 작성을 취소할 거냐는 다이얼로그 박스가 뜨는데, 한번은 무심결에 확인을 클릭했다가 장문의 글을 날려 버리고 절망에 찬 몸부림을 치며 티스토리를 마구 욕했던 기억이 있다.

멀쩡한 티스토리를 왜 욕하냐고? 왜냐하면 cmd-VK_LEFT 가 구글의 검색 라인 같은 단순한 입력 상자에서는 잘 먹거든. back 버튼으로 동작을 안하거든. ㅡ,.ㅡ;; 물론 티스토리만 뭐라 할 건 아니지만, 그래도 이런 건 테스트를 하면서 좀 막아 둘 수 있는 문제일 텐데... -_-;;; 그렇게 하지 않았기 때문이다.

아무튼, 본론은, 이러저러해서 ctrl-A 키를 눌렀을 때 highlight all 을 끄는 방법에 대한 이야기이다.

힌트를 얻은 곳은 여기 (http://bc.tech.coop/blog/060620.html) 이다.

따라 해 보자.

$ cd /Applications/Firefox.app/Contents/MacOS/chrome/
$ unzip toolkit.jar

뭐라뭐라 하면서 압축이 풀린다.

$ gvim content/global/platformHTMLBindings.xml

파일 내용을 살펴 보면, 온통 키 바인딩이다.
자세히 보니,   <binding id="browser"> 부분에 modifier 를 control 로 하는 a 키 가 없다.
한줄 추가해 주자.

<handler event="keypress" key="a" modifiers="control"/>

여기서 다른 라인과 달리 command 를 뺀 이유는, 그냥 아무 명령어도 실행하지 않으려고 그랬다.

이제, 저장하고 빠져 나와서 디렉토리를 압축하자.

$ jar 0cvf toolkit.jar content

뭐라뭐라 그러면서 toolkit.jar 파일이 새로 만들어졌다. 만약 뭔가를 잘못 입력했는데,
백업 안해놨으면 안습 ㅜ_ㅜ

이제 해피하게 티스트토리에 글을 쓰자.
물론 아랫쪽에 찾기 바가 떠 있을 경우에는 ctrl-A 가 highlight all 로 동작한다. ( '-');;

내가 참조한 페이지에서는 비슷한 방법을 이용해서 emacs binding 을 만들어 놨다.

이 페이지에 보다 자세한 설명이 나온다 :
http://kb.mozillazine.org/Emacs_Keybindings_(Firefox)#Versions_following_1.0.5

---------------------

추가 : vi 키 바인딩을 쓰고 싶었으나 vi 키 바인딩을 해 주는 플러그인은 너무 많은 짓을 해 버려서 오히려 쓰기 불편했었다. 위에서 설명한 바와 같이 browser 섹션에 j 와 k 를 추가해 주면 간단하다 :-D

      <handler event="keypress" key="j" command="cmd_scrollLineDown" />
      <handler event="keypress" key="k" command="cmd_scrollLineUp" />

: