在命令分配中连接 exe 模式命令

concatenate exe mode commands in command assignment

我有几个文件要以特定格式应用折叠,其中包含两个固定元素和 " 寄存器的内容。我正在使用宏来执行此操作,但最近文件格式不够一致。

我有 4 个寄存器由函数设置

@v='========= BEGIN'
@b='========== END'
@n=' =========={{{'
@m=' ==========}}}'

我找到折叠必须去的地方拉出描述符,然后设置以下内容并粘贴在开始和结束处

let @z=@v.@".@n
let @x=@b.@".@m

我尝试了所有我能想到的组合,将寄存器赋值连接成单个映射,例如

的变体
nnoremap <leader>X :'let @z=@v.@".@n | let @x=@b.@".@m'

无法让它工作,所以将它添加到函数并将函数调用映射到 X 键。

有没有办法在键映射中链接命令分配?该功能有效,但该概念在其他地方很有用。

使用<bar>\|

nnoremap <leader>X :'let @z=@v.@".@n <bar> let @x=@b.@".@m'
nnoremap <leader>X :'let @z=@v.@".@n \| let @x=@b.@".@m'

看看:help map_bar