So I've upgraded to ubuntu 9.10. They've put a lot of effort into making the UI more consistant, which is nice I guess. Also, it's shaved off a further four seconds from my startup routine; the system itself now starts up about 2 seconds faster, and they changed the login screen so that I can just hit <ret> instead of typing in my user name (which saved the other two seconds).
That's really not why I finally decided to ugrade though this is. Ubuntu 9.20 has apt-get support for emacs 23, and I really didn't feel like going through a manual install from their ftp site. That seems like something I'd have had to do in 1998, not 12 years after the fact.
A few things were obsoleted, but noting important. Though, you may wanna take that with a grain of salt. Like I said last time, I basically live in Emacs, Gimp/Inkscape and Chrome now. Ok, and every once in a while I'll drop into DrScheme for the macro-stepper, Klavaro for keyboard practice or into terminal because Emacs' GIT mode doesn't provide git-init or git-pull (funny story, I actually got Emacs 23 because it supports tab completion when executing shell commands, which would let me write my own little add-ons for those two git commands to obviate the terminal entirely).
Anyway, my point is: the list of applications that I use is short. None of the above have broken, but if you use other programs, check whether they're still supported (one I was surprised to see obsoleted was gcc 4.3, so it doesn't hurt to check).
My .emacs is getting fatter, by the way. Here's the latest evolution:
(setq inferior-lisp-program "/usr/bin/sbcl") (setq load-path (append load-path (list "~/emods" "~/emods/slime" "/usr/lib/erlang/lib/tools-2.6.2/emacs" "/usr/share/doc/git-core/contrib/emacs"))) (setq erlang-root-dir "/usr/lib/erlang") (setq exec-path (cons "/usr/lib/erlang/bin" exec-path)) (setq x-select-enable-clipboard t) (require 'vc-git) (when (featurep 'vc-git) (add-to-list 'vc-handled-backends 'git)) (require 'git) (autoload 'git-blame-mode "git-blame" "Minor mode for incremental blame for Git." t) (require 'htmlize) (require 'blog-mode) (require 'quack) (require 'erlang-start) (require 'slime) (require 'redo) (require 'php-mode) (autoload 'js2-mode "js2" nil t) (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode) '("\\.ss$" . scheme-mode)) (add-hook 'php-mode-hook (lambda () (define-key php-mode-map (kbd "<tab>") (lambda () (interactive) (insert-char 9 1))))) (setq scroll-bar-mode-explicit t) (set-scroll-bar-mode `right) (global-set-key (kbd "<f5>") 'eval-buffer) (global-set-key (kbd "<f7>") 'call-last-kbd-macro) (global-set-key (kbd "C-w") (lambda () (interactive) (kill-buffer nil))) (global-set-key (kbd "C-z") 'undo) (global-set-key (kbd "C-y") 'redo) (defun other-window-backward (&optional n) (interactive "p") (other-window (- (or n 1)))) (global-set-key (kbd "C-n") 'other-window) (global-set-key (kbd "C-S-n") 'other-window-backward) (global-set-key (kbd "C-a") 'mark-whole-buffer) (tool-bar-mode nil) (menu-bar-mode 0) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(cua-mode t nil (cua-base)) '(htmlize-output-type (quote inline-css)) '(iswitchb-mode t) '(show-paren-mode t) '(transient-mark-mode t)) (put 'downcase-region 'disabled nil) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. )
Changes from last time:
- (tool-bar-mode nil) and (menu-bar-mode 0) are now in my default .emacs instead of just on the netbook. Yegge suggests removing the GUI right away, but it actually takes a while before you get used to using the keyboard for everything (and in fact, if you want inter-application copy/paste and you don't know enough elisp to change how the default kill/yank functions work, you have to use the corresponding menu items). I'm far enough along that I don't need the training wheels anymore, and it gives me another 5-6 lines of editor space on screen, so they're gone.
- iswitchb mode is on by default. It adds one keystroke to the process of making a buffer not tied to a file, but it makes finding existing buffers easy enough that it's worth the trade.
- Lots more mode-includes including htmlize, my own blog-mode (which I'm using right now to type this), language support for Erlang, Scheme, and Common Lisp (php and JavaScript have been there for quite a while), and hooks into Git mode.
- Parentheses are being highlighted by default. I get the feeling it was made for Lisp coding, but it's actually even more useful in JavaScript with jQuery, where a code block might look something like
$('#something').click(function () { stuff = [$(this).attr('id'), $(this).attr('class'), $(this).attr('src')]; for(i in stuff){ clickFunction(stuff[i]); }});
In these cases, parenthesis highlighting (which also highlights [] and {}) is critical for making sure you close them all properly, and in the right order. You could probably do it by hand without help, but I wouldn't envy you that task.
EDIT: After upgrading my desktop, I went to upgrade my other machines to 9.10. The HP Mini 1035nr upgrade was not seamless. Almost, but not quite. I had to run
sudo apt-get install --reinstall bcmwl-kernel-source
to enable the wireless card.
No comments:
Post a Comment