Ctrl-zでサスペンド状態になった時の復帰方法
fg
を入力するだけ。
org-mode
org から Markdown に変換
M-x org-md-export-to-markdown
を実行。1度実行すると、ショートカットキーが使えるらしい。
なお Markdown から org へ戻すには Pandoc を使う。
- http://orgmode.org/manual/Markdown-export.html
- https://miyazakikenji.wordpress.com/2013/10/29/org-mode-%E3%81%AB-md-%E5%BD%A2%E5%BC%8F/
WindowsのEmacsでgrepを用いる
Windows の Emacs 上で M-x grep
を用いると、
No such directory found via CDPATH environment variable
のようなエラー( 環境変数CDPATHではそのようなディレクトリ見つかりません )が
出てしまう( grep をインストールし PATH を通していたとしても )。
原因として Emacs のターミナルの文字コードが
Shift-JIS になっていない可能性がある。
( Windows7 の内部エンコーディングは Shift-JIS )
そこで Emacs の標準文字コードを Shift-JIS にしてみる。
.emacs.el などに、以下の記述を追加。
(set-language-environment 'Japanese)
(prefer-coding-system 'shift_jis)
これは、
- 言語環境は日本語ですよ
- Emacs上のではどこ(バッファ、ターミナル、他)でも文字コードをShift-JISにしますよ
という設定を行っている。
この設定で Emacs の grep 内でも日本語が使えるようになる。
Shift-JISテキストのgrepが失敗する
Shift-JIS のテキストファイルを grep する際、
文字によっては grep のコマンドが正常に実行できない場合がある。
これは、Shift-JIS(cp932) の文字コードで、
2byte目が 0x5c のエスケープ文字 \ になっている為、
grep の引数が "" で閉じられない(後ろの " がエスケープされてしまう)。
この文字は俗に「だめ文字」「駄目文字」と呼ばれている。
だめ文字の詳細は↓が詳しい(だめ文字一覧が載っていて便利)。
https://sites.google.com/site/fudist/Home/grep/sjis-damemoji-jp
だめ文字を回避するには、以下の手段がある。
- grep ではなく fgrep (正規表現を使わない固定文字列検索) を用いる
- emacs 上での grep を諦めて、サクラエディタや Devas などのソフトウェアを用いる
- 一時的に nkf で UTF-8 に変換してから grep を実行するパイプを書く http://chiiiiiiiii.hatenablog.com/entry/2013/02/26/181712
grepの引数
- 正規表現で検索する場合は、引数に
-E
を指定する - マッチした前後の行を表示する場合は、引数に
-1
や-4
などの数値を指定する- 前後の行の文字は灰色に色付けされていて、見やすい
- 子ディレクトリも検索する場合は
-r
を指定する- 再帰的に検索するオプション
-
grep -nr "たまご" .\
のように書く
その他の引数は↓を参照。
- http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230786/
- http://d.hatena.ne.jp/risingsun/20050225
- http://uguisu.skr.jp/Windows/grep.html
複数のファイルにまたがる文字列を置換
grep-edit.elを用いる。
- grep-edit.elをEmacsにインストール。
- M-x grepで置換文字列を検索。
- grepの結果表示部分で
M-x replace-string
かM-x query-replace
等で一括変換- 文字列を正規表現で検索してから置換する場合は、
M-x query-replace-regexp
かM-x replace-regexp
を使う
- 文字列を正規表現で検索してから置換する場合は、
- C-c C-e で変更箇所が各ファイルに反映される
- C-x s ! で、全ファイルを保存