題:
OS X相當於Ctrl + Left / Ctrl + Right的終端
Patrick Krecker
2010-09-16 05:45:17 UTC
view on stackexchange narkive permalink

在Windows和Linux中,我總是可以按 ctrl kbd> + ← kbd>或 ctrl kbd> + → kbd>跳過一個單詞在終端的左側或右側。在文本編輯器中,似乎⌥ kbd> + ← kbd> / → kbd>有效,但是終端沒有骰子。我搜索過Google,但發現維基百科頁面上沒有任何內容,該頁面聲稱⌥ kbd> + B kbd> / F kbd>可以完成此工作,但它所做的只是打印∫和ƒ字符到我的終端(如果我按住⇧ kbd>,則為ı和Ï)。有任何想法嗎?

七 答案:
adamrmcd
2011-10-24 23:47:11 UTC
view on stackexchange narkive permalink

這也使我發瘋,但是我不想使用終端專用的修復程序,因為我不使用終端,並且能夠通過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

我喜歡使用xxd檢查鍵盤輸入。您可以在鍵入字符時看到顯示的字符,然後在鍵入return時`xxd`會以十六進制形式發出值。
完善!正是我在尋找的東西:)從來沒有做過上面的“特定於應用程序”設置的運氣,但這確實可行!
確保您的sysprefs>鍵盤>快捷方式>exposé中沒有將control + left / right映射到“開關空間”。我沒有其他空格可打開,所以看來我的鍵盤輸入無法正常工作。
mipadi
2010-09-16 06:38:43 UTC
view on stackexchange narkive permalink

您可以使用⌥ kbd>鍵,但是必須選擇將其用作“元”鍵的選項:alt text

一旦執行此操作,⌥ kbd> + F kbd>和⌥ kbd> + B kbd>可以正常工作。

太棒了……這讓我發瘋了很長時間。謝謝。
另請檢查http://apple.stackexchange.com/q/1391/115,以了解該選項的可能“缺點”。
很酷的答案。 +1
Chris Page
2011-08-07 19:00:39 UTC
view on stackexchange narkive permalink

從Mac OS X Lion 10.7開始,終端將⌥ kbd>-← kbd> / → kbd>映射到 esc kbd> + B kbd> / F kbd>,因此,它現已內置於bash和其他使用這些emacs兼容鍵綁定的程序中。

Robert S Ciaccio
2010-12-04 12:53:15 UTC
view on stackexchange narkive permalink

如果您知道如何使用vi,還可以使用 .bash_profile 中的 set -o vi 或在命令行中的任何時間打開vi行編輯模式。 。然後,您可以在vi命令和插入模式之間切換。因此,您可以執行轉義,然後使用vi命令在行中導航:

  0 =移至行的開頭$ =移至行的末尾w =向前移一個單詞b =向後移一個單詞 

一旦到達正確的位置,就可以使用其他vi命令進入插入或追加模式,或一一刪除字符,等等。

我不知道您可以使用0作為開始行,我一直使用^
@vxjasonxv: ya,^移到第一個非空白char,0移到第一列(您可能已經註意到了,但我認為我會把它扔給其他人:P)
噢,太好了,我*還沒有*注意到!哦,伙計,^的功能(第一個非空白)總是讓我生氣。謝謝。
當然,當您確實需要`ESC ^`時它很棒,當您完全想做其他事情時,它只會令人討厭:)
Agos
2010-12-04 21:00:25 UTC
view on stackexchange narkive permalink

打開終端,轉到首選項,鍵盤。在列表上,您將找到“向右ctrl光標”和“向左ctrl光標”。
將它們分配的動作分別更改為“ \ 033f”和“ \ 033b”,就可以使用 ctrl kbd> + → kbd>和 ctrl kbd> + ← kbd>移動,而不會丟失Alt鍵。

Derek Morrison
2010-12-24 21:08:46 UTC
view on stackexchange narkive permalink

似乎默認將 esc kbd> + B kbd>和 esc kbd> + F kbd>映射到開頭和詞的結尾。雖然,對於我的系統,您不能按住 esc kbd>,但必須為每個單詞重新按下它。

Esc從來都不是修飾符,當您按下Esc鍵時,它只會進入“轉義”模式,將其視為一種模態處理方式,與shift / ctrl / meta等不同(無論如何,在Readline方案中)。
Keith Knauber
2016-07-15 23:01:37 UTC
view on stackexchange narkive permalink

最新版本的OS將此映射到Spaces。即使關閉了空格,熱鍵仍然可以在此隱藏位置中短路:

Terminal.app光標鍵:禁用系統首選項->快捷方式->任務控制->向左移動空格



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...