Emacs で現在のファイルをリロードする

Emacs De Xian Zainofairuworirodosuru



Emacs ファイルを操作する場合、変更を加えて前の状態に戻すことができます。このような状況がファイルのリロードを意味します。これにより、バッファー内で行ったすべての変更を破棄し、バッファーの初期状態を維持することができます。リロードされたファイルは、破棄ファイルに保存されているバージョンを開きます。

ファイルのリロードは、ファイルに加えたすべての変更を取り消すための優れた方法であり、Emacs は現在のファイルをリロードするさまざまな方法を提供します。この投稿では、現在のファイルをリロードする 2 つの方法について説明します。まず、revert メソッドについて説明します。次に、「reload」コマンドを実装するためのショートカットを作成します。始めましょう!







Emacs で現在のファイルをリロードする 2 つの方法

Emacs は、現在のファイルの再ロードを、保存されていないすべての変更を破棄する要求として扱います。これを実行すると、ディスクに保存されているファイルのバージョンが取得され、すべての変更が破棄されます。



Emacs でファイルを開くということは、ファイルを Emacs バッファにロードすることを意味します。ファイルを変更しても、ファイルを保存するまで、その変更はディスクに保存されているバージョンには影響しません。



ただし、気が変わった場合は、いつでも現在のファイルをリロードして変更を破棄し、ディスクに保存されているバージョンを使用することができます。 Emacs は、ファイルをリロードするときに、変更を保存するか破棄するかを尋ねます。





方法 1: Reload コマンドを使用する

Emacs には「revert-buffer」コマンドがあり、ファイルをリロードしたいときにいつでも実行できます。この例では、次のファイルを使用します。これを Emacs にロードし、次の 1 行を追加しました。




変更を破棄し、追加した行を削除するとします。ファイルをリロードするとうまくいきます。 Emacs で「M-x」(Alt + x) を押し、コマンド プロンプトに「revert-buffer」と入力します。


RET/Enter キーボード キーを押すとコマンドが実行され、バッファを元に戻して未保存の変更をすべて破棄するかどうかを確認するメッセージが表示されます。ファイルを再ロードするには、「yes」と入力して RET キーを押します。


実行直後にファイルが再ロードされ、保存されていない変更はすべて破棄されます。これで、ディスクに保存されたファイルができました。このファイルには、前に追加した最後の行は含まれていません。これは、Emacs ファイル内の変更をすぐに破棄する方法です。


方法 2: リロード コマンドをバインドする

現在のファイルを再ロードする場合は常に「revert-buffer」コマンドを入力する代わりに、コマンドをキーにバインドできます。そうすれば、バインドされたキーを押すと、「revert-buffer」コマンドと同じタスクが実行されます。

最初のステップは、Emacs 構成ファイルを開くことです。設定ファイルは「.emacs」または「.emacs.d/init.el」です。

開いたら、キーを「reload」コマンドにバインドする必要があります。 「global-set-key」属性を使用して、どのキーをどのコマンドにバインドするかを指定します。このケースでは「f8」キーを使用しており、bind ステートメントは次のとおりです。


「c-x c-s」を押して設定ファイルを保存します。変更を適用するには、Emacs を再起動するか、再度開きます。

ここで、Emacs バッファにロードした最初のファイルに戻ります。最初の方法のように「revert-buffer」コマンドを入力する代わりに、ここでは「f8」キーのみを押します。これにより、ファイルを再ロードしてすべての変更を破棄することを確認するプロンプトが表示されます。


ファイルを再ロードすることを確認すると、すべての変更が破棄され、ディスクに保存されていたファイル バージョンが得られます。これが、Emacs で現在のファイルをリロードする方法です。

結論

Emacs でファイルを再ロードすると、ディスクに保存されているファイルのバージョンに戻ることになります。これは、Emacs にロードされたファイルの未保存の変更をすべて破棄する方法です。ファイルは 2 つの方法で再ロードできます。 1 つ目の方法は、「revert-buffer」コマンドを使用してプロンプトを確認する方法です。 2 番目の方法は、「revert-buffer」コマンドをキーにバインドし、現在のファイルを再ロードするたびにそのキーを押す方法です。この投稿では両方のオプションについて説明します。