私はVimからEmacsに切り替えたいと思っていますが、私を遠ざけているのは、Xで実行するとEmacsが独自のウィンドウを開くことです。Xで実行しない場合と同じ動作をEmacsで取得できますか?つまり、Emacsが起動した端末と同じ端末でセッションを開始したいのです。
質問が明確でない場合はお知らせください。少し早いですがお礼を!
私はemacsの専門家ではありませんが、これでうまくいきました。
emacs -nw
Emacsをemacs --daemon
として開始し、次にemacsclient -t
を使用してファイルを編集することをお勧めします。これにより、Emacsがバックグラウンドでロードされたままになるため、viのようにEmacsを使用できます。編集セッションは即座に開始され、C-x C-cを介して「終了」すると、現在の接続が閉じられます。とてもいいです。
あなたの質問には回答しましたが、これは通常のユーザーがemacsを使用する方法とは違うと思います。 vimとは異なり、emacsの起動時間は一般に長く、とにかく複数のオープンバッファーを使用して常に実行される傾向があります。したがって、端末でemacsを使って何かを実行したい場合は、emacsclient -nw
を呼び出します(emacsサーバーが起動していると想定)。詳細については、 EmacsClientの使用を開始する方法 を参照してください。
Bashを使用する場合は、いつでも.bashrcに以下を追加できます。
エイリアスemacs = "emacs -nw"
それは私に多くのタイピングを節約しました(そして私がスイッチをタイプするのを忘れたときののろい)。
Dick KennyとAlberto Zaccagniによる上記の回答を組み合わせると、.bashrc
で使用する次の構成が得られます。
alias emacs='emacsclient -nw -c -a ""'
これは、実行中のemacsデーモンへの接続を試みます。何も実行されていない場合は、新しいものを起動し、現在のターミナルウィンドウを使用して接続します。
ドキュメントから:
-a EDITOR, --alternate-editor=EDITOR
Editor to fallback to if the server is not running
If EDITOR is the empty string, start Emacs in daemon
mode and try connecting again
-nw, -t, --tty Open a new Emacs frame on the current terminal
-c, --create-frame Create a new frame instead of trying to
use the current Emacs frame