JUST DO IT ~

          我只想當個程序員

          [轉(zhuǎn)帖]HOME 鍵

          [轉(zhuǎn)帖]HOME 鍵

          如何修改 Mac OS X 上的 Home End 鍵的默認行為
          2010年7月4日 由  磚家 留言 »
          Mac 有一點讓我不爽的是 Home End 鍵的行為和其他系統(tǒng)都不一樣.

          Windows/Linux 上的 Home End 鍵的行為都是跳到當前行的行首和行尾, 但 Mac 上 Home End是跳到頁首和頁尾. 這點讓我很是郁悶, 特別是使用 Terminal 的時候, 經(jīng)常需要跳到行首修改命令行, 結(jié)果習(xí)慣性的就按下 Home, 結(jié)果整個 buffer 就嗖的跳到頂端了, 無奈啊~~

          經(jīng) Google, 找到 KeyFixer 這個小軟件來解決這個問題, 為方便各位, 我把放在這里提供下載:

          點擊下載 KeyFixer

          點擊下載 KeyFixer for Firefox


          也可以到到作者博客去下載, 地址是這個: http://www.starryhope.com/tech/apple/2006/keyfixer/

          使用方法很簡單: 打開, 運行 KeyFixer 即可(它會在 ~/Library/KeyBindings 目錄下創(chuàng)建一個 DefaultKeyBinding.dict 文件, 如果該文件已經(jīng)存在, 需要先刪掉, 否則會提示修改失敗), 然后重啟你的應(yīng)用程序, 試試看 Home End 鍵的行為是不是已經(jīng)改變了? 不過該程序并不是對所有的程序都有效, 下面是作者列出的支持的列表:




          TextEdit – 支持

          TextMate – 支持

          Pages – 支持

          大部分文本編輯器 – 支持

          Safari – 支持 (僅在表單文本框中有效)

          Firefox – 不支持, 請下載 KeyFixer for Firefox 版本

          iTunes – 不支持



          安裝完畢之后, 我試了下, 發(fā)現(xiàn)… 除了這些程序之外, 我發(fā)現(xiàn)最想要的 Terminal 居然也不支持, 我擦~~~ 解決方法:



          使用 CTRL+A 和 CTRL+E 來替代 Home 和 End, 這個我不喜歡, 我超級喜歡使用 Home End 和 Delete 三個按鍵的, 呵呵

          修改 Terminal 的 KeyBindings, 具體如下:
          1. 打開 Terminal => Preferences => Keyboard,
          2. 在列表里找到 home, 雙擊編輯, 在彈出的窗口里把 Action 改成 “Send string to shell:”, 然后把光標移底下的文本框中, 按下 CTRL + A, 點 OK 確定.
          3. 在列表里找到 end, 用同樣的方法修改, 不過在文本框里按 CTRL+E, , 點 OK 確定.


          現(xiàn)在在命令行里試試看, 確認一下 Home End 鍵的行為是不是變成跳到行首和行尾了. 搞定收工.





          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          ========================= 本文開始 =============================
          在用 Macbook 做文字編輯時,因為筆電鍵盤上沒有 HOME、END、PageUp、PageDn
          等好用按鍵,所以在文件裡要移動游標時,就只能靠方向鍵來逐字移動,感覺非常冏。
          其實,OS X 上有更便捷的方法。

          mac 的文字編輯軟體有內(nèi)建 emacs 風(fēng)格的快捷鍵,但很多功能預(yù)設(shè)未啟動。如果要
          啟動,則要修改或創(chuàng)造 $HOME/Library/KeyBindings/DefaultKeyBinding.dict 檔案,
          記得要將該檔案存為純文字檔。

          推薦使用 nano 或者是 vim 等終端機底下的文字編輯軟體,即會以純文字檔來儲存。
          $ mkdir ~/Library/KeyBindings
          $ nano ~/Library/KeyBindings/DefaultKeyBinding.dict

          或是用 mac 的文字編輯(TextEdit),但是要選擇「製作純文字格式」。

          在 DefaultKeyBinding.dict 文件中,^ 代表 control 鍵,在文件中為 C;
          ~ 代表 option 鍵,在文件中為 M。另外要注意文件中的 :(冒號)和
          ;(分號)都是不可省略的。

          {
            "~f"="moveWordForward:";  /* M-f */
            "~b"="moveWordBackward:"; /* M-b */
            "~v"="pageUp:";           /* M-v */
            "^v"="pageDown:";         /* C-v */
            "~<"="moveToBeginningOfDocument:"; /* M-< */
            "~>"="moveToEndOfDocument:";       /* M-> */

            "~d"="deleteWordForward:";        /* M-d */
            "~^h"="deleteWordBackward:";      /* C-M-h */
            "^k"="deleteToEndOfLine:";        /* C-k */
            "^u"="deleteToBeginningOfLine:";  /* C-u */

            "^y"="yank:";             /* C-y */
            "^j"="insertNewline:";    /* C-j */

            "^/"="undo:";             /* C-/ */
            "^_"="undo:";             /* C-_ */
            "^g"="cancelOperation:";  /* C-g */

            "~c"="capitalizeWord:";   /* M-c */
            "~u"="uppercaseWord:";    /* M-u */
            "~l"="lowercaseWord:";    /* M-l */
            "^t"="transpose:";        /* C-t */
            "~t"="transposeWord:";    /* M-t */
            "~/"="complete:";         /* M-/ */

            /* mark point stuff */
            "^@"="setMark:";          /* C-@ */
            "^ "="setMark:";          /* C-space */
            "^w"="deleteToMark:";     /* C-w */

            "^x" = {
              "u"="undo:";            /* C-x u */
              "k"="performClose:";    /* C-x k */
              "^f"="openDocument:";   /* C-x C-f */
              "^s"="saveDocument:";   /* C-x C-s */
              "^w"="saveDocumentAs:"; /* C-x C-w */
              "^x"="swapWithMark:";   /* C-x C-x */
              "^m"="selectToMark:";   /* C-x C-m */
            };
          }

          其中 "^x" = { } 裡的代表複合快捷鍵,以 "^x" 及 "^f" 為例,先按 Ctrl + x
          再按 Ctrl + f。其他可以類推。

          檔案修改好後,先登出再重新進入,即可使用 emacs 風(fēng)格快捷鍵。要注意如果檔案
          有錯誤的話,即無法使用,這時請檢查 DefaultKeyBinding.dict 這個檔案,修改後
          再重新登出及登入。

          在 Page、Keynote 或文字編輯(TextEdit)中都可以使用 emacs 風(fēng)格快速鍵。但是
          Microsoft Word 或 PowerPoint 中則無法使用。

          設(shè)定完後,即可使用以下的 emacs 風(fēng)格快速鍵。注意其中混有少數(shù) readline 模式
          快速鍵,和標準 emacs 快速鍵略有不同,但操作後覺得順手,故如此設(shè)置。
          實際用起來,覺得移動和刪除相關(guān)快速鍵最好用,至於區(qū)塊操作則因不會反白而顯得
          不夠直覺好用,其他實用性普通,給各位參考。

          移動
          C-f: 向右移動一個字元(character)
          C-b: 向左移動一個字元
          M-f: 向右移動一個單字(word)
          M-b: 向左移動一個單字
          C-p: 向上移動一行
          C-n: 向下移動一行
          C-a: 移到行首
          C-e: 移到行尾
          C-v: 向下移動一頁
          M-v: 向上移動一頁
          M-<: 移到檔首
          M->: 移到檔尾

          刪除
          C-/: 回復(fù)一次動作(readline 模式)
          C-_: 回復(fù)一次動作
          C-x, u: 回復(fù)一次動作
          C-d: 向右刪除一個字元
          M-d: 向右刪除一個單字
          C-h: 向左刪除一個字元(readline 模式)
          C-M-h: 向左刪除一個單字(readline 模式)
          C-k: 自游標刪至行尾
          C-u: 自游標刪至行首(readline 模式)

          編輯
          C-j: 插入空白行
          C-y: 貼上刪除的內(nèi)容

          區(qū)塊操作
          C- (空白鍵): 設(shè)置區(qū)塊起始點(mark)
          C-@: 設(shè)置區(qū)塊起始點
          C-w: 刪除區(qū)塊
          C-x, C-x: 將游標位置置換到區(qū)塊尾端
          C-x, C-m: 選取區(qū)塊

          其他
          M-u: 將單字轉(zhuǎn)為大寫字母
          M-l: 將單字轉(zhuǎn)為小寫字母
          M-c: 將單字字首轉(zhuǎn)為大寫字母

          ========================= 本文結(jié)束 =============================

          如果想要再擴充或改良快速鍵,看來會牽涉到 cocca 程式設(shè)計。但實在是沒有 cocca
          程式設(shè)計的經(jīng)驗,故希望有經(jīng)驗的大大可以提供意見。

          希望這篇文章對你有用。:-)

          --

              米寶寶的倉庫
              http://mimi-repo.blogspot.com/
              linux 使用, 軟體應(yīng)用, 心情隨筆、生活雜記

              建構(gòu)中,歡迎參觀



          posted on 2015-03-21 23:11 小高 閱讀(296) 評論(0)  編輯  收藏 所屬分類: 工作環(huán)境搭建Mac OSX

          導(dǎo)航

          <2015年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關(guān)注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 民丰县| 临高县| 车险| 龙泉市| 普陀区| 兰州市| 河南省| 威宁| 桐庐县| 乐业县| 张家界市| 惠水县| 建平县| 新蔡县| 龙南县| 顺昌县| 怀仁县| 伊春市| 大兴区| 军事| 大渡口区| 长寿区| 姜堰市| 扎兰屯市| 教育| 安化县| 阜平县| 澄迈县| 彩票| 白玉县| 天祝| 上饶市| 屯昌县| 泾川县| 黑河市| 呼和浩特市| 西城区| 南平市| 玉山县| 逊克县| 海林市|