(Stupid) Useful Emacs Tricks?
Count Fenring writes "Since the Vi version of this question was both interesting and popular, let's hear from the other end of the spectrum. What are your favorite tricks, macros, extensions, and techniques for any of the various Emacs? Myself, I like 'M-x dunnet' ;-)"
Of all the Elisp I've written this grep is what I most miss when I use a coworker's environment.
/dev/null")))
(defun my-grep ()
"grep the whole directory for something defaults to term at cursor position"
(interactive)
(setq default (thing-at-point 'symbol))
(setq needle (or (read-string (concat "grep for <" default "> ")) default))
(setq needle (if (equal needle "") default needle))
(grep (concat "egrep -s -i -n " needle " *
(global-set-key "\C-x." 'my-grep)
(global-set-key [f8] 'next-error)
M-x tetris
M-x doctor
M-x yow
M-x phases-of-moon
(global-set-key (kbd "C-c c") 'comment-dwim)
C-c c to either comment out a region or uncomment it depending on context. Lovely feature.
(global-set-key "\M-g" 'goto-line)
M-g to go to specified line in buffer. Useful for emacs 21.x users where the keybinding is not yet standard.
(menu-bar-mode nil) (scroll-bar-mode nil) (tool-bar-mode nil)
Gets rid of the ugly TK widgets.
(iswitchb-mode t)
Superboosts C-x b.
(global-set-key "\C-z" 'undo)
The normal binding for C-z is suspend-emacs but having it bound as undo is much more useful imo.
Football Odds
I've recently discovered and almost instantly become a fan of org-mode, which is a great outlining tool (including folding, numbering, and other similar things you'd probably expect).
It's also good for lists of things to do, schedules, deadlines, and related stuff. It uses its own really simple markup langauge (similar to trac wiki), but you can include LaTeX and HTML inline.
It comes with exporters to HTML and LaTeX (and iCal for date stuff). You can also put tables inline, and the table editor is excellent for simple tables.
I use it every day for my list of things to do, and use it regularly for outlining text documents, pseudocode, and meeting notes.
(Pretend that '.'==' ' because Slashdot hates programmers.)
Before:
After running M-xalign-regexp=:
Dewey, what part of this looks like authorities should be involved?
Plus you can compile over ssh.
It's nice to be able to compile a local directory with M-x compile, then you can jump to errors in the offending file from the *compilation* window.
You can also set to do remote compile from emacs by putting something similar to this in your .emacs:
No you can compile on the remote host AND bring up offending files from the compile output window with the click of a button.
Tramp is also extremely useful for editing files as root without opening a root emacs session. If you use sudo on your system, it's C-x C-f /sudo::/path/to/file, or su: C-x C-f /root@localhost:/path/to/file.
Hey, I finally got my first freak! Took you long enough!