Есть ли ярлык для "удаления до начала слова" в режиме командной строки (аналогично dw в обычном режиме)? Я хочу переназначить C-Del к этому. Если нет, может, есть другой способ заставить работать C-Del?
2 ответа
0
Нашел какой-то путь, немного неловко
function! CtrlDel()
let str = getcmdline()
let pos = getcmdpos()
let len = strlen(str)
let i = 0
while pos + i < len && str[pos + i] !~ "\\s"
let i = i + 1
endwhile
while pos + i < len && str[pos + i] =~ "\\s"
let i = i + 1
endwhile
return strpart(str, 0, pos - 1) . strpart(str, pos + i)
endfunction
cnoremap <c-del> <c-\>eCtrlDel()<cr>
Он состоит из функции, которая заменяет всю командную строку, и отображения, которое вызывает эту функцию через Ctrl-\ e.
-1
Я думаю, что dw
уже предоставляет то, что вы ищете, для «слов», которые состоят исключительно из «словесных символов» (букв, цифр и подчеркиваний).
Для обработки слов с пунктуацией используйте dW
(с большой буквы W
).