PlexSheep,

What I use to automatically extend stuff like ls … to ls …/…/…/…


<span style="font-weight:bold;color:#a71d5d;">function </span><span style="font-weight:bold;color:#795da3;">expand-dots</span><span style="color:#323232;">() {
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">local </span><span style="color:#323232;">MATCH
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">if </span><span style="color:#62a35c;">[[ </span><span style="color:#323232;">$LBUFFER </span><span style="font-weight:bold;color:#a71d5d;">=~ </span><span style="color:#183691;">'(^| )...+' </span><span style="color:#62a35c;">]]</span><span style="font-weight:bold;color:#a71d5d;">; then
</span><span style="color:#323232;">        LBUFFER</span><span style="font-weight:bold;color:#a71d5d;">=</span><span style="color:#183691;">$</span><span style="color:#323232;">LBUFFER</span><span style="color:#183691;">:fs%</span><span style="color:#0086b3;">...</span><span style="color:#183691;">%../..%
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#a71d5d;">fi
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="font-weight:bold;color:#a71d5d;">function </span><span style="font-weight:bold;color:#795da3;">expand-dots-then-expand-or-complete</span><span style="color:#323232;">() {
</span><span style="color:#323232;">    zle expand-dots
</span><span style="color:#323232;">    zle expand-or-complete
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="font-weight:bold;color:#a71d5d;">function </span><span style="font-weight:bold;color:#795da3;">expand-dots-then-accept-line</span><span style="color:#323232;">() {
</span><span style="color:#323232;">    zle expand-dots
</span><span style="color:#323232;">    zle accept-line
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="color:#323232;">zle -N expand-dots
</span><span style="color:#323232;">zle -N expand-dots-then-expand-or-complete
</span><span style="color:#323232;">zle -N expand-dots-then-accept-line
</span><span style="color:#323232;">bindkey </span><span style="color:#183691;">'^I'</span><span style="color:#323232;"> expand-dots-then-expand-or-complete
</span><span style="color:#323232;">bindkey </span><span style="color:#183691;">'^M'</span><span style="color:#323232;"> expand-dots-then-accept-line
</span>

(for zsh)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #