Emacs Net Utilities

I came across a post by mulander over at My Opera about his journey to Emacs. I found it interesting because it closely paralleled my experience: a long time Vim user moves to Emacs to get Slime. When I did that, I just jumped in and switched to Emacs cold turkey. Mulander, however, started using it “part-time” for specific tasks such as Slime and SQL-oracle mode. Over time he kept discovering new ways to make his work flow more efficient with Emacs. His post has a list of some of the applications that he replaced with Emacs. Be sure to take a look; it's a worthwhile read.

One of the things I learned about from mulander's post was the Emacs net utilities. This includes support for (the diagnostic output of) network utility programs such as ping, traceroute, netstat, nslookup, dig, arp, ifconfig and route. It also has native support for finger and whois as well as the ability to connect to a given HOST/PORT. I really love this. I often find myself wanting to ping some other host, check my network configuration with ifconfig, or run a whois. My normal way of doing this is to bring up a terminal and enter the appropriate command. Now I don't even have to leave Emacs. If I want to check if I'm connected to the outside world, I just type 【Meta+xping and then some external site when prompted1.

The only Emacs documentation I could find for the network utilities is the net-utils.el file. I asked Google and found this nice post from Mickey. Again, I really like this functionality. It's one more reason to never leave Emacs while I'm working. You can probably find everything you need from Mickey's post so be sure to take a look at it.


1 If your system keeps pinging until stopped you will want to set ping-program-options to send only a few pings. You can do that with the configuration facility or by adding

(setq ping-program-options '("-c" "4"))

to your .emacs or init.el file.

This entry was posted in General and tagged . Bookmark the permalink.
  • marco


  • http:://elisp-solves-problems.tumblr.com Daniel Gempesaw

    Oh! Thanks a bunch for mentioning the ping-program-options variable! For whatever reason I had resigned myself to the unending ping, but of course it's customizable, haha! :)