edit: Jokes aside, this is a nice shell, there are no videos of youtube for it though, I should go through the doc's and record one.
edit2: OK I just tried playing around with the shell. It's got some really nice features, but then I said to myself "hey, lets try doing some work with this, I'd like to get rid of fedora 18's neutered package management GUI and replace it with yumex."
ok easy enough, whoops I forgot to use sudo.
ghoti@localhost ~/Videos> sudo !!
[sudo] password for ghoti:
sudo: !!: command not found
ghoti@localhost ~/Videos >
here it is, right at the very end of the documentation.
"Because history substitution is an awkward interface that was invented
before interactive line editing was even possible. Fish drops it in favor of
perfecting the interactive history recall interface. Switching requires a small
change of habits: if you want to modify an old line/word, first recall it, then
edit. E.g. don't type "sudo !!" - first press Up, then Home, then type "sudo "."
ridiculousFish, you arn't kidding around with that name are you?
For example, Lojban uses a method of saying phonemes to describe words, like Hebrew, so the number 100,508,290 is just an utterance rather than a sentence.
panono k'io munobi k'io resono
One hundred million, five hundred and eight thousand, two hundred and ninety.
As an alternative, think of it like this. the specific operation of "put the whole previous command in this place surrounded by new text" is actually a common idiom in calculation programs. Commonly called "ans". Mathmatica actually marks the results of all its computations with a tag (I think t[n]) so you can recall arbitrarily.
That's not to say I'm a stick in the mud, if "sudo !!" sucks, make it better!
How about something that turns a command into a postfix command? Or actually having a hotkey recall the previous command? Maybe a hotkey that looks at the text in the argument then searches up the history to replace? so if I type sudo rm^U it takes 'rm' and searches up history, replacing it with the first match, "sudo rm -rf ~/opt/java"? Lots of possibilities!
Up and ctrl A are independent key strokes. They precede typing sudo, which is a logical train of thought ("Oh I forgot sudo, i should of typed sudo and then x").
! is a commonly used key in English language, and pressing it twice is fast, where as getting two desperate keys is not.
After the proposed action, you end up here:
sudo |something fishy
sudo something fishy|
This sounds small, but I was doing what you suggested before I found out I could say "sudo !!" I immediately switched when I found out, and it's now a very common idiom for me. I switched from "up home sudo space" to "sudo space bang bang" for all the reasons described above.
eval sudo $history
For an overview of the features in *fishfish*, see the
The spelling otoh: Yes, that one is broken.
It's for entertainment purposes. Provides harmless amusement to native speakers of languages that have it, especially when English (or Chinese, or whatever underfeatured language) speakers fumble the genders of tables, forks, cars, etc.
More fun than a barrel of monkeys. Also good for poets, makes their work more difficult, thus rarer and better smelling when burnt.