2005年度メカトロニクス演習:ノートPCプログラミング(1) †
本日の配布資料 †本日の演習スケジュール †
課題6のヒント †
動的ライブラリをリンクした実行ファイルを実行するためには, LD_LIBRARY_PATH に,動的ライブラリが登録されていなければならない. 今回のサンプル .bashrc のうち, export LD_LIBRARY_PATH=/usr/X11R6/bin の部分を, export LD_LIBRARY_PATH=/usr/X11R6/bin:/usr/local/lib/ という具合にして編集し, cp lab/liblab.dll /usr/local/lib/ として,コピーしておくと良い. LD_LIBRARY_PATHの編集結果を適用するには,Meadow のbash のバッファを一旦削除し,再び M-x shell で bash を立ち上げると良い. 訂正 †cygwin講習/cygwinコマンド †(誤)ln -s "`cygpath -dH`/Master/My Documents" MyDocuments (正)ln -s "`cygpath -dH`/root/My Documents" MyDocuments コンパイラの動作確認 †
C:\cygwin\home\work の下に notepc_sample_inamura.tgz をダウンロード cd ~/work tar zxvf notepc_sample_inamura.tgz java の確認 cd ~/work/test/java/ javac HelloWorld.java java HelloWorld gcc の確認 cd ~/work/test/gcc/ gcc -o HelloWorld.exe HelloWorld.c ./HelloWorld (上記の注意:notepc_sample_inamura.tgz の拡張子が, tgz ではなく,tar になる場合がありますが,その場合にはtar を展開して下さい) .bashrc の例 †export PAGER=less export JLESSCHARSET=japanese-sjis export LD_LIBRARY_PATH=/usr/X11R6/bin:/usr/local/lib export PATH=/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS/system32/wbem export PATH=$PATH:/cygdrive/c/jdk1.3.1_09/bin:/usr/local/bin export PATH=/usr/bin:$PATH:$LD_LIBRARY_PATH export SHELL=C:/cygwin/bin/bash export DISPLAY=localhost:0.0 alias ls="ls -aFh --color=auto --show-control-char" alias rm="rm -i" Meadowの設定ファイル †はじめに †".emacs" ファイルに日本語など ASCII 以外の文字を書く場合、".emacs" ファイルは iso-2022-7bit で保存しておきます。 Shift_JIS や EUC-JP で保存されていると、Meadow 起動時に文字符号化方式を自動判別できないからです。 文字コードの変更は,M-x set-buffer-file-coding-systemを打ってから,iso-2022-7bitと打てばOKです. また,Meadowを使う際に以下のことを実行すると効率的なプログラミングを行うことができるようになる. TABキーを押すことで,ファイル選択やコマンド入力の際に補完作業を行う. AltIMEやxkeymacsなどのツールを使って,キーバインドを変更する. 具体的には,左ControlキーとCaps lockキーを交換するのが望ましい. その理由は,ここを参考にしてもらいたい サンプル設定 †;;; 日本語環境設定
(set-language-environment "Japanese")
;;; IMEの設定
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
(setq-default mw32-ime-mode-line-state-indicator "[--]")
(setq mw32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))
(add-hook 'mw32-ime-on-hook
(function (lambda () (set-cursor-height 2))))
(add-hook 'mw32-ime-off-hook
(function (lambda () (set-cursor-height 4))))
;;; C-hでBackSpace
(keyboard-translate ?\C-h ?\C-?)
;;; M-x g goto-line
;;; デバックをする際にこれがあると便利である
(define-key esc-map "g" 'goto-line)
;;; Cygwinのbashを使う場合
(setq explicit-shell-file-name "bash.exe")
(setq shell-file-name "sh.exe")
(setq shell-command-switch "-c")
(add-hook 'shell-mode-hook
(lambda ()
(set-buffer-process-coding-system 'japanese-shift-jis-unix
'japanese-shift-jis-unix)))
色のつけ方 †色のつけ方には,他のemacsの設定と同じで2通りの方法があります. 各bufferでコマンドを打つ .emacsファイルに書く ことによって,色をつけることができます. 色をつけることでデバックがやりやすくなったり,ファイル自体が 見やすくなったりするので,ぜひemacsに色をつけてください. コマンド入力 M-x global-font-lock-mode と入力する. .emacsファイルで設定 (global-font-lock-mode t) 文字のフォント †文字のフォントは,以下の内容を.emacsに書き込むことで変更できる. 自分の好みで文字の大きさなどを変更するとよい. (create-fontset-from-request "private-fontset" '((width . 8) (height . 16) (fixed . t) (italic . nil)) '((family . "MS ゴシック") (family . "Courier New"))) ウインドウの設定 †ウインドウの色やサイズは,以下の内容を.emacsに書き込むことで設定できる. 自分の環境に最適なウインドウ設定を行うべきである. (setq default-frame-alist
(append (list '(foreground-color . "black")
'(background-color . "LemonChiffon")
'(border-color . "black")
'(mouse-color . "white")
'(cursor-color . "black")
'(width . 60)
'(height . 40)
'(font . "private-fontset")
)
default-frame-alist))
Meadow からの cygwin の shell の立ち上げ †Maedow 上で, M-x shell と打ち込むと,普通の Cygwin の画面と 同様のコマンドプロンプトが Maedow に表示されることが分る. あとは通常と同じようにコマンドを打ち込み,実行することができる. このモードを「shellモード」と呼ぶ.shellモードの利点は, プログラムの実行結果やデバッグ文等のメッセージ表示が, エディタ上に残るので,その部分をコピーペーストして レポートを作成したり,メールで転送したりするなどの作業が 容易にできる点である. ;;; Cygwin の bash を使う場合
(setq explicit-shell-file-name "bash.exe")
(setq shell-file-name "sh.exe")
(setq shell-command-switch "-c")
(add-hook 'shell-mode-hook
(lambda ()
(set-buffer-process-coding-system 'japanese-shift-jis-unix
'japanese-shift-jis-unix)))
.emacsファイル †以上の設定を踏まえた.emacsファイルは以下のようになる. 説明していない部分については,適当に聞いてもらいたい. ;;; 色をつける.
(global-font-lock-mode t)
;;; 日本語環境設定
(set-language-environment "Japanese")
;;; IMEの設定
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
(setq-default mw32-ime-mode-line-state-indicator "[--]")
(setq mw32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))
(add-hook 'mw32-ime-on-hook
(function (lambda () (set-cursor-height 2))))
(add-hook 'mw32-ime-off-hook
(function (lambda () (set-cursor-height 4))))
;;; C-hでBackSpace
(keyboard-translate ?\C-h ?\C-?)
;;; M-x g goto-line
;;; デバックをする際にこれがあると便利である
(define-key esc-map "g" 'goto-line)
;;; Cygwinのbashを使う場合
(setq explicit-shell-file-name "bash.exe")
(setq shell-file-name "sh.exe")
(setq shell-command-switch "-c")
(add-hook 'shell-mode-hook
(lambda ()
(set-buffer-process-coding-system 'japanese-shift-jis-unix
'japanese-shift-jis-unix)))
(display-time)
(auto-compression-mode t)
;;; 文字の設定
(create-fontset-from-request "private-fontset"
'((width . 8)
(height . 16)
(fixed . t)
(italic . nil))
'((family . "MS ゴシック")
(family . "Courier New")))
;;; ウインドウの設定
(setq default-frame-alist
(append (list '(foreground-color . "black")
'(background-color . "LemonChiffon")
'(border-color . "black")
'(mouse-color . "white")
'(cursor-color . "black")
'(width . 60)
'(height . 40)
'(font . "private-fontset")
)
default-frame-alist))
;;; shell-clear (by ogura)
;;; shellでC-lしたとき,すべて消えるように.
(defun shell-clear()
"In shell-mode,clear all display and move cursor top of the buffer."
(interactive)
(recenter 0))
(eval-after-load "shell"
'(define-key shell-mode-map "\C-l" 'shell-clear))
;;shell-modeでlsしたとき色を表示
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
おまけ †emacsキーバインドを覚えてemacsを使いこなそう!! 基本の基本: 基本:
応用(コピペ):
応用(ファイル操作):
慣れると,マウスでGUIを操作するより10倍早く操作できる! 応用(ウィンドウ操作):
応用(置換):
講義・演習? |