Isso é possível com a configuração virtualedit
. Experimente, por exemplo
:set virtualedit=onemore
e leia mais em :h 'virtualedit'
Note que isso pode quebrar plugins ou outros cantos menos testados no Vim.
Se você também quiser que x
exclua a nova linha final nesse modo, talvez seja possível mapear x
para fazer algo mais inteligente, por exemplo,
:nnoremap <expr> x col('$')==col('.')?'gJ':'x'
Isso basicamente mapeia x
para uma expressão, que verifica se o cursor está no último caractere (a nova linha) da linha e, se estiver, ele será mapeado para o comando gJ
. x
será executado.
(Nota: não totalmente testado, pode haver alguns casos de borda)