まずはここでの表記上の約束事.
では本題の ~/.emacs.d/init.el に以下を書いて保存してみます.
(require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/")) (add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/")) (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/")) (package-initialize)
まず, 以下の 2 つを覚えてください.
入力 | 動作 |
---|---|
C-g | コマンドのキャンセル/中断. |
C-x u | Undo. アンドゥ. 一つ前の状態に戻す. 連続して入力すれば二つ前, 三つ前へと戻ります. |
C-/ | undo. C-x u と同じ. 私はこちらを使います. |
次にファイル操作関連です.
C-x C-c | Emacs 終了. |
C-x C-f | File. ファイルオープン. 開く. |
C-x C-s | Save. ファイルセーブ. 保存. |
C-x C-w | Write. ファイル名を入力してセーブ. 別名で保存. |
次にカーソルの移動コマンドを覚えます.
C-f | Forward. 1 文字右へ. |
C-b | Backward. 1 文字左へ. |
C-n | Next-line. 1 ライン下へ. |
C-p | Previous-line. 1 ライン上へ. |
C-a | beginning-of-line. 行頭へ. ('a' はアルファベットの最初) |
C-e | End-of-line. 行末へ. |
C-v | next-page. (バッファ表示が一画面に収まらない場合)次頁へ. |
M-v | previous-page. 前頁へ. |
M-< | beginning-of-buffer. バッファ先頭へ. |
M-> | end-of-buffer. バッファ末へ. |
後, 編集コマンドも必要ですね.
C-d | Delete. カーソル位置の文字を削除. |
C-k | Kill. カーソル位置から後ろを削除. 削除したデータはキリングバッファ(Windows のクリップボードみたいなもの) に入る. |
C-y | Yank. Windows で言うペースト. カーソル位置にキリングバッファのデータ挿入. |
C-@ | mark-set. マーク. カーソルの位置を記憶. |
C-SPC | mark-set. C-@ と同じ. |
C-w | kill-region. マーク位置から現在のカーソル位置までを削除. 削除したデータはキリングバッファに入る. |
M-w | マーク位置から現在のカーソル位置までを削除せずに キリングバッファに入れる. |
この他にも検索や置換ブロック削除, ブロック挿入など様々なコマンドがありますが, 差し当たりこのくらいを知っておけば使えると思います. あ, 'C-x C-s' は 'C-x' の後に 'C-s' の入力を意味します. コマンドには C-f のように 1 回のキー入力で終わるものと, このように複数回の入力が割り当てられているものがあります. 最初は入力が面倒に感じますが, 慣れて来ると 'C-x C-s' などは Ctrl キーを押したまま, 'x' 's' と順に入力できる様になり素早く実行できます.
キー操作でもう一つ Tab キーを覚えておいて下さい. ファイル名やコマンドの 入力の際に補完を行ってくれます. うまく使えばキー入力を大きく減らすことができます.
で実際の編集ですが, Emacs はバッファと言う考え方が基本になっています. 例えばファイルを開くと言う操作も, 実際には「ファイルの内容をバッファに読み込む」と言う操作となります. 編集はこのバッファに対して行い, 'C-x C-s' 等でセーブしない限り元ファイルに変更は加えられません. そうです, 「バッファの内容をファイルに書き出す」と言う操作がセーブです.
このバッファと言う概念のため, ファイル編集をバッファ編集と言ったりして 初心者には Emacs 用語自体が分かりにくくなっているかも知れません. でもこの概念に慣れると Emacs から離れられなくなります.
前置きが異常に長くなってしまいました. 以下, 目的の init.el ファイルの編集までの操作を書き出します. 黒字部分が入力です. ↓ は Enter キーの入力です. 【】部分はコメントです.
【Emacs 立ち上げ】 C-x f ~/.emacs.d/init.el↓ 【init.el の編集は危ないかも. どうすると聞かれたら 'y' を入力】 【init.el ファイルがバッファに読み込まれる. ここから以下の 2 行を入力. 頑張って】 【あ, 言い忘れました, ')' を入力すると一旦, 対応する '(' にカーソルが移動した後, 戻って来ます. 驚かないで :-)】 (require 'package)↓ (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))↓ 【この後同じような内容が 3 行続くので編集操作を試してみましょう】 C-p 【'(add...' の括弧の部分にカーソルが移動します】 C-k 【'(add...' の行の行末までが削除され空行になります】 C-k 【改行コードも削除されます. これで '(add' から改行までがキリングリングに入ります】 C-y C-y C-y C-y 【キリングリングが 4 回呼び出されます. つまり同じ行が 4 行できます】 C-p C-p C-p C-f C-f C-f... 【3 行上に戻り, カーソルを右に進めます. "melpa" の 'a' の後ろまでカーソル移動下さい(C-f は 39 回)】 -stable 【と文字入力】 C-f C-f C-f... 【再びカーソルを右に進めます. "https://" の後ろまでカーソル移動下さい(C-f は 13 回)】 stable. 【と文字入力. これでこの行が完成したはずです】 C-n C-b C-b C-b... 【次行に移動しカーソルを左に進めます. "melpa" の 'm' の文字にカーソル移動下さい】 marmalade 【と文字入力 'marmalademelpa' となって, 'melpa' の 'm' の上にカーソルが来ているはずです】 C-d C-d C-d C-d C-d 【これで 'melpa' の 5 文字が削除されたはずです】 カーソル移動 + 挿入 + 削除 【後ろの "https://" に続く部分も同じように編集操作で修正しましょう】 カーソル移動 + 挿入 + 削除 【次行も同じように編集操作で修正しましょう】 【これで以下の様な 4 行が完成したはずです. ミスがあったら編集操作で直して下さい】 (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/")) (add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/")) (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/")) 【最後に一番下の空行に移動して以下を入力下さい. (一番下が空行でなく, 'add-to...' の 4 番目の行になっている場合は C-e でその行末に移動して ↓ を入力下さい)】 (package-initialize)↓ 【これで入力は完了. ミスがあったら編集操作で直して下さい】 C-x C-s 【バッファの内容を init ファイルに書き出します】 C-x C-c 【お疲れ様. Emacs を終了します】
ここまで Emacs の基本操作を長々と説明して来ましたが, Windows 上の Emacs は Windows のアプリとの間でコピー & ペーストが出来ます. 例えば Web ブラウザ上でマウスで文字列を選択し C-c でコピー (通常の Windows での操作です). Emacs 上にカーソルを持って行き, C-y でペースト. (通常の Windows なら C-v ですが, Emacs では C-y です)
このマウス操作は基本操作の習得のために敢えて黙っていました. 私も Windows 上の 他のアプリとやり取りする場合マウス操作を良く使います. 但し, 最初のうちから マウス操作に頼っていると, Emacs の基本操作の習得が遅くなるので, 慣れるまではキー入力を使いましょう :-)
最後に... この記事は init.el を(私の)サンプル通りに編集する事を目的の 作業説明となっていました. 一般的なキー操作を覚えるのであればチュートリアル (個人レッスン)機能が用意されています. 'C-h t' と入力するか 'M-x help-with-tutorial' と入力して下さい. 後は説明文(安心して下さい. 日本語です :-)に従って, 下へ下へと読み進めて下さい. 読み進める際, 下に進む動作は 'C-n'(1 行下へ) か 'C-v'(1 画面下へ)ですよ. Emacs では, 画面の一番下で 'C-n' を押すなど, 画面外にカーソルを移動させると 自動的にスクロールしてくれます. これも使っているうちに感覚が掴めます. では, Let's try. そして Let's enjoy.
by うらのふ (URANOV)