Substitui o <CR>
que você tem entre os comandos com ^V|
(onde ^V
é um literal ^V
inserido digitando Ctrl-v Ctrl-v ) trabalho?
Este funciona:
nmap <silent> <S-t> :call InventTab()<CR>
function InventTab()
set expandtab!
if &expandtab
retab
echo 'spaces'
else
retab!
echo 'tabs'
endif
endfunction
Eu tentei mudá-lo para um verso:
nmap <silent> <S-t> :set expandtab!<CR>:if &expandtab<CR>:retab<CR>:echo 'spaces'<CR>:else<CR>:retab!<CR>:echo 'tabs'<CR>:endif<CR>
O problema agora é que ele insiste em imprimir "Pressione ENTER ou digite comando para continuar" depois. Se eu adicionar outro <CR>
, ele não fará mais isso, mas a saída echo
será limpa.
Como devo escrever isso para ter certeza de que vejo a saída, mas sem material extra?
Resultado (veja o resposta aceita para detalhes):
nmap <silent> <S-t> :set expandtab! ^V| if &expandtab ^V| retab ^V| echo 'spaces' ^V| else ^V| retab! ^V| echo 'tabs' ^V| endif<CR>
Tags vim configuration