emacs memo

Emacsメモ
例によって自分用メモなので、内容が間違ってたり偏っていたりしています。

・置換

文字列置換
M-x replace-string ( M-% )
置換前文字列を入力し、置換後の文字列を入力します。正規表現ではないのでそのまま素直に入力。 

M-x replace-regexp ( M-C-% )
置換前文字列を入力し、置換後の文字列を入力します。正規表現なので、良い感じになるように良い感じの正規表現を入力。

・文字コード変更

C-x RET c で文字コードを入力します。

・矩形選択

C-x r k 矩形領域を切り取り。
C-x r y 矩形領域を現在のカーソル位置にyank。
C-x r t 矩形領域の各先頭行に文字列を追加or置き換え。

・キーバインド

バッファー

C-x b switch-to-buffer 指定されたバッファに移動。
C-x → next-buffer バッファリスト中の次のバッファに移動する。
C-x ← previous-buffer バッファリスト中の前のバッファに移動する。
C-x C-b list-buffers バッファリストを表示する。
C-x k kill-buffer 指定されたバッファを削除する。

next-buffer , previous-bufferは少なくともGNU Emacs 21.3.1では使用できませんでした。22系だとOK。

・バインド確認

M-x where-isを入力。その後コマンドを入力するとどのキーにバインドされているか表示されます。

・バインド確認その2

M-x describe-keyを入力。 その後キーを押下すると、そのキーに何がバインドされているかコマンドが表示される。

・キーバインド設定

~/.emacsとかに以下のように設定。
(global-set-key “C-xC-f” ‘next-buffer)
これでCtrl+x Ctrl+pでnext-bufferを入力したのと同じ効果があります。

・ブックマーク
よく使うファイルや、大きなファイルでの位置を覚えたい場合、ブックマークを行う。

C-x r m ブックマークの追加
C-x r l ブックマークの一覧表示

個人的メモ
;; buffer
(global-set-key “C-cC-f” ‘next-buffer) ;next-buffer
(global-set-key “C-cC-b” ‘previous-buffer) ;next-buffer

;; メニューとツールバーを消す
(menu-bar-mode 0)
(tool-bar-mode 0)

メニューにアクセス
F10 または Esc-`

;; move window (Shift + cursor)
(windmove-default-keybindings)
(setq windmove-wrap-around t)

GDB
M-x gdb
Brake point C-x space

window.el
window切り替え C-c (番号)

 

gnupackを使おう

Windowsでは、gnupackを使うと便利。ダウンロードして解凍すればWindowsでemacsを使うことができる。

ファイル関連付けし、emacsをデフォルトのエディタとして使う

普通にemacs.exeに関連付けしてしまうと、ファイルを開くたびにemacsが起動してしまう。便利に使うには、すでに起動中のemacsで開いてほしいところ。
これを可能にするのがgnuservで、クライアント経由で起動すると、サーバのemacsで開いてくれる。

インストール

まずgnuservを入れる。http://www2.odn.ne.jp/piyokun/emacs/gnuserv.htm からgunuservをダウンロード。gnuserv-2.0.2.2をダウンロードした。解凍し、Releaseディレクトリにある、4つのexeファイルをgnupackのインストールディレクトリのapp\emacs\emacs\binにコピーする。

次に、gnuserv.elをgnupackのインストールディレクトリのapp\emacs\site-lispにコピーする。

 

.emacs.elに次の設定を追加する。

(require ‘gnuserv)
(gnuserv-start)
(setq gnuserv-frame (selected-frame))

Macで起動中のEmacsを使う設定
(setq ns-pop-up-frames nil)
(define-key global-map [ns-drag-file] ‘ns-find-file)

 

 

No Comments

Post a Comment

コメントを投稿するには、下の計算の答えを入力する必要があります。答えは半角数字で入力してください。 * Time limit is exhausted. Please reload the CAPTCHA.