【问题标题】:Customizing the cursor's position in zsh自定义光标在 zsh 中的位置
【发布时间】:2020-12-21 15:13:08
【问题描述】:

我在 zsh shell 中使用this sn-p 插件并想自定义它。 如何在展开 sn-p 后将光标的位置自定义到特定位置(就像编辑器通常对完成所做的那样)。

我写l 并按Ctrl-d 将其展开,使其变为$(line ),但光标在整个sn-p 之后,我希望它在sn-p 内,这样我可以在后面写一个数字line 和字符之前的 )

这是负责sn-p扩展的函数(我仍然没有从源代码中编辑任何内容,它仍然与存储库相同):

snippet-expand () {
    emulate -L zsh
    setopt extendedglob
    local MATCH
    LBUFFER=${LBUFFER%%(#m)[.\-+:|_a-zA-Z0-9]#} 
    LBUFFER+=${snippets[$MATCH]:-$MATCH} 
}

【问题讨论】:

    标签: shell terminal zsh code-snippets


    【解决方案1】:

    您附加到$LBUFFER 的所有内容都将立即出现在光标的左侧。相反,您添加到$RBUFFER 的所有内容都将立即出现在光标的右侧。所以,把你的 sn-p 分成两部分然后做

    LBUFFER="$LBUFFER<left half of your snippet>"
    RBUFFER="<right half of your snippet>$RBUFFER"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多