Emacsでさっきのコマンドをもう一度実行する

Emacsで、さっきミニバッファで入力したコマンドを、もう一回というときは、

  • C-x ESC ESC (repeat-complex-command)

を入力する。そうすると、ミニバッファにさっきのコマンドが表示されるので、必要に応じて編集し、実行する。

f:id:tt195361:20161226152501p:plain

もう一回前、あるいは次のコマンド、というときは

  • M-p (previous-history-element)
  • M-n (next-history-element)

してみよう。

Emacsであるものを使って楽に入力する

入力したいものはEmacsのどこかにある、、、というときは、

  • 最初の何文字かを入力し、
  • M-/ (dabbrev-expand)

してみましょう。

そうするとEmacsは、

  • バッファから入力した文字で始まる語を探し、
  • 入力に続く部分を追加してくれます。

思っていたものと違ったときは、連続して M-/ すると次の単語にしてくれます。

f:id:tt195361:20161216113727p:plain

Interpreterパターン

Interpreterパターンは、文法を解釈しその内容を実行するインタプリタの作成に使う。ここでは、以下の仕様の 1 桁の数字を計算するインタプリタを作ってみる。

  • 使用できる演算子は '*' と '+'。
  • '*' は '+' より先に計算する。
  • '(' と ')' で囲んだ部分は先に計算する。

このインタプリタの文法は以下の通り。

続きを読む

Stateパターン

Stateパターンは、オブジェクトの状態によって動作を変えるときに使う。

例として文字列の引用符 (") の対応をチェックしてみる。ここで、オブジェクトの状態は、

  • 引用符の外
  • 引用符の中

の二つ。それぞれの状態での動作は、

続きを読む

Visitorパターン

デザインパターンの中のVisitorパターンは、

  • データ構造をたどって、その要素について処理をし、かつ、
  • その処理が複数ある。

という場合に使う。ここでは、データ構造として以下のようなComponentクラス, Compositeクラス, およびLeafクラスを使った木構造を例として使う。

続きを読む

Windowsでのバックアップ

Windowsでファイルをバックアップするには xcopy が便利。

こんなバッチファイルを作成しておいて、実行すればよい。

set SOURCE=C:\Source
set DESTINATION=D:\Backup
REM /C: コピー時のエラーを無視する
REM /D: コピー先に同名のファイルが存在する場合に更新日が新しいファイルのみコピーする
REM /E: ファイルが存在しなくてもディレクトリごとコピーする
REM /I: コピー先のディレクトリが存在しない場合は新規にディレクトリを作成する
REM /H: 隠しファイルやシステムファイルも全てコピーする
REM /R: 読み取り専用属性のファイルも上書きコピーできるようにする
REM /Y: 同名のファイルが存在する場合、上書きの確認を行わない
xcopy %SOURCE% %DESTINATION% /C /D /E /I /H /R /Y
pause