{{tag>emacs subversion}} ======キー操作====== たぶん、もしかしたらチュートリアル以後 =====ブックマーク===== 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については * [[http://betterthangrep.com/]] * [[http://search.cpan.org/dist/ack/ack-base]] とか $ 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 | 選択したリージョンを小文字に変換 | =====色の変更を色を見ながら===== M-x customize-face