如何解决自定义光标在 zsh
我在 zsh shell 中使用 this 片段插件并想对其进行自定义。 展开片段后如何将光标的位置自定义到特定位置(就像编辑器通常对完成所做的那样)。
我写了 l
并按 Ctrl-d 将其展开使其变为 $(line )
但光标移动到整个代码段之后,我希望它在代码段内以便我可以在之后写一个数字line
和字符 )
这是负责片段扩展的函数(我仍然没有从源代码中编辑任何内容,它仍然与存储库相同):
snippet-expand () {
emulate -L zsh
setopt extendedglob
local MATCH
LBUFFER=${LBUFFER%%(#m)[.\-+:|_a-zA-Z0-9]#}
LBUFFER+=${snippets[$MATCH]:-$MATCH}
}
解决方法
您附加到 $LBUFFER
的所有内容都会立即出现在光标的左侧。相反,您添加到 $RBUFFER
的所有内容都将立即出现在光标的右侧。所以,把你的片段分成两部分然后做
LBUFFER="$LBUFFER<left half of your snippet>"
RBUFFER="<right half of your snippet>$RBUFFER"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。