Memoize

BasicWerk   EC Support   Technique   Facebook  

20141213111526_Emacs_tuto

Emacs_tuto

 

Mac (Yosemite) で Emacs を使ってみる。

 

 

タブ幅


~/.emacs には差し当たって、

(setq-default tab-width 4)
(setq default-tab-width 4)

とだけ設定して起動。

これで Vim など他エディタで編集済みのファイルを読み込んだ時の表示も、Emacs での編集中に入力するタブ文字の幅も半角スペース 4 文字になる。

 

 

C-g


とにかくなんかおかしくなったら C-g

 

 

メタキー


デフォの ESC キーだとちと不便なので、ターミナルの「環境設定>プロファイル>キーボード」の画面で、「メタキーとして Option キーを使用」にチェック。

 

 

コマンドを長い名前で入力


META xlong-command-name RET

 

 

Save


C-x C-s

 

 

Quit


C-x C-c

 

 

ファイルを読み込む


C-x C-f の後にミニバッファでファイルを指定して RET

間違って別のファイル(や、ファイルの名前を打ち間違えた)を読み込んでしまった場合は C-x C-v (find-alternate-file) で現在のバッファを入れ替える事ができる。

 

 

別のファイルを読み込む


Vim だったら :.!cat file とするところを、C-x i で読み込める。読み込み位置はカーソルが居る所。

 

 

META f/b/a/e/


C-f/b/a/e に対応するように、

  • META f 次の単語
  • META b 前の単語
  • META a 一つ前の文の文頭
  • META e 一つ後の文の文末

 

あと、META < はテキストの先頭、META > は末尾。

 

 

スクロール


C-v 下へ

META v 上へ

 

 

画面の再表示(Vim の zz として使う)


C-l (小文字のエル) はそもそも画面の再表示コマンドだが、カーソル行をウィンドウの中央に持ってくるのに使える。

 

 

Undo


C-_ 若しくは C-x u

 

 

削除


C-k でカーソル位置から行の末尾まで削除。

META d (kill-word)

META DEL (backword-kill-word)

 

ちなみにカーソルが実際にある位置(?)は反転している箇所の先頭である(ん〜なんか上手く言えないけど、要はカーソルの前)。

だから C-d はカーソルによって反転しているその文字を消す。

 

 

ヤンク


C-y キルしたもの(若しくはマークして META w したもの)を貼り付ける。

 

例えば Vim の行ごとコピー(yyp)なら、C-a C-k C-k C-y C-y

つまり、

  • C-a で行頭に
  • C-k 2 回で文末までと改行を削除
  • 最初の C-y で元の行を復活
  • 次の C-y でその下(改行を含めてヤンクするので結果的に下の行)にヤンク

 

コピー&ペーストでやるなら

  1. リージョンの先頭に移動して C-@
  2. (方法は何でもいいから) リージョンの末尾に移動
  3. C-x C-x でマーク位置を確認
  4. META w でマークしたリージョンをバッファにコピー
  5. 貼り付けたい位置までカーソルを移動して C-y

 

 

インクリメンタル検索


C-s は順方向、C-r は逆方向にタイプした文字を検索する。

目的の場所に辿り着いたら RET を押して検索モードを終了。

 

C-s C-w は現在カーソルがある単語をキーに検索。

C-s C-s は直前の検索を繰り返す。

 

 

シェルコマンドの単独実行


META ! でミニバッファの中でシェルコマンドを一つ実行できる。

C-x 1 でミニバッファをクリアできる。

 

事前に C-u しておけば、カレントバッファにシェルコマンドの出力を読み込める。

 

試しに現在編集中のこのファイルの行数を書き込んでみよう (ファイル名は memo) 。

C-u META ! wc -l memo
     117 memo

 

 

バッファの移動


C-x C-b バッファリストを表示

C-x b バッファ名を入力してそこへ切り替え

C-x k 入力したバッファを削除

C-x s 入力したバッファを保存

 

 

シェルコマンドの対話モード実行


対話モードでシェルを立ち上げる時にどのシェルを呼び出すかを設定。

(setq explicit-shell-file-name "/bin/zsh")

 

META x shell でシェルが立ち上がる。

あくまでも Emacs の中なので、素のシェルでの C-c が C-c C-c になることに注意。

 

 

バックアップファイルを作らない


随所に file-name~ ができるのがうざかったので ~/.emacs に以下追加。

(setq make-backup-files nil)

 

 

 

 


© Shin Nakamura/BasicWerk 2008 - 2014