題:
iTerm-向後移動一個詞
syntagma
2014-11-02 15:19:38 UTC
view on stackexchange narkive permalink

是否可以將iTerm 2配置為使用鍵盤快捷鍵在命令行中的當前文本中前進和後退一個單詞?

這並不能真正回答問題,但很重要:您可以在命令行中的任意位置單擊Option +單擊以將光標移到該位置。
@P-i-為什麼您認為接受的答案不是正確的答案?1.在票數最高的那一刻之前出現了將近三年。2.它提供了默認情況下不起作用的解決方案。
@P-i-您只能在問題本身有問題時才對問題進行投票,而不是因為您不同意OP的操作
九 答案:
Ricardo Stuven
2017-08-03 18:50:36 UTC
view on stackexchange narkive permalink

用大砲殺死蒼蠅:

  • 轉到Preferences ... > Profiles> Keys(不是首選項...>鍵)
  • Presets ...
  • 選擇N自然文本編輯

然後,您可以使用 Option⌥ kbd> + ← kbd>向後移動單詞,並使用 Option⌥ kbd> + → kbd>,使用 fn kbd> + ← kbd>移至行首,並使用 fn kbd> + →移至行尾 kbd>。您也可以使用 Option⌥ kbd> + ⌫ kbd>向後刪除單詞,使用 Command⌘ kbd> + ⌫ kbd>刪除整行

如果沒有出現預設,請重新安裝iTerm2。如果您使用Homebrew + Cask安裝它:

  brew cask重新安裝iterm2
 
這應該是公認的答案!
這對我不起作用。參數:iTerm2 3.1.2,macOS 10.12.6,德語鍵盤。我並不孤單...
這很棒,可以滿足您的大部分需求。但是,它不會添加“通過CMD +左箭頭/右箭頭轉到行的開始/結束”。有關該操作,請參見:https://stackoverflow.com/questions/6205157/iterm-2-how-to-set-keyboard-shortcuts-to-jump-to-beginning-end-of-line
看到這個答案後,我的生活發生了變化。我與妻子離婚,現在和一位超模在蘭博。
..我遇到錯誤,不得不使用“ brew cask install iterm2 --force”-但這沒有使預設出現。
請注意,這是“首選項”>“配置文件**”>“鍵”>“加載預設”,而不是“首選項”>“鍵”>“加載首選項”
@kevin好的通知。這樣可能會造成混淆。
噢,天哪。我以前每次都看這個,非常感謝!
您挽救了我5分鐘的生命。
唯一的問題是說您必須ssh到遠程設備中,您需要了解標準的終端快捷方式。我剛剛發現這是可能的,就像“為什麼我一直用手指按`ctrl + w`來退格一個單詞,但經過一番思考,也許可以很好地保留標準手指的肌肉記憶。
@DragosRizescu我應用了此答案,效果很好,但我仍在等待並尋找其餘的內容。
@syntagma,這似乎是對您的問題的更好回答,並且還有很多其他支持。您是否考慮將其標記為可接受的答案?
這是一個更好的答案,但是我有一個副作用:現在,`CMD +箭頭鍵`將光標移動到行的開始/結尾(類似於“ Option +箭頭鍵”),而不是在iterm選項卡之間導航。
不錯的一個,感謝您對預設的提醒,可以與其他組合完美搭配
這個答案救了我一命。
不是首選項...>鍵 這節省了我的一天:P
David Winiecki
2015-09-08 09:39:30 UTC
view on stackexchange narkive permalink

我喜歡以下設置。

  1. 首選項>鍵(或“首選項”>配置文件>鍵)
  2. 單擊加號。
  3. ol>

    前移一個單詞

      option +右移轉義序列f  

    後移一個單詞

      option +左發送轉義序列b  

    刪除單詞的開頭 credit

      option +刪除十六進制代碼0x1B 0x08  

    刪除至單詞結尾

      fn + option +刪除轉義序列 

    (我不確定,但是我想我從下面的jherran答案中復制了這個答案,並添加了更多內容。我應該在註釋中添加其他信息或對該答案的建議修改。我不知道如何改善這種情況,但現在知道了。)

在MacOS 10.12上,我需要使用十六進制代碼0x17才能刪除單詞開頭
在macOS 10.12和zsh上可像超級按鈕一樣工作
最好的答案,如果你喝過我的啤酒:)
考慮提高jherran的答案。我認為我對他們的答案做了一些改進,可能應該建議修改而不是創建自己的答案。我覺得自己偷了。
參考[this](http://www.kbdedit.com/manual/low_level_vk_list.html):要執行Esc-b,我必鬚髮送“ 0x1b 0x42”,對於Esc-f,我必鬚髮送`0x1b 0x46`:D
@Meredith,您可以選擇“發送十六進制”並在其前面放置“ 0x1b”(與“ Esc”相對應),也可以選擇“發送轉義”,其會自動添加“ Esc”
我必須做前兩個,但默認情況下已經設置了後兩個。謝謝!
要刪除到字尾,代碼“ d”從何而來?
嘗試按“ ESC”,然後按“ d”,並在光標後鍵入一些可編輯的文本。光標後的所有文本都應刪除,直到遇到空格為止。請閱讀https://www.gnu.org/software/bash/manual/html_node/Introduction-and-Notation.html#Introduction-and-Notation和https://www.gnu.org/software/bash/manual/html_node / Readline-Killing-Commands.html#Readline-Killing-Commands
為什麼0x1B 0x08(轉義退格鍵)按預期工作?在哪裡可以重新定義單詞邊界?
要回答第一個問題,如果您閱讀了我最後一條評論中的兩個鏈接,則可以了解到按下並釋放ESC,然後按下退格鍵,將被標記為M-DEL,並且M-DEL將“殺死光標[to]當前單詞的開頭,或者,如果在單詞之間,則指向前一個單詞的開頭。”該行為內置於readline中,即bash使用的庫。我無法快速找到您的第二個問題的答案。
非常感謝更新OS X的魅力。
我按照建議創建了快捷方式,但是起初它們不起作用,因為它們被我的個人資料中的鍵盤快捷方式覆蓋(請參閱個人資料菜單)。刪除個人資料中的各個條目似乎已經成功了。
Volsk
2014-11-02 15:28:46 UTC
view on stackexchange narkive permalink

Ctrl- [b 跳回一個單詞。您還可以改用 Esc Ctrl-[ f 前進。

按住Ctrl + [,然後按 b f 。或 Esc b f

更多信息可以在關於AskDifferent的其他討論中找到。

如果有一種方法可以在按住按鈕的同時快速返回大量單詞,而不是必須為每個單詞鍵入一系列按鍵,則更好。
什麼是“ Ctrl- [”?
“ Ctrl- [”是指同時按下“ Ctrl”鍵和“ [”鍵。
里卡多·斯圖文(Ricardo Stuven)的以下答案是正確的答案
是的,請訪問下一個答案,而不是通過的答案。
jherran
2014-11-02 15:31:41 UTC
view on stackexchange narkive permalink

要前進(Alt-f),向後(Alt-b)和刪除(Alt-d)單詞

  1. 打開iTerm。
  2. 轉到iTerm >首選項... >配置文件>鍵
  3. 在“配置快捷鍵”下,單擊+號。
  4. 鍵入您的鍵快捷鍵(選項-b,選項-f,選項-d,選項-left等)
  5. 對於“操作”,選擇“發送轉義序列”。
  6. 在輸入字段中寫入b,d或f。
  7. ol>

    這至少對bash有效。對於zsh,有其他方法進行導航。

我嘗試添加選項+快捷鍵並收到有關衝突的警告消息,因為我沒有意識到您可以在“首選項”>“鍵”>“全局快捷鍵”以及“首選項”>“配置文件”>“鍵”>“配置文件快捷鍵”中都配置鍵。在默認配置文件中配置它起作用。
它也適用於zsh!
我認為您的答案(針對同一解決方案)是最容易理解的+1
非常有用的解釋。
完善。您也可以使用Command + F等,以便“ Alt”鍵位於同一位置,並且在PC和Mac之間切換時無需進行任何調整。
你可能救了我的理智。
bdanin
2016-12-08 07:05:52 UTC
view on stackexchange narkive permalink

類似於其他答案,但是對於Zsh,我花了一些時間才找到它:

如果您正在iTerm中使用“噢,我的Zsh”之類的Zsh,請轉到:首選項> Profiles>密鑰子菜單

點擊+標記

添加快捷方式組合,選擇“發送轉義序列”

下面的左右輸入。

左:

  [1; 5D
 

右:

  [1; 5C
 
你救了我一命
這是唯一對我有用的解決方案
最後,一個可行的簡單解決方案:D感謝您與我們分享!
這應該是答案。已投票。
謝謝,伙計,這是IMO最好的方式。
sebnukem
2017-11-23 08:46:39 UTC
view on stackexchange narkive permalink

您可以使用 set -o vi 將終端設置為vi模式,以便能夠使用通常的vi運動命令(在 .bash_profile 中添加該行以存儲永久設置。)

因此,就像在vi中一樣,您可以按 Esc ,然後按 b 將一個單詞向後移動( w 向前),到 0 到行的開頭,或者使用 F +字符向後搜索一個字符。

i 返回正常模式並插入。

熟悉vi的人可以做的更多。可以在此處找到備忘單

vim解決一切!:D
比起Ctrl-a,先按一次Esc再按一次I會比按Ctrl-a方便得多-這種用例經常發生在您只想修改命令名稱時。所以我在vi模式下使用iTerm2中的一些鍵綁定更改來映射Ctrl-A並類似於轉義序列Esc + 0。這樣,在編輯模式下結束時,這些情況甚至更快。
yosefrow
2019-05-06 12:20:50 UTC
view on stackexchange narkive permalink

enter image description here

打開首選項

配置向左(和/或)向右選項鍵以發送Esc +

如果您弄亂了預設,則可能需要加載默認預設(請注意,這可能會擦掉您的自定義按鍵!)

enter image description here

如果執行此操作後看到奇怪的字符,則可能需要配置〜/ .inputrc或/ etc / inputrc

將此添加到您的〜/ .inputrc:

 “ \ e [1; 5C”:前向單詞
“ \ e [1; 5D”:向後字
“ \ e [5C”:前向字
“ \ e [5D”:向後字
“ \ e \ e [C”:轉發字
“ \ e \ e [D”:向後字
 

完整的示例inputrc:

 #/ etc / inputrc-libreadline的全局inputrc
#有關更多信息,請參見readline(3readline)和`info rluserman'。

#8位乾淨。
設置輸入元
設置輸出元

#為了允許使用8位字符(例如德國變音符),請勿添加註釋
#下面的行。但是,這會使元密鑰不能用作元密鑰,
#討厭那些不需要輸入8位字符的人。

#設置convert-meta關閉

#嘗試在調用應用程序鍵盤時啟用它。一些系統
#需要啟用箭頭鍵。
#啟用鍵盤

#參見/usr/share/doc/bash/inputrc.arrows以獲取其他箭頭鍵代碼

#不要按Tab結束
#設置響鈴樣式無
#設置響鈴樣式可見

#一些emacs模式的默認值/修改
$ if模式= emacs

#允許使用Home / End鍵
“ \ e [1〜”:行首
“ \ e [4〜”:行尾

#允許使用Delete / Insert鍵
“ \ e [3〜”:刪除字符
“ \ e [2〜”:用引號插入

#對應“向上翻頁”和“向下翻頁”以開始/結束的映射
歷史數
#“ \ e [5〜”:歷史的開始
#“ \ e [6〜”:歷史結束

#“向上翻頁”和“向下翻頁”的備用映射以搜索歷史記錄
#“ \ e [5〜”:向後搜索歷史
#“ \ e [6〜”:歷史搜索

#Ctrl-左箭頭和Ctrl-右箭頭的映射用於單詞移動
“ \ e [1; 5C”:轉發字
“ \ e [1; 5D”:向後字
“ \ e [5C”:前向字
“ \ e [5D”:向後字
“ \ e \ e [C”:轉發字
“ \ e \ e [D”:向後字
$ if term = rxvt
“ \ e [7〜”:行首
“ \ e [8〜”:行尾
“ \ eOc”:轉發字
“ \ eOd”:向後字
$ endif

#適用於非RH / Debian xterm,不會對RH / Debian xterm造成傷害
#“ \ eOH”:行首
#“ \ eOF”:行尾

#用於freebsd控制台
#“ \ e [H”:行首
#“ \ e [F”:行尾

$ endif
 
太好了。
沒問題!很高興它有幫助:)
Clement
2020-07-21 23:39:34 UTC
view on stackexchange narkive permalink

在內部版本 3.3.12 中,您可以選擇自然文本編輯預設,它將添加所有必需的轉義符,以使您彷彿在瀏覽文本一樣任何其他應用。

enter image description here

Fate.AKong
2018-02-23 00:30:37 UTC
view on stackexchange narkive permalink

使用iTerm2 3.1.4,我可以設置以下內容而無需添加單獨的鍵映射。

  1. 轉到P參考>配置文件> Keys
  2. 左/右⌥鍵:選擇Esc +
  3. ol>

    有了新的終端會話,您現在可以使用:

    選項⌥ kbd> + f kbd>前進

    選項⌥ kbd> + b kbd>前進

    選項⌥ kbd> + 刪除⌫ kbd>刪除單詞

這與其他獲得高度投票的答案有何不同?https://apple.stackexchange.com/a/293988/237


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