Emacsは,下記のように設定した.
[c:/cygwin/home/<usrname>/.emacs]
; このファイルは emacs の設定ファイルです. ; emacs の設定ファイルではセミコロン ';' 以降の文字がコメントとして扱われます. ; ファイル名を指定して起動した場合でも,分割 2 画面にしない. (setq inhibit-startup-message t) ; バックアップファイルを作成しない (setq make-backup-files nil) ; 自動保存を無効 (setq auto-save-default nil) (keyboard-translate ?\C-h ?\C-?); \C-h: Delete (keyboard-translate ?\216 ?\C-\S-n);\C-\S-n: [\C-\S-n]でも選択しながら下へ移動できるようにする (keyboard-translate ?\220 ?\C-\S-p);\C-\S-p: [\C-\S-p]でも選択しながら下へ移動できるようにする (keyboard-translate ?\206 ?\C-\S-f);\C-\S-f: 前方向に選択 (keyboard-translate ?\202 ?\C-\S-b);\C-\S-b: 後ろ方向に選択 (keyboard-translate ?\227 ?\S-\M-f);\C-\S-w: 単語単位で前方向に選択.[\M-\S-f]に同じ (keyboard-translate ?\221 ?\S-\M-b);\C-\S-q: 単語単位で後ろ方向に選択.[\M-\S-b]に同じ (keyboard-translate ?\201 ?\C-\S-a);\C-\S-a: カーソルから先頭まで選択 (keyboard-translate ?\205 ?\C-\S-e);\C-\S-e: カーソルから末尾まで選択 (keyboard-translate ?\203 ?\M-w);\C-\S-c: コピー (keyboard-translate ?\226 ?\C-y);\C-\S-v: 貼り付け (keyboard-translate ?\230 ?\C-w);\C-\S-x: 切り取り (keyboard-translate ?\232 'undo);\C-\S-z: undo ;(global-set-key "\C-z" 'undo);UndoをCtr+z でもできるようにする ;; init.el だけに設定されてしまう (setq c-basic-offset 4) ;; ホックを使った設定 ;(defun my-c-c++-mode-init () ; (setq c-basic-offset 4) ; ) ;(add-hook 'c-mode-hook 'my-c-c++-mode-init) ;(add-hook 'c++-mode-hook 'my-c-c++-mode-init) ;(setq-default tab-width 2 indent-tabs-mode nil); タブにスペースを使用する (setq default-tab-width 4);タブの表示幅の設定 ;(setq indent-tabs-mode nil) ;(keyboard-translate ?\t ?\M-i);\C-q \t: タブキーを何が何でも tab キーとして入力するための設定.[タブの入力方法: Ctrl-i/ESC-i/Alt-iのいずれか,または,Ctrl-qでエスケープしてTABキーで入力];これだと 1 タブ = 8 スペースにしないと,1 タブで 1 タブ 4 スペースが 2 つ挿入される ;(setq c-tab-always-indent t); タブ (よくあるタブの設定,上記設定と競合するため注意) ;; 改行コードを表示する (setq eol-mnemonic-dos "(CRLF)") (setq eol-mnemonic-mac "(CR)") (setq eol-mnemonic-unix "(LF)") (global-linum-mode t);行番号の表示 (setq linum-format "%4d ");行番号との間に1スペース挿入する (delete-selection-mode t);リージョンを削除できるようにする (setq scroll-conservatively 1); スクロールを1行ごとにする (global-set-key "\M-n" (lambda () (interactive) (scroll-up 1)));スクロール (global-set-key "\M-p" (lambda () (interactive) (scroll-down 1)));スクロール ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; http://myemacs.readthedocs.io/ja/latest/basic-customize.html ;; xterm のマウスイベントを取得する (xterm-mouse-mode t) ;; マウスホイールを取得する (mouse-wheel-mode t) ;; ホイールでポインタを移動できるようにする ;(global-set-key [mouse-4] (kbd "C-p")) ;(global-set-key [mouse-5] (kbd "C-n")) ;; ポインタの移動ではなくて画面をスクロールさせたい場合はこっち (global-set-key [mouse-4] '(lambda () (interactive) (scroll-down 6))) (global-set-key [mouse-5] '(lambda () (interactive) (scroll-up 6))) ;;;; カーソルのある行のハイライトを有効にする ;(global-hl-line-mode t) ;; ハイライトの色を設定します ;(custom-set-faces '(hl-line ((t (:background "dark gray")))));; これが上手く動かない (setq hl-line-face '(background "dark gray")) ;; ハイライトのスタイルをアンダーラインにします ;; ただしアンダーバーが見えづらくなる問題があります ;(setq hl-line-face 'underline) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; http://d.hatena.ne.jp/khiker/20070409/emacs_hl_line ;; 現在行をハイライト ;(global-hl-line-mode t) ;(defface my-hl-line-face ; '((((class color) (background dark)) ; カラーかつ, 背景が dark ならば, ; (:background "DarkSlateBlue" t)) ; 背景を黒に. ; ここ,動作はするが,#FFFFFF で任意の色を指定できないのでダメ. ; (((class color) (background light)) ; カラーかつ, 背景が light ならば, ; (:background "ForestGreen" t)) ; 背景を ForestGreen に. ; (t (:bold t))) ; "hl-line's my face") ;(setq hl-line-face 'my-hl-line-face) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; http://keisanbutsuriya.hateblo.jp/entry/2015/02/01/162035 (show-paren-mode t) ;; 対応する括弧をハイライト (setq show-paren-style 'parenthesis) ;対応する括弧だけをハイライト ;(setq show-paren-style 'expression) ;括弧で囲まれた部分をハイライト (setq show-paren-style 'mixed) ;画面内に対応する括弧がある場合は括弧だけを,ない場合は括弧で囲まれた部分をハイライト ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;(keyboard-translate ?\C-\S-b ?\S-\M-b) ;(global-set-key "\C-h" 'delete-backward-char) ;;; 画面右端で折り返さない (setq-default truncate-lines t) (setq truncate-partial-width-windows t) (setq x-select-enable-clipboard t);OSとクリップボードを共有(これだと上手く動作していない. Cygwin だから?) ; for clipborad (setq sysname system-type) (if (eq sysname 'darwin) (progn (defun copy-from-osx () (shell-command-to-string "pbpaste")) (defun paste-to-osx (text &optional push) (let ((process-connection-type nil)) (let ((proc (start-process "pbcopy" "*Messages*" "pbcopy"))) (process-send-string proc text) (process-send-eof proc)))) (setq interprogram-cut-function 'paste-to-osx) (setq interprogram-paste-function 'copy-from-osx) ) (message "This platform is not mac") ) (if (eq sysname 'cygwin) (progn (defun paste-from-cygwin () (with-temp-buffer (insert-file-contents "/dev/clipboard") (buffer-string))) (defun cut-to-cygwin (text &optional push) (with-temp-file "/dev/clipboard" (insert text))) (setq interprogram-cut-function 'cut-to-cygwin) (setq interprogram-paste-function 'paste-from-cygwin) ) (message "This platform is not cygwin") ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;(add-hook 'c-mode-hook ; '(lambda () ; (c-toggle-electric-state -1))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\C: Ctrl
\S: Shift
\M: Alt(Meta)
-:「同時に押す」の意味
;:コメント
(keyboard-translate ?[入力] ?[出力])
[\XXX]という番号は,emacs起動中にキーを押すと出てきた数値を入力している.PCによって異なる可能性はありうるので,注意.(当然ショートカットを割り当てた後は,数値は出ずに,割り当てたショートカットが実行される.)
windows上では,[.]から始まるファイル名を指定できないので,
一度 emacs.txt などの別名を指定した後,
$mv emacs.txt .emacs
のようにして,ファイル名を変更すると良い.windowsのキー配置では,Emacsを使用し難いため,[Caps Lock]->[Ctrl]に変更しておく(keyswapを利用).
今回は,[無変換]->[英数],[変換]->[かな]の変換も行った(IMEの設定から変更可能).
参考資料
kakakikikekeのブログ 2015年3月24日火曜日 emacs で clipborad を共有する方法
0 件のコメント:
コメントを投稿