Is there a way to quickly (e.g. via a keyboard shortcut, etc.) to reference the output of the previous command's output that it wrote to stdout?
For example, if I did this:
which rails
and it returned /usr/local/bin/rails
and then I wanted to open that file in textmate, I could re-type the output like this:
mate /usr/local/bin/rails
but is there a way to quickly reference the output without having to re-type it?
NOTE: I am aware I can just do mate $(which rails)
, but I am specifically looking to reference stdout.
You could always run the command in backticks:
I have to say though that it feels a little, uh, risky. What if your PATH has been tampered with so that which returns a different version of rails than what you really needed? What if which returns nothing? So, take care to close down all those error cases, or avoid them in some way (say, reading the path to rails from a config file, and writing a tool that builds that config file for you).
I use backticks with history reference:
Actually, my editor (a script starting gvim) is aliased to
e
, so it looks even shorter:and you can always bind to a hotkey (see bash man page for
bind
command andreadline support
).Also, if you can use cut buffers (select with a mouse in an X application), a hotkey for something like the below might be useful:
The command will start the editor as above with whatever was in the cut buffer on command line. Given that many paths are selectable with just a double click, a selected path can be edited very quickly.