开发者

Moving a word forward in z shell

开发者 https://www.devze.com 2022-12-19 03:23 出处:网络
In zshell how to move forward w开发者_StackOverflow社区ord, I can set -o vi and use vi format. Is there a way to move forward in zshell by a wordIf you\'re using iTerm2 on OSX, you can use the Natural

In zshell how to move forward w开发者_StackOverflow社区ord, I can set -o vi and use vi format. Is there a way to move forward in zshell by a word


If you're using iTerm2 on OSX, you can use the Natural Text Editing preset under Preferences -> Profile -> Keys.

Moving a word forward in z shell

This supports these key combos (which are very similar to other editors):

  • alt/option + left = move left one word
  • alt/option + right = move right one word


The ZLE widget for moving forward by one word is forward-word. Therefore, you may use bindkey to bind this widget to any key you want.

For example,

$> bindkey ^O forward-word

would allow you to move forward by one word when pressing Ctrl-O. Note that ^O is actually a quoted insert of Control followed by O.


Your zsh command prompt works either like emacs or like vi. If it works like vi, put it in command mode (esc) and type w. If it works like emacs, use M-f.

More information available at man zshzle.


Similar to other answers, but for Zsh on iTerm it took me a while to find this:

If you are using Zsh, like Oh My Zsh, in iTerm then go to: Preferences > Profiles > Keys sub-menu

Click + sign

Add your shortcut combo, choose "Send Escape Sequence"

inputs for left and right below.

left:

[1;5D

right:

[1;5C


  • forward word [Meta]+[f]
  • backward word [Meta]+[b]

On macOS, [option]+[→] and [option]+[←] work too.


In my zsh terminal it was already set to the below using bindkey

"^[f" forward-word 
"^[b" backward-word

I was not sure how to use this, read on Apple Forum's, this is basically

^+[ release it then press f or press esc release it then press f

Similarly for backward,

^+[ release it then press b or press esc release it then press b

0

精彩评论

暂无评论...
验证码 换一张
取 消