Ive been a long time user of Emacs both on UNIX/Linux and on Windows, and Im reasonably proficient now I suppose - I have a small set of keyboard short cuts that I use regularly for things like switching between buffers and doing query-replace operations - but Im aware that Ive only scratched the surface of what the program is capable of (after all, I still think its "just" an editor).
So my most recent discovery is probably not news to a lot of people, but I still think its pretty neat: specifically, the ability to access CVS version control operations on a file directly from within Emacs using its standard version control interface, vc.el.
A quick summary of the basics: to load vc.el and activate the functions, first do Ctrl-x Ctrl-q, then:
- Use the sequence Ctrl-x v = to see differences between the current buffer and the last CVS version (i.e. cvs diff), and
- Use the sequence Ctrl-x v v to commit your changes - this opens a new buffer to write the commit message, and when youre done use Ctrl-c Ctrl-c to finish the commit.
So far Ive been using this with GNU Emacs 22.2.1 and CVS 1.12.3 on Ubuntu Linux. Im guessing that Emacs works out that the file is under version control by detecting the CVS subdirectory, and that the same (or similar) key sequences might also work for SVN - but I have no idea yet if this will work on Windows using Xemacs and TortoiseCVS (I will report back once Ive had a chance to investigate further).