将一个键映射到vim中的多个命令
发布时间:2020-12-15 18:55:52 所属栏目:安全 来源:网络整理
导读:我明白,为了在一行中执行多个命令,例如保存并执行pdflatex,我可以执行以下操作. :w | !pdflatex %:t 请注意,%:t给出当前文件名(不带路径).此代码在Vim中正常工作.现在,如果我想映射上面的整个事情,说ctrl shift F6,我想要能够做以下 :nnoremap C-S-F6 :w |
我明白,为了在一行中执行多个命令,例如保存并执行pdflatex,我可以执行以下操作.
:w | !pdflatex %:t 请注意,%:t给出当前文件名(不带路径).此代码在Vim中正常工作.现在,如果我想映射上面的整个事情,说ctrl shift F6,我想要能够做以下 :nnoremap <C-S-F6> :w | !pdflatex %:t<CR> 但这不行,给我以下错误. :!pdflatex paper.tex<CR> /bin/bash: -c: line 0: syntax error near unexpected token `newline' /bin/bash: -c: line 0: `pdflatex paper.tex<CR>' 这是否意味着我无法将ctrl shift F6映射到所需的功能,保存并执行pdflatex?我能做些什么来解决这个问题?
假设< C-S-F6>实际上(它可能不会在CLI Vim中),你必须逃避吧或使用< bar>代替:
:nnoremap <C-S-F6> :w | !pdflatex %:t<CR> :nnoremap <C-S-F6> :w <bar> !pdflatex %:t<CR> 请参阅:help map_bar. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |