How to get Cmd-left/right working with iTerm2 and Vim (without requiring .vimrc changes)?

前端 未结 4 1817
清酒与你
清酒与你 2020-12-13 15:32

I want to be able to use Option-left and Option-right to skip words (and Cmd-left/right to go to beginning and end of lines) within Vim as it does at my shell prompt. My It

相关标签:
4条回答
  • 2020-12-13 15:56

    FWIW, dolan's answer didn't work for me on iTerm 2 1.0.0.20120203 on Mac OS X 10.7.3. His solution only inserted ~ and 5D/5C into my terminal when I pressed the shortcut keys.

    Instead, I used the following solutions:

    • Cmd-left/right: iTerm 2: How to set keyboard shortcuts to jump to beginning/end of line?

    • Option-left/right as well as option-delete: http://hackaddict.blogspot.co.at/2007/07/skip-to-next-or-previous-word-in-iterm.html

    YMMV, not sure why one set of solutions would work and not the other

    0 讨论(0)
  • 2020-12-13 16:02

    I don't have MacOS, so I cannot exactly know your situation, but I recognize the problem from other OSes.

    Basically, it would mean that the terminal sends keycodes that aren't understood by vim. I fixed it in the past by doing

     TERM=something
     export TERM
    

    before invoking vim

    E.g. in order to get all keys and syntax highlighting working on AIX 5.3 across Putty/screen, I needed to use

     TERM=iris-ansi vim
    

    There is a list of builtin terminal types if you pass a bad TERM

    0 讨论(0)
  • 2020-12-13 16:04

    To mimic OS X's behavior of sending Cmd-left/right to the beginning/end of a line, I add the following mappings in iTerm2:

    • Cmd-left to escape-sequence [1~
    • Cmd-right to escape-sequence [4~

    To mimic OS X's behavior of sending Option-left/right to the previous/next word, I add the following mappings in iTerm2:

    • Option-left to escape-sequence [1;5D
    • Option-right to escape-sequence [1;5C

    Special thanks to this blog post for tracking down what I was missing with the cmd-left/right mappings

    0 讨论(0)
  • 2020-12-13 16:11

    I'm using iTerm2 3.4.2 and there's actually a preset that you can select for your profile that enables this.

    0 讨论(0)
提交回复
热议问题