这作品:
nmap <silent> <S-t> :call InventTab()<CR>
function InventTab()
set expandtab!
if &expandtab
retab
echo 'spaces'
else
retab!
echo 'tabs'
endif
endfunction
我尝试将其更改为单行:
nmap <silent> <S-t> :set expandtab!<CR>:if &expandtab<CR>:retab<CR>:echo 'spaces'<CR>:else<CR>:retab!<CR>:echo 'tabs'<CR>:endif<CR>
现在的问题是它之后坚持打印“Press ENTER or type command to continue”。如果我添加另一个,<CR>
它就不再这样做,但echo
输出会被清除。
我应该如何写这个以确保我看到输出但没有额外的东西?
nmap <silent> <S-t> :set expandtab! ^V| if &expandtab ^V| retab ^V| echo 'spaces' ^V| else ^V| retab! ^V| echo 'tabs' ^V| endif<CR>
答案1
<CR>
将命令之间的 '替换为^V|
(通过键入插入^V
文字的位置)是否有效?^V
Ctrl-vCtrl-v