我正在尝试重新映射dd
以dl
匹配我的 .vimrc
我读了文档很长一段时间,我找不到任何与 ie 行为相匹配的命令删除dd
该行并转到上面的行,我测试过,bindkey -a dl kill-line
... vi-kill-line
,,,kill-whole-line
kill-whole-line
backward-kill-line
我也找不到一种方法将序列映射到序列,即dd
到dl
,我也测试了它bindkey -a dl dd
不起作用,
我也找不到一种方法来绑定两个/多个命令,例如删除当前行和向上一行。
答案1
您可以定义一个“小部件”,zle -N <name-of-new-widget>
它会触发一个具有与您定义的新小部件名称相同的函数,该函数可以运行多个模拟 vim 的 zle 命令dd
vim-dd() {
zle kill-whole-line
zle up-line
}
zle -N vim-dd
bindkey -a dl vim-dd