Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Avid fish user since last 3 years. On feature I miss from bash is the `sudo !` to re-run previous command as sudo. Last time I checked fish didn't offer an equivalent. Either that or something similar will be useful


This is easily achieved using a fish function: https://github.com/nyarly/fish-bang-bang

Unlike bash, fish even expands it in place, allowing you to make changes.


zsh also expands in place for double bang, as well as the ^match^replace thing, too. Probably others, but those are the only ones I use regularly.


I missed it too, so I created a fish function:

``` function sudo if test "$argv" = !! eval command sudo $history[1] else command sudo $argv end end ```

This works for `sudo !!`

https://github.com/srynot4sale/dotfiles/blob/master/fish/fun...


Up, Home, "sudo "

Only one more key press than "sudo !" :)


I use up, ctrl-a, then type "sudo ".


!! and !$ are the two miss most.

but similarly, fish user for the last 2+ years.


With !$ you can use Alt+. to write the arguments from the last command.


Alt+. is a bash (libreadline really) key.

In fish Alt+Up does something similar, but repeated presses iterates over all words of all commands rather than last words of bash commands. A big improvement is you can type some chars first and then Alt+Up only gets words matching this substring — like Up but word granularity! (Closest bash key is Ctrl+Alt+I)

If you don't mind the differences, and want Alt+. muscle memory to work in fish too, do:

    bind \e. history-token-search-backward
(plus Alt+Up doesn't work for me in linux console, Alt+. does)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: