2015-06-10 3 views
2

Есть ли способ удалить целое слово (например, от vim path/to/some/file.txt до vim) в режиме вставки?Как удалить WORD в vim в режиме вставки

Чтобы удалить слово в режиме вставки, ярлык C-W хорошо работает. Я привык использовать C-W в bash, но bash на самом деле удаляет целые WORD.

Теперь я хотел бы иметь возможность удалять целые слова в режиме вставки. Как я могу достичь этого в vim?

ответ

5

Для слов есть только :help i_CTRL-W, а :help i_CTRL-U для всей строки, но ничего для WORDs. Вы можете легко определить собственное отображение, хотя:

:inoremap <C-B> <Esc>"_dB"_s 

Вот более сложный вариант, с лучшей обработки угловых случаев:

inoremap <silent> <expr> <C-B> 
\ col('.') == 1 ? 
\  '<C-w>' : 
\  col('.') >= col('$') ? 
\   '<C-o>:normal! B"_d$<CR>' : 
\   '<C-o>:normal! m"B"_dg`"<CR>' 
0

Вот мой подход:

:inoremap <silent> <C-w> <C-\><C-O>d<C-Left> 
+0

ли это является правильным или нет до OP. Тем не менее, короткий абзац или даже предложение или два в качестве объяснения проделали бы долгий путь, чтобы сделать этот отличный ответ. – Jeeped

Смежные вопросы