Using alt+backspace key in vim command line to delete by words

前端 未结 6 2158
萌比男神i
萌比男神i 2021-02-18 17:03

Is there a way to use the alt+backspace in vim command line? It gets unruly when having to backspace /very/long/file/path individually instead of using

相关标签:
6条回答
  • 2021-02-18 17:34

    The answer marked as right does not correspond to the behaviour in most UI editors for Alt + BackSpace. The vim shortcut which correspond to this behaviour is db - aka delete back ( a word ?! ), dw would delete word forth, which would be the (Altr or Ctrl ) Del shortcut in most ui programs. Those work basically the same way as the w - move the cursor to the words beginnings and b, move the cursor back to the words beginning ...

    Disclaimer: I have used for more than 10 years my .vimrc. , which might have some freaky twist which changes the default behaviour as well ...

    0 讨论(0)
  • 2021-02-18 17:35

    Vim is unable to receive alt input. skeept's answer seems to be the best alternative.

    See this answer:

    The Alt/Meta key is problematic in Vim and most terminals, see this answer of mine for an overview of the situation (the situation is the same for Meta and Alt).

    In short, Vim doesn't receive Alt at all: hitting Alt+Backspace is exactly the same as hitting Backspace.

    Anyway, it will be better for you in the long term to learn and get accustomed to Vim's default key-mappings.

    0 讨论(0)
  • 2021-02-18 17:37

    x then w should backspace per word as well. d then w will also delete the current word the cursor is on.

    0 讨论(0)
  • 2021-02-18 17:42

    If you are at the end of the path you can hit B followed by a dW (case matters). This will jump you to the beginning of the word (ignoring the slashes) and subsequently delete the word (again ignoring the slashes).

    Hope this helps.

    0 讨论(0)
  • http://vim.wikia.com/wiki/Map_Ctrl-Backspace_to_delete_previous_word

    :imap <C-BS> <C-W>

    sets ctrl backspace, i have to look at how to do alt

    0 讨论(0)
  • 2021-02-18 17:45

    try using instead <c-w> (that is ctrl+w) to erase words or <c-u> (ctrl+u) to delete lines.

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