Skip to content

Instantly share code, notes, and snippets.

@mizchi
Created May 29, 2010 06:21
Show Gist options
  • Save mizchi/418084 to your computer and use it in GitHub Desktop.
Save mizchi/418084 to your computer and use it in GitHub Desktop.
;;~/.emacs.d/elisp/vls.el
;使い方
; パスを通った場所に置き ~/.emacs.d/init.el あるいは ~/.emacs.el で
; (require 'vls)
; (global-set-key "\C-cv" 'vls) ;; Ctrc-c v で起動
; ;;(global-vls-mode) ;;副作用が大きいので推奨しない
(defvar vls-normal-map (make-keymap))
(defvar vls-insert-map (make-keymap))
(defvar vls-sleep-map (make-keymap))
(easy-mmode-define-minor-mode vls-normal-mode
"normal-mode mapping mode"
nil
" vls[normal]"
vls-normal-map
)
(easy-mmode-define-minor-mode vls-insert-mode
"insert-mode mapping mode"
nil
" vls[insert]"
vls-insert-map
)
(easy-mmode-define-minor-mode vls-sleep-mode
"sleep-mode mapping mode"
nil
" vls[sleep]"
vls-sleep-map
)
(defun vls-insert ()
(interactive)
(vls-normal-mode 0)
(vls-insert-mode 1)
(vls-sleep-mode 0)
(setq cursor-type 'bar)
(change-cursor-color "red")
)
)
(defun vls-normal ()
(interactive)
(vls-normal-mode 1)
(vls-insert-mode 0)
(vls-sleep-mode 0)
(setq cursor-type 'box)
(change-cursor-color "gray")
;;(mac-change-language-to-us);; 日本語化パッチがあれば
)
(defun vls-sleep ()
(interactive)
(vls-normal-mode 0)
(vls-insert-mode 0)
(vls-sleep-mode 1)
(setq cursor-type 'box)
)
(defun vls ()
(interactive)
(vls-normal)
)
(defun change-cursor-color (arg) (interactive)
(if window-system (progn
(set-cursor-color arg)
))
)
(defun vls-dd ()
(interactive)
(beginning-of-line)
(kill-line)
)
(defun vls-beginning-of-buffer ()
(interactive)
(beginning-of-buffer)
)
(define-global-minor-mode global-vls-mode
vls-normal-mode vls-normal)
(provide 'vls)
;;初期化
(define-key vls-normal-map "a" 'ignore)(define-key vls-normal-map "b" 'ignore)(define-key vls-normal-map "c" 'ignore)
(define-key vls-normal-map "d" 'ignore)(define-key vls-normal-map "e" 'ignore)(define-key vls-normal-map "f" 'ignore)
(define-key vls-normal-map "g" 'ignore)(define-key vls-normal-map "h" 'ignore)(define-key vls-normal-map "i" 'ignore)
(define-key vls-normal-map "j" 'ignore)(define-key vls-normal-map "k" 'ignore)(define-key vls-normal-map "l" 'ignore)
(define-key vls-normal-map "m" 'ignore)(define-key vls-normal-map "n" 'ignore)(define-key vls-normal-map "o" 'ignore)
(define-key vls-normal-map "p" 'ignore)(define-key vls-normal-map "q" 'ignore)(define-key vls-normal-map "r" 'ignore)
(define-key vls-normal-map "s" 'ignore)(define-key vls-normal-map "t" 'ignore)(define-key vls-normal-map "u" 'ignore)
(define-key vls-normal-map "v" 'ignore)(define-key vls-normal-map "w" 'ignore)(define-key vls-normal-map "x" 'ignore)
(define-key vls-normal-map "y" 'ignore)(define-key vls-normal-map "z" 'ignore)
(define-key vls-normal-map "A" 'ignore)(define-key vls-normal-map "B" 'ignore)(define-key vls-normal-map "C" 'ignore)
(define-key vls-normal-map "D" 'ignore)(define-key vls-normal-map "E" 'ignore)(define-key vls-normal-map "F" 'ignore)
(define-key vls-normal-map "G" 'ignore)(define-key vls-normal-map "H" 'ignore)(define-key vls-normal-map "I" 'ignore)
(define-key vls-normal-map "J" 'ignore)(define-key vls-normal-map "K" 'ignore)(define-key vls-normal-map "L" 'ignore)
(define-key vls-normal-map "M" 'ignore)(define-key vls-normal-map "N" 'ignore)(define-key vls-normal-map "O" 'ignore)
(define-key vls-normal-map "P" 'ignore)(define-key vls-normal-map "Q" 'ignore)(define-key vls-normal-map "R" 'ignore)
(define-key vls-normal-map "S" 'ignore)(define-key vls-normal-map "T" 'ignore)(define-key vls-normal-map "U" 'ignore)
(define-key vls-normal-map "V" 'ignore)(define-key vls-normal-map "W" 'ignore)(define-key vls-normal-map "X" 'ignore)
(define-key vls-normal-map "Y" 'ignore)(define-key vls-normal-map "Z" 'ignore)
(define-key vls-normal-map "1" 'ignore)(define-key vls-normal-map "2" 'ignore)(define-key vls-normal-map "3" 'ignore)
(define-key vls-normal-map "4" 'ignore)(define-key vls-normal-map "5" 'ignore)(define-key vls-normal-map "6" 'ignore)
(define-key vls-normal-map "7" 'ignore)(define-key vls-normal-map "8" 'ignore)(define-key vls-normal-map "9" 'ignore)
(define-key vls-normal-map "@" 'ignore)(define-key vls-normal-map "[" 'ignore)(define-key vls-normal-map "]" 'ignore)
(define-key vls-normal-map "_" 'ignore)(define-key vls-normal-map "/" 'ignore)(define-key vls-normal-map "," 'ignore)
(define-key vls-normal-map "." 'ignore)
(define-key vls-normal-map "!" 'ignore)(define-key vls-normal-map "#" 'ignore)(define-key vls-normal-map "$" 'ignore)
(define-key vls-normal-map "%" 'ignore)(define-key vls-normal-map "&" 'ignore)(define-key vls-normal-map "'" 'ignore)
(define-key vls-normal-map "(" 'ignore)(define-key vls-normal-map ")" 'ignore)(define-key vls-normal-map "-" 'ignore)
(define-key vls-normal-map "~" 'ignore)(define-key vls-normal-map "{" 'ignore)(define-key vls-normal-map "}" 'ignore)
(define-key vls-normal-map "?" 'ignore)(define-key vls-normal-map ":" 'ignore)(define-key vls-normal-map ";" 'ignore)
(define-key vls-normal-map ">" 'ignore)(define-key vls-normal-map "<" 'ignore)
(define-key vls-normal-map "h" 'backward-char)
(define-key vls-normal-map "j" 'next-line)
(define-key vls-normal-map "k" 'previous-line)
(define-key vls-normal-map "l" 'forward-char)
(define-key vls-normal-map "g" 'beginning-of-buffer)
(define-key vls-normal-map "G" 'end-of-buffer)
(define-key vls-normal-map "p" 'yank)
(define-key vls-normal-map "d" 'vls-dd)
(define-key vls-normal-map "/" 're-search-forward)
(define-key vls-normal-map "?" 're-search-backward)
(define-key vls-normal-map "!" 'shell-command)
(define-key vls-normal-map "a" "li")
(define-key vls-normal-map "o" "\C-e\C-ji")
(define-key vls-normal-map "w" 'backward-word)
(define-key vls-normal-map "e" 'forward-word)
(define-key vls-normal-map "\M-h" 'scroll-down)
(define-key vls-normal-map "\M-l" 'scroll-up)
(define-key vls-normal-map "i" 'vls-insert)
(define-key vls-normal-map "v" 'set-mark-command)
(define-key vls-normal-map "c" 'kill-ring-save)
(define-key vls-normal-map "x" 'delete-char)
(define-key vls-normal-map "\M-e" 'eval-region)
(define-key vls-normal-map [C-return] 'other-window)
(define-key vls-normal-map "b" 'anything)
(define-key vls-normal-map " " 'anything)
(define-key vls-normal-map ":" 'execute-extended-command)
(define-key vls-normal-map ";" 'comment-dwim)
(define-key vls-normal-map "\C-h" 'tabbar-backward-tab)
(define-key vls-normal-map "\C-l" 'tabbar-forward-tab)
(define-key vls-normal-map "v" 'set-mark-command)
(define-key vls-normal-map "\C-g" 'keyboard-quit)
(define-key vls-normal-map "\C-d" "\C-v")
(define-key vls-normal-map "\C-u" "\M-v")
(define-key vls-normal-map "\C-cn" 'multi-term-next)
(define-key vls-normal-map "\C-cp" 'multi-term-prev)
(define-key vls-normal-map "\C-z" 'vls-sleep)
;;vls-insert-map
(define-key vls-insert-map [C-return] 'vls-normal)
(define-key vls-insert-map "\C-g" 'vls-normal)
(define-key vls-insert-map "\C-h" 'delete-backward-char)
(define-key vls-insert-map "\C-w" "()\C-b")
(define-key vls-insert-map "\C-e" " = ")
(define-key vls-insert-map "\M-j" ".")
(define-key vls-insert-map "\M-k" ",")
(define-key vls-insert-map "\C-v" "-")
;;vls-sleep-mode-map
(define-key vls-sleep-map [(esc-map) q] 'vls-normal)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment