Hacker News new | ask | show | jobs
by patrickg 4697 days ago
I have been using fish for a few months exclusively on my Mac. I really miss a few bashisms: mostly pressing esc-. inserts the last part of the last command. I have not changed the shell on my server, somehow I am afraid of breaking things... (bad shell scripts that don't have correct shebang line).
2 comments

esc-. is my biggest miss as well. There are discussions on this but still havent been able to fix it on osx in iterm2 myself. Did get option-. to work for now but esc-. has 20+ years of pure reflex action burned into my brain.
Can you post your solution (or give a pointer)?
function fish_user_key_bindings bind \e. 'history-token-search-backward' end

There is a thread about it here

https://github.com/fish-shell/fish-shell/issues/89

Not successful yet on the Mac Terminal.app command line... Thanks anyway.
In fish it's simple enough to start typing the command you want and then hit arrow right to autocomplete. If you have a couple often commands that start the same way just arrow up or down to cycle through them, then arrow right to put them on the command line.
Simplified example: mkdir foo, cd foo. I type in mkdir foo then press enter, type "cd esc-.". Doesn't work. Command completion in fish doesn't help here. In real life this is of course mostly more complicated than a simple "foo".
I use zsh and for this use case I typically use "mkdir foo" followed by "cd $!".
function mkcd () { mkdir -p "$1" && cd "$1" }
as I wrote: this is a simplified example ...