PlexSheep, 1 year ago 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)
What I use to automatically extend stuff like ls … to ls …/…/…/…
ls …
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)