Não há um mapeamento de atalhos padrão para fazer o que você pediu. Uma documentação completa da edição do modo de comando pode ser encontrada em :help cmdline-editing
. Você é bem-vindo para navegar por ele para encontrar algo útil para você. Mas eu não acho que a função que você pediu está nela.
Eu acho que o modo padrão de edição de linha de comando não requer tal operação. Geralmente, removemos a palavra antes do cursor por <Ctrl-W>
sem mover o cursor. Mas, claro, se você tem o seu próprio jeito de editá-lo, você sempre pode dobrar o comportamento do vim a seu favor.
Você pode ter o atalho que deseja mapeando <C-K>
para uma função definida para se adequar ao comportamento necessário. Aqui eu escrevo um exemplo. Você pode simplesmente colar o seguinte código no seu ~/.vimrc
. Re-source o arquivo. E você pode ter o atalho trabalhando do seu jeito.
cnoremap <C-k> <C-\>estrpart(getcmdline(),0,getcmdpos()-1)<CR>
Se você estiver interessado, isso chama um atalho do modo de comando padrão ( <C-\>e
) para avaliar {expr} e substituir toda a linha de comando pelo resultado. strpart()
é uma função de truncamento de strings dada pelo vim.
Após o <C-k>
keystroke, o vim extrairá o conteúdo do modo de comando como uma string. E coloque de volta apenas o conteúdo desde o início da string até uma posição antes da posição do cursor. O restante do conteúdo será truncado e, portanto, excluído.