我意识到我可以:nmap <leader>rc :!cat %<CR>
提供一套简单的触发器,但我想这样做。
nmap <leader>rc :up :!cat %<CR>
但它抱怨只需要一个文件名。如何使vim能够连续识别这两个命令?
答案 0 :(得分:2)
<CR>
之后您遗漏了:up
。 <CR>
告诉vim你想在这里回车。
nmap <leader>rc :up<CR> :!cat %<CR>
向上抱怨多个文件名的原因是它将:!cat
和%<CR>
视为两个参数。
所以新宏执行
:up
:!cat %
而不是
:up :!cat %
(旁注:您应该使用nnoremap而不是nmap)
ZyX建议使用以下映射。
nnoremap ,rc :up\|execute "!cat" shellescape(@%, 1)<CR>
这使用|
分隔命令并转义%
。转义%
会导致更强大的映射,只是文件名包含特殊字符。