]> gitweb @ CieloNegro.org - sugar.git/blobdiff - dot-files/_emacs_el
Auto commit by The Sugar System.
[sugar.git] / dot-files / _emacs_el
index 98ab408092c9916c644f12ce8ccfdbd40fa06076..01c8b7b202eb7c7f3d2259b900cd9770ec1ebd50 100644 (file)
@@ -21,6 +21,7 @@
 
 (global-set-key (kbd "C-\\" ) 'toggle-input-method)
 (global-set-key (kbd "C-RET") 'completion-at-point)
+(global-set-key (kbd "C-<return>") 'completion-at-point)
 
 (unless window-system
   (normal-erase-is-backspace-mode t))
 ;; windmove
 (windmove-default-keybindings)
 
+;; file renaming
+;; Originally from stevey, adapted to support moving to a new directory.
+(defun rename-file-and-buffer (new-name)
+  "Renames both current buffer and file it's visiting to NEW-NAME."
+  (interactive
+   (progn
+     (if (not (buffer-file-name))
+         (error "Buffer '%s' is not visiting a file!" (buffer-name)))
+     ;; Disable ido auto merge since it too frequently jumps back to the original
+     ;; file name if you pause while typing. Reenable with C-z C-z in the prompt.
+     (let ((ido-auto-merge-work-directories-length -1))
+       (list (read-file-name (format "Rename %s to: " (file-name-nondirectory
+                                                       (buffer-file-name))))))))
+  (if (equal new-name "")
+      (error "Aborted rename"))
+  (setq new-name (if (file-directory-p new-name)
+                     (expand-file-name (file-name-nondirectory
+                                        (buffer-file-name))
+                                       new-name)
+                   (expand-file-name new-name)))
+  ;; Only rename if the file was saved before. Update the
+  ;; buffer name and visited file in all cases.
+  (if (file-exists-p (buffer-file-name))
+      (rename-file (buffer-file-name) new-name 1))
+  (let ((was-modified (buffer-modified-p)))
+    ;; This also renames the buffer, and works with uniquify
+    (set-visited-file-name new-name)
+    (if was-modified
+        (save-buffer)
+      ;; Clear buffer-modified flag caused by set-visited-file-name
+      (set-buffer-modified-p nil)))
+
+  (setq default-directory (file-name-directory new-name))
+
+  (message "Renamed to %s." new-name))
+
 ;; Host specific configuration ------------------------------------------------
 (let ((host (system-name)))
   (cond ((equal host "aria.cielonegro.org")
@@ -56,7 +93,6 @@
                ))))))
 
 ;; Settings for Browser --------------------------------------------------------
-(setq browse-url-browser-function 'w3m-browse-url)
 (global-set-key "\C-xm" 'browse-url-at-point)
 
 ;; Setting for the Mode Line ---------------------------------------------------
     (cond ((equal host "seras")
            (set-frame-font "Dejavu Sans Mono 11" t))
 
+          ((equal host "yukari.cielonegro.org")
+           (set-frame-font "Dejavu Sans Mono 11" t))
+
           ((equal host "aria.cielonegro.org")
            (progn
              (set-frame-font "Dejavu Sans Mono 13" t)
-             (set-fontset-font nil 'japanese-jisx0208 "さざなみゴシック")
-             (set-fontset-font nil 'japanese-jisx0212 "さざなみゴシック")
-             (set-fontset-font nil 'katakana-jisx0201 "さざなみゴシック"))))))
+             ;; Emacs 24.4.1 somehow gets very slow when the following
+             ;; lines are uncommented.
+             ;;(set-fontset-font nil 'japanese-jisx0208 "さざなみゴシック")
+             ;;(set-fontset-font nil 'japanese-jisx0212 "さざなみゴシック")
+             ;;(set-fontset-font nil 'katakana-jisx0201 "さざなみゴシック")
+             )))))
 
 ;; Hooks for newline-and-indent ------------------------------------------------
 ;(mapcar (lambda (hook)
       (color-theme-initialize)
       (color-theme-subtle-hacker)))
 
+;; multi-term
+(autoload 'multi-term "multi-term"
+  "Create new term buffer.
+Will prompt you shell name when you type `C-u' before this command." t)
+
 ;; auto-complete
 (require-if-present 'auto-complete-config)
 (if (featurep 'auto-complete-config)
     (paren-activate))
 
 ;; elscreen
-(load "elscreen" "ElScreen" t)
-(elscreen-start)
+(condition-case e
+    (load "elscreen" "ElScreen" t)
+  (file-error
+   (if (equal (cadr e) "Cannot open load file")
+       (message "Warning: feature %s is absent" feature) ; warn and ignore
+     (apply 'signal (car e) (cdr e))))) ; rethrow
+(if (featurep 'elscreen)
+    (elscreen-start))
 (require-if-present 'elscreen-w3m)
 
 ;; undo-tree
       (append '(("\\.rst$" . rst-mode)
                 ("\\.rest$" . rst-mode)) auto-mode-alist))
 
+;; graphviz-dot-mode
+(autoload 'graphviz-dot-mode "graphviz-dot-mode"
+  "Major mode for the dot language." t)
+(add-to-list 'auto-mode-alist '("\\.dot\\'" . graphviz-dot-mode))
+(add-to-list 'auto-mode-alist '("\\.gv\\'" . graphviz-dot-mode))
+
 ;; textile-mode
 (autoload 'textile-mode "textile-mode"
   "Major mode for editing Textile documents." t)
 (autoload 'lua-mode "lua-mode" "Lua editing mode." t)
 (add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode))
 
+;; protobuf-mode
+(autoload 'protobuf-mode "protobuf-mode")
+(add-to-list 'auto-mode-alist '("\\.proto\\'" . protobuf-mode))
+
 ;; scala-mode2
 (add-to-list 'load-path "~/sandbox/_scala/scala-mode2")
 (require-if-present 'scala-mode2)
 (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
 (add-to-list 'auto-mode-alist '("\\.json$" . javascript-mode))
 
+;; typescript
+(autoload 'typescript-mode "typescript-mode"
+  "Major mode for editing typescript." t)
+(add-to-list 'auto-mode-alist '("\\.ts$" . typescript-mode))
+
 ;; vimrc
 (autoload 'vimrc-mode "vimrc-mode"
   "Major mode for editing `.vimrc', `xxx.vim' and `.exrc' files." t)
 (setq cperl-indent-level 4)
 (setq cperl-indent-parens-as-block t)
 
+;; Lua
+(autoload 'lua-mode "lua-mode" "Lua Mode" t)
+(add-to-list 'auto-mode-alist '("\\.lua\\'" . lua-mode))
+
 ;; Erlang
 (require-if-present 'erlang-start)
 (setq erlang-electric-commands nil)
 (setq tsv-separator-list '("\t"))
 ;(add-to-list 'auto-mode-alist '("\\.[Tt][Ss][Vv]\\'" . tsv-mode))
 
+;; markdown-mode
+;; http://jblevins.org/projects/markdown-mode/
+(autoload 'markdown-mode "markdown-mode.el" "Major mode for editing Markdown files" t)
+(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
+
 ;; yaml-mode
 (autoload 'yaml-mode "yaml-mode"
   "Major mode for editing YAML files." t)
 (add-to-list 'auto-mode-alist '("\\.ya?ml$"  . yaml-mode))
 
+;; less-css-mode
+(autoload 'less-css-mode "less-css-mode" "Major mode for editing LESS files" t)
+(add-to-list 'auto-mode-alist '("\\.less\\'" . less-css-mode))
+
 ;; Troublesome Tasks
 (if (equal (system-name) "seras")
     (progn
  '(ac-ignore-case nil)
  '(appt-display-format (quote window))
  '(appt-message-warning-time 20)
+ '(browse-url-browser-function (quote browse-url-firefox))
  '(canlock-password "a14fa4d2601465d55585c291fa8b3943e189e716")
  '(cleite:auto-refresh-interval nil)
  '(cleite:measure-srpc-call-time t)
  '(ecb-windows-width 0.2)
  '(elscreen-display-tab t)
  '(global-whitespace-mode t)
+ '(graphviz-dot-auto-indent-on-newline nil)
+ '(graphviz-dot-auto-indent-on-semi nil)
  '(haskell-program-name "ghci")
  '(ido-enable-flex-matching t)
  '(ido-everywhere t)
     ("\\`CVS/" "\\`#" "\\`.#" "\\`\\.\\./" "\\`\\./" "\\.ttc")))
  '(ido-work-directory-list-ignore-regexps (quote ("^\\(/mnt/ibm/\\|/Volumes/IBM80GB/\\)")))
  '(indent-tabs-mode nil)
+ '(ispell-dictionary "english")
  '(jabber-nickname "PHO")
  '(jabber-resource "emacs")
  '(jabber-server "jabber.jp")
  '(js2-mirror-mode nil)
  '(js2-use-font-lock-faces t)
  '(makefile-mode-hook (quote ((lambda nil (set-variable (quote tab-width) 8)))))
+ '(markdown-live-preview-delete-export (quote delete-on-export))
  '(mediawiki-site-alist
    (quote
     (("Wikipedia" "http://en.wikipedia.org/w/" "username" "password" "Main Page")
     ("schemas.xml" "~/share/nxml/schemas.xml" "/usr/pkg/share/emacs/site-lisp/nxml-mode/schema/schemas.xml")))
  '(rst-level-face-base-light 50)
  '(safe-local-variable-values (quote ((todo-categories "Todo" "Todo" "Todo" "Todo"))))
+ '(select-enable-clipboard t)
  '(session-use-package t nil (session))
  '(tramp-auto-save-directory "/tmp/tramp-auto-save")
  '(tramp-completion-reread-directory-timeout 2)
  '(tramp-default-method "sshx")
  '(uniquify-buffer-name-style (quote forward) nil (uniquify))
  '(uniquify-trailing-separator-p t)
+ '(vc-cvs-diff-switches (quote ("-u")))
  '(vc-cvs-stay-local nil)
  '(w3m-bookmark-file-coding-system (quote utf-8))
  '(w3m-coding-system (quote utf-8))
  '(w3m-output-coding-system (quote utf-8))
  '(w3m-terminal-coding-system (quote utf-8))
  '(w3m-use-cookies t)
+ '(whitespace-global-modes (quote (not mew-draft-mode mew-summary-mode)))
  '(whitespace-style
    (quote
     (face tabs trailing space-before-tab newline indentation empty space-after-tab)))
- '(woman-cache-filename "~/.wmncach.el")
- '(x-select-enable-clipboard t))
+ '(woman-cache-filename "~/.wmncach.el"))
 (custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.