Emacsのbufferの扱いについて簡単な範囲での説明

Emacsでいうところのbufferとは

Emacsでファイルを開くと、Emacsとしてはbufferとして開かれ編集後に保存するとファイルに保存されることになります。いわゆるところのメモリみたいな扱いでしょうか?一端ファイルの中身を別の領域に展開して編集していくみたいな。
Emacsに限らず他のソフトでも内部的には同様の扱いをするでしょうけど、Emacsではbufferを明確に認識して扱うことで様々なことが出来るようになっています。いくつもEmacsを起動しなくても、bufferを複数使うことで多くのファイルを1つのEmacs内で扱うことも出来ます。
今回は自分で分かる範囲でbufferについて基本的な部分を簡単にまとめていくことにします。

上のスクリーンショットはC-x C-bでbufferのリストを開いているところ

bufferの基本

bufferの選択もしくは新規buffer作成

C-x b
buffer名を指定して選択もしくは新規bufferを作成します。
bufferを選ぶときはタブ補完を使うと便利です。

一つ前もしくは次のbufferを選択

C-x →
C-x ←

現在開いているbufferのリストを表示する。

C-x C-b
windowが分割されbufferのリストが表示されます。
リストの始めの列の記号は次の通り。
  • 「.」 : current buffer
  • 「%」 : read only
  • 「*」 : 編集されている(保存すると解除される)


bufferの名前を変更する

M-x rename-buffer
ファイルを開く場合はファイル名がbuffer名になるのであまりbuffer名を変更することはないかも?メモや一時編集用としてbufferをいくつも作る場合には名前を分かりやすくした方がいいでしょう。

現在のbufferをリードオンリーに切り替える(戻すときも同じ)

C-x C-q
編集したくないものを開いている場合に便利かも。

bufferを閉じる

C-x k
開く場合と同様にbuffer名を指定して閉じるのを選びます。

補足

ファイルを開かない場合でも、Emacsを起動した段階ですでに以下のようなbufferが開かれています。
  • *scratch*
  • *Messages*

ファイルを開くのではなく、新規bufferを作成した場合はMajor modeはFundamental modeとなります。後でファイルとして保存する前提なら、新規bufferを作成するより新規ファイルを作成した方が扱いが楽でしょう。

今回は基本的な部分の説明なので詳しくは書きませんが、bufferのリストではまとめてbufferを閉じたり保存したりするなどの機能があったりもします。

最後に

Emacs、普通にテキストエディタとして使う分には特にbufferというのを意識せずに使うことは出来るでしょう。というか、自分も以前はそれほどbufferは利用しているとは考えずにEmacsを使ってましたし(自分では使っているという認識が無いだけで、Emacs側では使われている)。

ただbufferを利用すれば1つEmacsを起動してるだけでいくつもファイルの編集操作が出来るので、使い方を把握すればEmacsをより便利に使えるようになると思います。例えばWebブラウザでいくつもタブを開いて使うのと似たような使い方が出来るというわけです。Emacsの場合bufferをいくつも開いてもタブは表示されないですが、タブ表示を可能にする拡張機能もあったりはします。あとは「C-x 2」、「C-x 3」でwindowを分割してそれぞれに別々のbufferを開くなどすれば分かりやすくなるかなと思います。



参考およびまとめリンク

Emacs関連のブログ記事


スポンサーリンク
Amazon Emacs関連書籍

コメント

スポンサーリンク


このブログの人気の投稿

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplotでプロットなどの色をcolornameの指定で変更する

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)

Pythonのformat()を使って1桁の16進数でも2桁で出力する方法