以前のリビジョンの文書です


キー操作

たぶん、もしかしたらチュートリアル以後

ブックマーク

emacsでブックマークを使うときのコマンド

コマンド 動作
C−x r m 現在の場所をブックマークに設定
C-x r b ブックマークを呼び出す
C-x r l ブックマークリストバッファを表示
M-x bookmark-rename ブックマークの名前を変更する 
M-x bookmark-delete ブックマークを削除する

vc,psvn(バージョン管理)

VCのコマンド

コマンド 動作
C-x v v 次のバージョン管理状態に移行する
C-x v d ディレクトリに内の登録済みのファイルを全て表示する
C-x v = リビジョン間の差分レポートを表示する
C-x v u 最後のチェックイン以降の変更を破棄し、前のリビジョンに戻す
C-x v ~ 指定したリビジョンを別のウィンドウに読み込む
C-x v l ファイルの変更コメントと履歴を表示する
C-x v i ファイルをバージョン管理用に登録する
C-x v h ファイルにバージョン管理ヘッダを挿入する
C-x v r 名前付きのプロジェクトのスナップショットをチェックアウトする
C-x v s 名前付きのプロジェクトのスナップショットを作成する
C-x v c 保存済みのリビジョンを破棄する
C-x v a GNUスタイルのChangelog(変更履歴)ファイルを更新する

psvnのコマンド

コマンド 動作 コマンド 動作
M-x svn-status 起動 c svn-status-commit
M-u svn-status-update-cmd g svn-status-update
A svn-status-add-file-recursively = svn-status-show-svn-diff
r svn-status-revert X v svn-status-resolved
m svn-status-set-user-mark u svn-status-unset-user-mark
l svn-status-show-svn-log i svn-status-info
U svn-status-update-cmd M-s svn-status-update
M-x svn-examine is alias for svn-status a svn-status-add-file
C-u g svn-status-update + svn-status-make-directory
R svn-status-mv C svn-status-cp
D svn-status-rm M-c svn-status-cleanup
k svn-status-lock K svn-status-unlock
b svn-status-blame X e svn-status-export
RET svn-status-find-file-or-examine-directory svn-status-examine-parent
~ svn-status-get-specific-revision E svn-status-ediff-with-revision
X X svn-status-resolve-conflicts s svn-status-show-process-buffer
h svn-status-pop-to-partner-buffer e svn-status-toggle-edit-cmd-flag
? svn-status-toggle-hide-unknown _ svn-status-toggle-hide-unmodified
$ svn-status-toggle-elide w svn-status-copy-current-line-info
DEL svn-status-unset-user-mark-backwards * ! svn-status-unset-all-usermarks
* ? svn-status-mark-unknown * A svn-status-mark-added
* M svn-status-mark-modified * D svn-status-mark-deleted
* * svn-status-mark-changed * . svn-status-mark-by-file-ext
* % svn-status-mark-filename-regexp . svn-status-goto-root-or-return
f svn-status-find-file o svn-status-find-file-other-window
C-o svn-status-find-file-other-window-noselect v svn-status-view-file-other-window
I svn-status-parse-info V svn-status-svnversion
P l svn-status-property-list P s svn-status-property-set
P d svn-status-property-delete P e svn-status-property-edit-one-entry
P i svn-status-property-ignore-file P I svn-status-property-ignore-file-extension
P C-i svn-status-property-edit-svn-ignore P k svn-status-property-set-keyword-list
P K i svn-status-property-set-keyword-id P K d svn-status-property-set-keyword-date
P y svn-status-property-set-eol-style P x svn-status-property-set-executable
P m svn-status-property-set-mime-type H svn-status-use-history
x svn-status-update-buffer q svn-status-bury-buffer
C-x C-j svn-status-dired-jump

検索と置換

正規表現のコマンド

コマンド 動作
C-M-% 正規表現での問い合わせ置換を行う
C-M-s Enter 順方向に正規表現検索を行う
C-M-r Enter 逆方向に正規表現検索を行う 
C-M-s 順方向に正規表現でインクリメンタル検索を行う
C-M-r 逆方向に正規表現でインクリメンタル検索を行う
replace-regexp 確認なしで正規表現での置換を行う
isearch-forward-regexp 正規表現がマッチしているかどうかテストできる

C-M-%やreplace-regexpの前にisearch-forward-regexpで正規表現のテストをしておくと安心。

問い合わせ置換のコマンドと返答

コマンド 動作
M-% 問い合わせ置換
y,Space 検索文字列を置換文字列に置き換え、次の検索文字列に移動する
n,Del 置換せずに次の検索文字列に移動する
, 置換を試す。(y,spaceで確定する)
! 残り全てを確認せずに置換
一つ前の検索文字列に移動する
Enter,q 問い合わせ置換を終了する 

正規表現に使用する文字

文字 マッチ
行頭
$ 行末
. 任意の1文字 
.* 0個以上の任意の文字
\< 単語の先頭
\> 単語の末尾
[] 括弧の中の任意の文字。[a-z]で小文字のどれか。[0-9]で数字のどれか
\s, \S 任意のホワイトスペース(スペース、改行、タブ、復帰、改ページ、バックスペース)\Sはそれ以外 
\d, \D 1個の0~9の数字 \Dはそれ以外
\w, \W 単語を構成する任意の文字(大文字、小文字、数字、アンダースコア)\Wはそれ以外
\(\) 後方参照ようの括弧は開始も閉じ括弧も\でエスケープしとかないとだめ。
\n 後方参照。 \に数字

インクリメンタル検索のコマンド

コマンド 動作
C-s 順方向のインクリメンタル検索
C-r 逆方向のインクリメンタル検索
C-s C-s 順方向へ検索を繰り返す
C-r C-r 逆方向へ検索を繰り返す
Enter インクリメンタル検索を終了する 
C-s C-w カーソルが位置している単語を検索文字列としてインクリメンタル検索を開始する
C-s C-y カーソルの位置から行末までを検索文字列としてインクリメンタル検索を開始する

ECB

コマンド 動作
C-c . g d ディレクトリ枠へフォーカスする
C-c . g s ソースファイル枠へフォーカスする
C-c . g m メソッド枠へフォーカスする
C-c . g h 履歴枠へフォーカスする 

elscreen

コマンド  動作
C-z C-c 新規タブ作成
C-z C-f 新規タブにファイルを開く
C-z C-n,C-z C-p タブ移動
C-z C-k 現在のタブを消す

Emacsで文字コード,改行コードの変更

「C-x RETURN f」と入力後、コードを示す文字列を入力する。

改行\漢字 utf-8 shift-jis euc-jp
CR+LF utf-8-dos sjis-dos euc-jp-dos
CR utf-8-mac sjis-mac euc-jp-mac
LF utf-8-unix sjis-unix euc-jp-unix

例 shift-jisのwindows改行コード(CR+LF)

Coding system for saving file (deault nil):sjis-dos

コメント

コマンド 動作
M-; コメントの挿入
M-j コメントを次の行に続ける
M-x comment-region マークセットした場所からカーソルまで一括コメント
M-x kill-comment コメントを一行削除 
M-x comment-or-uncomment-region 一括コメントか一括アンコメント 

インデント

M-x indent-region でマークセットした場所からカーソルまで一括インデント

ソースコード検索

M-x grep-findが便利。 ackというソースコード検索を使う場合はまずackをインストール

$ sudo -H cpan -i App::Ack

でemacs.elとかに

(defun ack ()
  (interactive)
  (let ((grep-find-command "ack --nocolor --nogroup "))
    (call-interactively 'grep-find)))

でM-x ackとかで.svnとかのファイルは無視して検索してくれる

逆に全部のファイルから検索したい場合は(検索してくれるファイルタイプが少なくて困ることが多い) -aオプションをつける

emacs中に

M-x ack Enter
 
ack --nocolor --nogroup -a "pettern" (-aを付け足す)

ackについては

とか $ ack –helpで。

init.elの再読み込み

何度もemacs再起動がめんどくさい

M-x eval-current-buffer

bufferの全削除

意味あるかわからないけど精神衛生上こまめに消したくなる。

(defun close-all-buffers ()
  (interactive)
  (mapc 'kill-buffer (buffer-list)))

をinit.elにでも書いて

M-x close-all-buffer

大文字、小文字の変換

コマンド 動作
M-u カーソル位置以降の単語を大文字
M-l カーソル位置以降の単語を小文字
M-c カーソル位置以降の単語の最初の文字だけ大文字に変換
C-x C-u 選択したリージョンを大文字に変換 
C-x C-l 選択したリージョンを小文字に変換 
development_tool/emacs/command.1440407072.txt.gz · 最終更新: 2015/08/24 09:04 by eiji