JUST DO IT ~

我只想当个程序员

[转帖]HOME 键

[转帖]HOME 键

如何修改 Mac OS X 上的 Home End 键的默认行为
2010年7月4日 由  砖家 留言 »
Mac 有一点让我不爽的是 Home End 键的行为和其他系统都不一样.

Windows/Linux 上的 Home End 键的行为都是跳到当前行的行首和行尾, 但 Mac 上 Home End是跳到页首和页尾. 这点让我很是郁闷, 特别是使用 Terminal 的时候, 经常需要跳到行首修改命令行, 结果习惯性的就按下 Home, 结果整个 buffer 就嗖的跳到顶端了, 无奈啊~~

经 Google, 找到 KeyFixer 这个小软件来解决这个问题, 为方便各位, 我把放在这里提供下载:

点击下载 KeyFixer

点击下载 KeyFixer for Firefox


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

使用方法很简单: 打开, 运行 KeyFixer 即可(它会在 ~/Library/KeyBindings 目录下创建一个 DefaultKeyBinding.dict 文件, 如果该文件已经存在, 需要先删掉, 否则会提示修改失败), 然后重启你的应用程序, 试试看 Home End 键的行为是不是已经改变了? 不过该程序并不是对所有的程序都有效, 下面是作者列出的支持的列表:




TextEdit – 支持

TextMate – 支持

Pages – 支持

大部分文本编辑器 – 支持

Safari – 支持 (仅在表单文本框中有效)

Firefox – 不支持, 请下载 KeyFixer for Firefox 版本

iTunes – 不支持



安装完毕之后, 我试了下, 发现… 除了这些程序之外, 我发现最想要的 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 确定.


现在在命令行里试试看, 确认一下 Home End 键的行为是不是变成跳到行首和行尾了. 搞定收工.





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

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

mac 的文字編輯軟體有內建 emacs 風格的快捷鍵,但很多功能預設未啟動。如果要
啟動,則要修改或創造 $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 風格快捷鍵。要注意如果檔案
有錯誤的話,即無法使用,這時請檢查 DefaultKeyBinding.dict 這個檔案,修改後
再重新登出及登入。

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

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

移動
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-/: 回復一次動作(readline 模式)
C-_: 回復一次動作
C-x, u: 回復一次動作
C-d: 向右刪除一個字元
M-d: 向右刪除一個單字
C-h: 向左刪除一個字元(readline 模式)
C-M-h: 向左刪除一個單字(readline 模式)
C-k: 自游標刪至行尾
C-u: 自游標刪至行首(readline 模式)

編輯
C-j: 插入空白行
C-y: 貼上刪除的內容

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

其他
M-u: 將單字轉為大寫字母
M-l: 將單字轉為小寫字母
M-c: 將單字字首轉為大寫字母

========================= 本文結束 =============================

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

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

--

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

    建構中,歡迎參觀



posted on 2015-03-21 23:11 小高 阅读(271) 评论(0)  编辑  收藏 所属分类: 工作环境搭建Mac OSX


只有注册用户登录后才能发表评论。


网站导航:
 

导航

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

统计

常用链接

留言簿(3)

随笔分类(352)

收藏夹(19)

关注的blog

手册

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜