简体   繁体   中英

Vim - delete line in insert mode

Can I delete a line in insert mode?

Because currently I have to press <ESC>dd to be able to that, and I would like a quicker way to delete a line in insert mode

If the cursor is at the end of the line, you can press <CU> twice. The first one will clear the text before the cursor, the second one will remove the now empty line (and put the cursor at the end of the previous line).

That said, I would not use this often. Insert mode is for inserting ; for all other edits, it's better to exit insert mode and use normal mode dd instead. Most power users quickly move into and out of various modes; that's what they were made for. Don't linger in insert mode for too long. I even exit it for "thinking pauses" of more than a few seconds.

Use Ctrl + O in Insert mode to run one Normal mode command, so you can delete the current line without leaving Insert mode, with Ctrl + O d d .

See http://vimdoc.sourceforge.net/htmldoc/insert.html#i_CTRL-O

c + c (按 c 两次)将删除当前行并进入插入模式。

I would recommend creating an insert mapping

inoremap <Leader>k <C-o>dd

Remember in most cases is mapped to ",". For more information type: :h mapleader

You could also use _ to jump to first non-whitespace character and then C to delete to end of line and start insert.

You won't be in insert mode at the beginning, but you will be after running C . You also save yourself an esc keystroke and won't have to worry about mappings. Using _ also makes it easier to preserve formatting.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM