ada58e8818
- Replicate bash bang-operations (!^, !*, !string, etc.) via abbreviations - Add Ctrl+G for previous path head insertion - Add Ctrl+F for interactive history substitution - Add Ctrl+Alt+U to quickly replace command tokens - Update README documentation for all new features
18 lines
532 B
Fish
18 lines
532 B
Fish
function __interactive_history_sub
|
|
set -l current_line (commandline -b)
|
|
set -l last_cmd $history[1]
|
|
|
|
if string match -qr '(.+)/(.+)' -- "$current_line"
|
|
set -l parts (string split '/' -- "$current_line")
|
|
set -l old $parts[1]
|
|
set -l new $parts[2]
|
|
set -l expanded (string replace -a -- "$old" "$new" "$last_cmd")
|
|
commandline -r "$expanded"
|
|
else
|
|
if test -z "$current_line"
|
|
commandline -r "sudo $last_cmd"
|
|
end
|
|
end
|
|
commandline -f repaint
|
|
end
|