10

I've found ^S mapped to be the fwd-search key for zsh (ohmyzsh) but I would like to use it in vim for various mappings as well - it seems like the zsh mapping is preventing me from using it now.

Any way to unmap the bindkey or have it both ways?

5
  • Are you sure that it's oh-my-zsh? I couldn't find anything in its sources where bindkey maps Ctrl-S.
    – Daniel Beck
    Feb 2, 2012 at 15:15
  • yeah, i think it is actually default zsh - i mention ohmyzsh in case there is something there that might be important as well - i'm still new new zsh Feb 2, 2012 at 15:23
  • On my system (never used zsh before) Ctrl-S suspends, as it should. Have you checked your zsh profile files?
    – Daniel Beck
    Feb 2, 2012 at 15:26
  • i'm still digging around - hoping i could find insight here faster :-) ... previously bash for me worked out fine with C-s Feb 2, 2012 at 15:27
  • To investigate zsh mappings/bindings, use bindkey. Use bindkey "^S" to see what Ctrl-S specifically is bound to. Look up details on the bound "widgets" with man zshzle. Mar 1, 2017 at 16:57

2 Answers 2

11

This is probably flow-control, which is handled by your terminal and not your shell. Typically control-s stops terminal output, and control-q resumes it. See the note in ":help ctrl-s".

To remove this behavior, you could try these shell commands:

stty stop undef
stty start undef

This may not work, though. If you are using a GUI terminal emulator, try looking for flow control settings within its options.

0
7

I shot it down in two steps:

  1. Disabling flow control in Konsole:

    • Settings > Manage Profiles... > Edit Profile > Advanced (tab) > uncheck 'Enable Flow Control [...]')

  2. Tell Zsh about it, too:

    setopt noflowcontrol
    

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .