Search commandlinefu and view syntax-highlighted results in vim

cmdfu(){ local t=~/cmdfu;echo -e "\n# $1 {{{1">>$t;curl -s "commandlinefu.com/commands/matching/$1/`echo -n $1|base64`/plaintext"|sed '1,2d;s/^#.*/& {{{2/g'>$t;vim -u /dev/null -c "set ft=sh fdm=marker fdl=1 noswf" -M $t;rm $t; }
Here is the full function (got trunctated), which is much better and works for multiple queries. function cmdfu () { local t=~/cmdfu; until [[ -z $1 ]]; do echo -e "\n# $1 {{{1" >> $t; curl -s "commandlinefu.com/commands/matching/$1/`echo -n $1|base64`/plaintext" | sed '1,2d;s/^#.*/& {{{2/g' | tee -a $t > $t.c; sed -i "s/^# $1 {/# $1 - `grep -c '^#' $t.c` {/" $t; shift; done; vim -u /dev/null -c "set ft=sh fdm=marker fdl=1 noswf" -M $t; rm $t $t.c } Searches commandlinefu for single/multiple queries and displays syntax-highlighted, folded, and numbered results in vim.
Sample Output
$ cmdfu mkfifo vim

# mkfifo - 7 {{{1
+---  3 lines: Share your terminal session real-time ---
+---  3 lines: execute a shell with netcat without -e ---
...

# vim - 25 {{{1
+---  3 lines: vim read stdin ---
+---  3 lines: Search commandlinefu.com and display with VIMs syntax highlighting! ---
...

What Others Think

Depending on your ~/.vimrc it may throw some errors. I added a "-u NONE"-switch to the vim invocation and the "noswf"-option to avoid having a swapfile generated (which won't be deleted when you mess up vim). I like this one. Very conveniently formatted output.
disKoma · 343 weeks and 5 days ago
@disKoma Nice, I like the noswf. My vimrc is awesome but that's a good idea too. the vim -u NONE will work but will throw an error as its looking for a file. The solution is vim -u /dev/null
AskApache · 343 weeks and 5 days ago
I updated the function to reflect your suggestions..
AskApache · 343 weeks and 5 days ago
for ubuntu users is needed the -L option in curl call for the redirected response of commandlinefu .... curl -L -s "commandlinefu.com/commands/matching/$1/` ....
horaciod · 342 weeks and 1 day ago
@AskApache Cool. I tried it out, but for quick reading, even with mapped to toggle folds, I decided to stick with mine :)
expelledboy · 333 weeks and 5 days ago
...even with space mapped to toggle folds... didnt know there was formatting rules in comments?
expelledboy · 333 weeks and 5 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: