2004-07-07 (Wed) [長年日記]
_ libapache2-mod-ruby
sidに入ったみたい。
_ uim-primeのvi対応
viでuim-primeを使っていると、ついつい英数モードにするのを忘れて escapeを押してしまう。
anthy-dev MLで聞いてみたところ、.uimにこんなのを入れとけば、escapeの 時に自動で英数モードにできるようだ。
(define prime-push-key-orig prime-push-key) (set! prime-push-key (lambda (c key key-state) (if (or (= key 'escape) (and (= key 91) ;; [ (= key-state 2))) ;; control (let ((sc (context-data c)) (id (context-id c))) (prime-context-set-mode! sc prime-mode-latin) (prime-update-mode id sc))) (prime-push-key-orig c key key-state)))
ついでに、もう一度iとかでinsert modeに戻る時に、前のuim-primeの モードに戻すようにしてみた。
(define prime-suspended-mode -1) (define prime-in-vi-c-command #f) (define prime-context-set-mode-orig! prime-context-set-mode!) (set! prime-context-set-mode! (lambda (ac mode) (set! prime-suspended-mode -1) (set! prime-in-vi-c-command #f) (prime-context-set-mode-orig! ac mode))) (define prime-push-key-orig prime-push-key) (set! prime-push-key (lambda (c key key-state) (let* ((sc (context-data c)) (mode (prime-context-mode sc))) (prime-push-key-orig c key key-state) (cond ((and (not (= mode prime-mode-latin)) (or (= key 'escape) (and (= key 91) ;; [ (= key-state 2)))) ;; control (prime-context-set-mode-orig! sc prime-mode-latin) (prime-update-mode (context-id c) sc) (set! prime-suspended-mode mode) (set! prime-in-vi-c-command #f)) ((and (= mode prime-mode-latin) (>= prime-suspended-mode 0)) (cond ((or (= key 105) ;; i (= key 73) ;; I (= key 97) ;; a (= key 65) ;; A (= key 111) ;; o (= key 79) ;; O (= key 67) ;; C (= key 115) ;; s (= key 83) ;; S (and prime-in-vi-c-command (or (= key ) (= key 108) ;; l (= key 119) ;; w (= key 101) ;; e (= key 99) ;; c (= key 71)))) ;; G (prime-context-set-mode-orig! sc prime-suspended-mode) (prime-update-mode (context-id c) sc) (set! prime-suspended-mode -1) (set! prime-in-vi-c-command #f)) ((= key 99) ;; c (set! prime-in-vi-c-command #t)) ((or (= key 58) ;; : (= key 47) ;; / (= key 63) ;; ? (= key 33) ;; ! (= key 'escape)) (set! prime-suspended-mode -1) (set! prime-in-vi-c-command #f))))))))
やっぱりSchemeは日常的に使うのはつらそうだなあ。 自分の能力的に。
_ modruby.net
リニューアルしました。