在Windows和Linux中,我總是可以按 ctrl kbd> + ← kbd>或 ctrl kbd> + → kbd>跳過一個單詞在終端的左側或右側。在文本編輯器中,似乎⌥ kbd> + ← kbd> / → kbd>有效,但是終端沒有骰子。我搜索過Google,但發現維基百科頁面上沒有任何內容,該頁面聲稱⌥ kbd> + B kbd> / F kbd>可以完成此工作,但它所做的只是打印∫和ƒ字符到我的終端(如果我按住⇧ kbd>,則為ı和Ï)。有任何想法嗎?
在Windows和Linux中,我總是可以按 ctrl kbd> + ← kbd>或 ctrl kbd> + → kbd>跳過一個單詞在終端的左側或右側。在文本編輯器中,似乎⌥ kbd> + ← kbd> / → kbd>有效,但是終端沒有骰子。我搜索過Google,但發現維基百科頁面上沒有任何內容,該頁面聲稱⌥ kbd> + B kbd> / F kbd>可以完成此工作,但它所做的只是打印∫和ƒ字符到我的終端(如果我按住⇧ kbd>,則為ı和Ï)。有任何想法嗎?
這也使我發瘋,但是我不想使用終端專用的修復程序,因為我不使用終端,並且能夠通過SSH進入OSX盒也必須使用正確的鍵綁定。
而且,就我個人而言,我並不關心前面討論的⌥ kbd>鍵;我想維護在Linux上慣用的 ctrl kbd> + ← kbd> / → kbd>組合。
這個問題,我在〜/ .profile
中添加了以下內容:
bind'“ \ e [5C”:前向單詞'bind'“ \ e [ 5D“:向後單詞'bind'” \ e [1; 5C“:前向單詞'bind'” \ e [1; 5D“:向後單詞'
請注意前兩個適用於 Terminal 中的bash;最後兩個適用於 iTerm2 和傳入ssh 連接中的bash。不要問我為什麼鍵盤仿真會有所不同;)
為了記錄下來,由於這個stackoverflow答案的提示,我能夠找到實際的鍵碼:您可以運行 cat > / dev / null
來監視在組合鍵期間發送的確切密鑰代碼。
(請注意,當我運行 cat > / dev時, / null
並按 ctrl kbd> + ← kbd>會生成 ^ [[1; 5D
。您的確切鍵值可能會不同,但第一個 ^ [
表示為 \ e
,如我的示例代碼所示。)
BTW,如果要查看所有活動的bash鍵綁定,運行 bind -p
。
您可以使用⌥ kbd>鍵,但是必須選擇將其用作“元”鍵的選項:
一旦執行此操作,⌥ kbd> + F kbd>和⌥ kbd> + B kbd>可以正常工作。
從Mac OS X Lion 10.7開始,終端將⌥ kbd>-← kbd> / → kbd>映射到 esc kbd> + B kbd> / F kbd>,因此,它現已內置於bash和其他使用這些emacs兼容鍵綁定的程序中。
如果您知道如何使用vi,還可以使用 .bash_profile
中的 set -o vi
或在命令行中的任何時間打開vi行編輯模式。 。然後,您可以在vi命令和插入模式之間切換。因此,您可以執行轉義,然後使用vi命令在行中導航:
0 =移至行的開頭$ =移至行的末尾w =向前移一個單詞b =向後移一個單詞
一旦到達正確的位置,就可以使用其他vi命令進入插入或追加模式,或一一刪除字符,等等。
打開終端,轉到首選項,鍵盤。在列表上,您將找到“向右ctrl光標”和“向左ctrl光標”。
將它們分配的動作分別更改為“ \ 033f”和“ \ 033b”,就可以使用 ctrl kbd> + → kbd>和 ctrl kbd> + ← kbd>移動,而不會丟失Alt鍵。
似乎默認將 esc kbd> + B kbd>和 esc kbd> + F kbd>映射到開頭和詞的結尾。雖然,對於我的系統,您不能按住 esc kbd>,但必須為每個單詞重新按下它。
最新版本的OS將此映射到Spaces。即使關閉了空格,熱鍵仍然可以在此隱藏位置中短路: