Vim: c-del no modo de linha de comando

0

Existe um atalho para "excluir até o limite de início da palavra" no modo de linha de comando (semelhante ao dw no modo normal)? Eu quero remapear o C-Del para ele. Se não, talvez haja outra maneira de fazer a C-Del funcionar?

    
por Uprooted 20.09.2018 / 01:47

2 respostas

0

Encontrado de alguma forma, um pouco desajeitado:

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>

Consiste em uma função que substitui toda a linha de comando e um mapeamento que chama essa função via Ctrl - \ e .

    
por 20.09.2018 / 08:21
-1

Acho que dw já fornece o que você está procurando para “palavras” que são compostas unicamente de “caracteres de palavras” (letras, dígitos e sublinhados). Para lidar com palavras com pontuação, use dW (com um% maiW).

    
por 20.09.2018 / 03:06

Tags