No Programming, No Life

プログラミング関連の話題や雑記

.xyzzyメモ

ほんとはgithubとかにあげておいたほうがいいんだけど時間がないのでとりあえずブログにでも。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Thanks to http://chez-sugi.net/xyzzy/xyzzy001.html

;; インクリメンタルサーチ
(require "isearch")

;; IME切替
;(global-set-key #\C-u 'toggle-ime)

;; dabbrev
(require "dabbrev")
(global-set-key #\M-/ 'dabbrev-expand)

;; statusバーにカーソル位置の文字コードを表示する
(setq *status-bar-format* "%t%c%u")

;; マウスだけでコピー・ペースト
;(defun mouse-right-press ()
;  (interactive)
;  (mouse-left-press)
;  (paste-from-clipboard)) 
;(global-set-key #\LBtnUp 'copy-selection-to-clipboard) 
;(global-set-key #\RBtnUp 'mouse-right-press)
;(global-set-key #\MBtnUp 'mouse-menu-popup)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; thanks to http://d.hatena.ne.jp/negation/20090218/1234908800
;; synclonize clipboad and kill-ring
(defun copy-selection-region-to-clipboard ()
  (interactive)
  (setq is-selected nil)
  (if (and *shodat-copy-mode*
    (pre-selection-p))
    (let *1
      (copy-region-to-clipboard (mark) (point))))
t)

(defun kill-selection-region-to-clipboard ()
  (interactive "*")
  (setq is-selected nil)
  (selection-start-end (start end)
    (copy-region-as-kill start end)
    (kill-region-to-clipboard start end)
    (setq is-selected t))
  (if (eq is-selected nil)
    (progn
      (copy-region-as-kill (mark) (point))
      (kill-region-to-clipboard (mark) (point))))
t)

(defun kill-line-to-clipboard ()
  "kill line to clipboard"
  (interactive)
  (setq kill-line-to-clipboard-start (point))
  (end-of-line)
  (if (eq kill-line-to-clipboard-start (point))
    (delete-char)
    (progn
      (copy-region-as-kill kill-line-to-clipboard-start (point))
      (kill-region-to-clipboard kill-line-to-clipboard-start (point)))))

(define-key *global-keymap* #\C-w 'kill-selection-region-to-clipboard )
(define-key *global-keymap* #\M-w 'copy-selection-region-to-clipboard )
(define-key *global-keymap* #\C-y 'paste-from-clipboard )
(define-key *global-keymap* #\C-k 'kill-line-to-clipboard )

;; すべて選択
(global-set-key '(#\C-x #\h) 'selection-whole-buffer)

;; IMEのステータスを表示 
(setq-default mode-line-format "--%*- %b (%M) [%k:%l] %P %f [%i]")

;; バッファ移動 
(setq *next-buffer-in-tab-order* t) ; バッファ移動をタブ順に 
(global-set-key #\M-Right 'next-buffer) ; 前のバッファに移動 
(global-set-key #\M-Left 'previous-buffer) ; 後のバッファに移動 

;; 初期ディレクトリ
;(set-default-directory "C:/work")

*1:type (get-selection-type))) (selection-start-end (start end) (copy-region-as-kill start end) (copy-region-to-clipboard start end) (setq is-selected t) (start-selection type t end))) (selection-start-end (start end) (copy-region-as-kill start end) (copy-region-to-clipboard start end) (setq is-selected t))) (if (eq is-selected nil) (progn (copy-region-as-kill (mark) (point