Linuxには多くのテキストベースのエディタがあります。ほとんどのディストリビューションが付属しているものもあれば、事後にインストールする必要があるものもあります。テキストベースのエディタは、Linuxユーザーまたは管理者にとって重要なツールです。サーバーにはGUIがないことが多く、Linux自体は非常に安定していますが、GUIがクラッシュするのを何度も目にしました。 GUIを紛失した場合は、使い慣れた一連のテキストベースのツールを用意する必要があります。
GNU Emacsの操作の基本を始める前に、まず何かを明確にしたいと思います。あなたはおそらく、多くの過熱した議論の原因となっている「EmacsVsVim」戦争を知っているでしょう。私はVimが大好きで、10年以上使用しています。しかし、これがEmacsに関することであり、単なるテキストエディタではありません。
そのコアでは、Emacsは単にバッファとフレームのフレームワークとして説明することができます。フレームはウィンドウを分割する方法であり、必要な数のフレームを持つことができます。 GUIモードでは、それぞれが1つ以上のフレームを含む複数のEmacsウィンドウを持つことができます。次に、バッファがあります。バッファは、どこかから供給されているコンテンツで満たされています。バッファにファイルをフィードすると、Emacsはテキストエディタの役割を果たします。 Emacsをウィンドウマネージャーとして使用することもできます。
Emacsのレイアウトに慣れる
まず、基本に焦点を当てましょう。ここでは、Emacsの操作の基本を学びます。
Emacsは、ディストリビューションのパッケージ管理から直接インストールできます。インストール後、Emacsを起動するとGUIモードが起動します。このモードは、メニューバーへのアクセスを提供するため、起動時に役立ちます。すべてのメニューエントリはEmacsコマンドを実行するだけであり、これはすべてテキストモードで実行できることを覚えておくことが重要です。 GUI環境でテキストモードを強制するには、 emacs –nwを実行します。 ターミナルで。
Emacsを初めて起動すると、ウェルカム画面が表示されます。この画面には、すでにEmacsの機能がさらに表示されています。下線付きのテキストはリンクです。マウスをクリックするか、カーソルを合わせてEnterキーを押すと、リンクをアクティブにできます。いくつかはウェブページへのリンクであり、おそらくeww(Emacsの組み込みウェブブラウザ)を開くでしょう。そのページには組み込みのチュートリアルもあります。
最初のレイアウトは単一のフレームで構成され、おそらくEmacsに関するコンテンツが含まれています。フレームの下にはステータスバーがあり、ステータスバーの下には何もないスペースのように見えます。この空のスペースは、実際にはEmacsがあなたと対話するために使用するミニバッファーです。画像では、ミニバッファに
Emacsのキーバインディングの基本的な概念
キーバインディング(またはキーボードショートカット)は、Emacsに命令する方法です。常にキーバインディングで始まります。
Emacsは修飾キーをキーバインディングプレフィックスとして使用します。最も重要な修飾子は、C(Ctrl)、M(Meta)、S(Shift)です。 M(メタ、通常はALTに割り当てられます)。
要約すると、重要な規則は次のとおりです。
- C =Ctrl
- M=メタ=Alt
- S=シフト
私は正直に言って、キーバインディングは人々がEmacsの学習から離れる主な理由の1つだと思います。デフォルトのEmacsセットアップには1300を超えるキーバインディングがあります。ただし、Emacsはファイルを編集するときのテキストエディタにすぎないことを忘れないでください。これらの1300以上のキーバインディングは、ファイルの編集よりもはるかに多くのことを行います。
では、どのようにしてEmacsとそのキーバインディングへの執着を学び始めるのでしょうか?それはかなり単純です、基本的な考えは一度にいくつかのキーバインディングを練習することです、それらは非常に速く筋肉の記憶になります。私がEmacsについてのビデオレッスンを録画するとき、私はそれらを押すときにキーバインディングを言います、少なくとも私は試みます。真実は、私がまだそれらがどれであるかを理解しようとしている間に、キーストロークが長い間行われ、処理されているということです。最大かつ最も難しい部分はこのドキュメントです。
始めて、キーバインディングをたくさん練習することを忘れないでください!
キーバインディングの記述方法を説明する最良の方法は、いくつかの例を使用することです。ただし、すべての例がファンクションキーバインディングであるとは限りません:
- C-x =CTRL + x
- C-x 2 =CTRLとxを押してから2を押します(2を押す前にCTRLキーを離す必要があります)
- C-x C-2 =CTRLとxを押してから、CTRLと2を押します。またはCTRL-x-2(CTRLを離さないでください)
- M-xコマンド
=META+xを押します
また、ドキュメントには、()のテキストで記述されたキーバインディングも定期的に表示されます。
C-x C-f (find-file)
()内のテキストは、このキーバインディングで実行されるEmacs関数を表しています。これがなぜ重要なのかがすぐに明らかになります。
Emacsのお気に入りのキーはCTRLとALTです。 Altキーを使用しても問題は発生しませんが、左Ctrlキーを頻繁に使用すると、小指の問題が発生することがよく知られています。 xmodmapを使用して、CTRLキーとCAPSLOCKキー、またはその他の任意のキーを簡単に入れ替えることができます。
キーバインディングでのEmacsの使用別名Emacsコマンド
前に述べたように、一度にいくつかのキーバインディングを学ぶことに焦点を当てると、それらは筋肉の記憶になります。最初のセットは最も難しい部分ですが、テキストエディタとしてEmacsを使い始めるには十分です。
フレームの操作 | |
---|---|
C-x 2 | split-window-below |
C-x 3 | split-window-right |
C-x o | その他のウィンドウ |
C-x 1 | delete-other-window |
C-x 0 | delete-window |
バッファの操作 | |
---|---|
C-x b | バッファへの切り替え |
C-x C-B | list-buffers |
C-x k | キルバッファ |
ファイルを開いて保存する | |
---|---|
C-x C-f | find-file |
C-x C-s | save-buffer |
検索と置換 | |
---|---|
C-s | search-forward |
C-r | 検索-後方 |
選択、切り取り、コピー、貼り付け | |
---|---|
C-<スペース> | set-mark-command |
C-w | kill-region |
M-w | kill-ring-save |
C-y | ヤンク |
コマンドの実行 | |
---|---|
M-x | execute-extended-command |
これらについて詳しく話しましょう。
前述のように、フレームはEmacsがウィンドウを分割する方法です。バッファについて学ぶ前に、画面をどのように分割するかを見てみましょう。
- C-x 2は、現在のフレームを水平方向に分割します。
- C-x 3は、現在のフレームを垂直方向に分割します。
- C-x oは、フォーカスを次のフレームに移動します。ミニバッファがアクティブな場合、それはサイクルの一部になります。
- C-x 1は他のすべてのフレームを閉じ、現在のフレームのみを残します。バッファを閉じません。
- C-x0は現在のフレームを閉じます。
下の画像は多くのフレームを表示しており、一部は同じバッファを表示していますが、カーソルが異なる場所にあります。
Emacsでのバッファーの操作
- C-x b(スイッチからバッファへ)
- C-x C-B(リストバッファ)
- C-x k(キルバッファ)
バッファはあなたが扱うものであり、バッファにはデータ、主にテキストが含まれています。ファイルを開くと、そのファイルの内容がバッファーに入れられます。このバッファは、ファイル名にちなんで名付けられます。次に、バッファ内で作業します。保存が要求されると、変更がソース(ファイル)に適用されます。デフォルトでは、Emacsには自動保存機能があります。 x分ごとに保存されるわけではありませんが、バッファに対して行われたx個の変更ごとに保存されます。変更なしでバッファを開いても、自動保存はトリガーされません。
別のバッファに切り替えるには、 C-x bを押します。 ミニバッファがアクティブになり、バッファ名を受け取る準備が整います。オートコンプリートは
多くのバッファを用意するのに時間はかからず、すべてを覚えているとは限りません。現在開いているすべてのバッファを一覧表示するには、 C-x C-bを押します。 。新しいバッファは、バッファの完全なリストとともに分割フレームで開きます。矢印キーを使用してそのバッファ内を操作し、
バッファリスト内から、次のポイントでエントリにフラグを立てることができます:
- sを押して保存する
- d を押して削除(バッファを強制終了し、ファイルを削除しません) またはk
- uを押してフラグを削除します
- x を押して、マークされたすべてのフラグを実行します
バッファを強制終了するには、 C-x kを押します。 ミニバッファがアクティブになり、バッファ名を待ちます。既存のバッファ名を入力して、
次の画像は、保存または削除のフラグが設定されたバッファを含むバッファリストを示しています。
Emacsでファイルを開いて保存する
- C-x C-f(ファイルの検索)
- C-x C-s(保存バッファ)
ほとんどの場合、ファイルを操作する必要があります。 C-xC-f。を押してファイルを開くことから始めます。 ミニバッファはパスを提示し、開きたいファイルのパスを入力する準備ができています。ここでもオートコンプリートが機能します。
C-x C-fを押した後に存在しないファイルへのパスを指定すると、新しいバッファが作成されますが、ファイルはバッファを保存したときにのみ作成されます。
C-x C-fの後にディレクトリパスを指定すると、ディレクトリの内容を含む新しいバッファが開きます。この新しいバッファはDIREDモードになります。 DIREDモードでは、矢印キーを使用して操作できます。目的のファイルで
DIREDモードでは、ファイルシステムに対して多くの操作を実行できますが、前に説明したように、最初に基本に焦点を当てましょう。
Linuxシステムで作業する場合、ルートアクセスを必要とするファイルで作業する必要があることがよくあります。 Emacsはこれを非常にうまく処理します。 Emacsを閉じてrootとして実行しないでください。これは良い考えではありません。
C-x C-fを押します 次に、ミニバッファ内の指定されたパスを消去し、 / sudo ::/ path / to / file
オートコンプリート
削除することはお勧めしませんが、保存しようとするとパスワードの入力を求められる可能性が高く、トランプバッファが元に戻ります。ルートとして複数のバッファを開くと、複数のトランプバッファになります。
Emacs内からsshを使用してリモートコンピューターでファイルを開くのは簡単です:
C-x C-f /ssh:[email protected]:/path/to/file
ルートとしてリモートシステムでファイルを開くことについて疑問に思う必要がありますか?はい、でもこれはまた別の機会に保管します。
この画像は、私のホームディレクトリの左側のフレームのDIREDモードと、右側の私の.emacsファイルに表示されています。
Emacsでの検索と置換
- C-s(isearch-forward)
- C-r(isearch-backward)
- M-%(クエリ-置換)
前方検索を実行するには、 C-sを押します。 これにより、検索するテキストを入力するためのミニバッファーがアクティブになります。入力すると検索が行われます。次の試合に移動するには、 C-sを押します。 また。検索はラップアラウンドしますが、一度警告した後。バックスペースを押すと、文字を削除する前に、最初に前の一致に戻ります。
逆方向に検索するには、 C-rを押します。
置き換えるには、 M-%を押します。 これで、ミニバッファーで検索パラメーターを取得できるようになります。入力して
検索と置換はカーソルからバッファの終わりまで実行されます。
Emacsで選択、切り取り、コピー、貼り付け
- C-
(set-mark-command) - C-w(kill-region)
- M-w(kill-ring-save)
- C-y(ヤンク)
- M-y(ヤンクポップ)
Emacsには、選択、切り取り、コピー、貼り付けというまったく異なる概念があります。まず、選択について見てみましょう。マウスはGUIモードで非常にうまく機能しますが、マウスを使用しないことを学ぶと、GUIがなくなったときに効果があります。選択された領域と呼ばれるもの、Emacsはアクティブ領域と呼ばれます。領域を選択またはアクティブ化するには、目的の領域の先頭にカーソルを置き、 C-
Emacsはカットせず、殺します。 C-wでアクティブ領域を強制終了した場合 、Emacsはそれをバッファから「切り取り」、キルリングに保存します。キルリングは、複数のエントリをキルしたままにします C-w またはコピーしたM-w 。次に、これらのエントリをキルリングからヤンク(貼り付け)して、 C-y の時点で現在のバッファに入れることができます。 。 C-yを押した直後の場合 M-yに進みます キルリングからバッファに貼り付けられたエントリは、前のエントリに置き換えられます。キルリングからエントリをヤンクしても、そのエントリはキルリングから削除されず、後で再度ヤンクできます。
- M-x(execute-extended-command)
Meta-xは一意のキーバインディングです。キーバインディングを押した後、ミニバッファを確認します。カーソルは自動的にそことEmacsに置かれ、コマンドを受信する準備が整います。
キーバインディングのコマンドは括弧内に記述されています。コマンドを入力するときは、括弧を入力しないでください。コマンドを書き込んだら、
M-xコマンドが次の形式で記述されているのが一般的です。
M-x find-file <RET> ~/path/to/file <RET>
オートコンプリートはキー
キーバインディングを使用できるのに、なぜコマンドについて学ぶのですか?まず、1300を超えるキーバインディングがあっても、すべてのコマンドに1つあるわけではありません。コマンドはまた、選択された領域(アクティブ領域)またはバッファ全体に必要な変更を実行するための関数を作成する能力を提供します。これらの関数は、 M-x functionNameを使用して呼び出すことができます。 必要に応じて、選択したキーの組み合わせにバインドします。
新しいユーザーに表示する価値のあるコマンドの1つは、M-xシェル
学習する2番目に重要なコマンドはM-x ren-buf
この記事は、Emacsの非常に短くて簡単な紹介です。基本的なEmacsコマンド/キーバインディングと、Emacsでの編集に関するいくつかの基本的な概念を学びました。
それがあなたのためにできることはもっとたくさんあります。 Emacs統合パッケージ管理システムでインストールできる4000以上のパッケージがあります。それが提供する柔軟性は驚くべきものです。 Emacsはあなたと共に成長し進化します。
Emacsやその他のLinuxのテーマについて詳しくは、Facebookでフォローしてください:EricSimardでLinuxを学ぶ