GNU/Linux >> Linux の 問題 >  >> Linux

Vim vs. Nano vs. Emacs:3人のシステム管理者が参加

テキストエディタ。それらは、ほとんどのユーザーが多くのことを考えているものではありません。ただし、すべてのテキストエディタが同じであるとは限りません。ターミナルでの時間が長くなると、特定のエディタが最適であることがわかる場合があります。私は何人かの寄稿者に、Vim、Nano、Emacsの「プロ」の立場を書くように頼みました。各テキストエディタは、特定のエディタで豊富な経験を持つ1人の寄稿者によって表されます。私たちは機能、比較、そして個人的な経験について話している。 Vimを最初に起動して、エディターにジャンプしましょう。

[次のこともお勧めします:システム管理者ツール:Linuxで尾と頭を使ってテキストを表示する]

Vim-リカルドジェラルディ

Vimは、基本的な構成ファイルの編集からソフトウェア開発用の統合開発環境(IDE)全体のエミュレートまで、すべてのテキスト編集のニーズに対応する軽量で強力な汎用テキストエディターです。

私は20年以上Vimを何らかの形で使用してきましたが、約5年前、すべてのテキストのニーズにVimを使用することにしました。私はVimを使用してドキュメントを作成し、さまざまなプログラミング言語でコードを作成し、Vimのみを使用して本全体(400ページ以上)を作成しました。

Vimの名前は、1970年代/ 80年代にUnixオペレーティングシステム用に開発された元のviテキストエディタを拡張したものであるため、ViImprovedの短縮形です。 Vimには、次のような最新のテキストエディタに期待されるすべての機能があります。

  • 元に戻す/やり直し
  • オートコンプリート
  • GUIモード
  • 検索して置換
  • ビルトインターミナル
  • 組み込みのファイルマネージャー
  • スペルチェック
  • 配色
  • 構文のハイライト

他の多くの機能をリストすることもできますが、これがVimの違いではありません。私の意見では、Vimは他の要素の組み合わせにより、最高のテキストエディタです。以下を見てみましょう。

1。 Vimはどこにでもあります

Vimはいたるところにあります。ほとんどのLinuxディストリビューションにデフォルトでインストールされています。そうでない場合は、ディストリビューションのパッケージマネージャーを使用してインストールできます。さらに、多くのディストリビューションには、プラグイン、拡張機能、辞書などのVimグッズと標準のパッケージマネージャーが含まれています。 Vimは、Unix、macOS、Windowsなどの他のいくつかのオペレーティングシステムでも利用できます。 Vimの設定は移植可能であり、設定ファイルをあるマシンから別のマシンにコピーすることで、同じVimエクスペリエンスを実現できます。

2。 Vimは高速です

Vimは軽量で高速です。 Vimは主に小さなフットプリントのターミナルで動作します。超高速の起動時間とゼロレイテンシーと組み合わせることで、SSHや低電力ハードウェアを介したリモート接続を含め、いつでもどこでもVimを使用できます。マシンのパフォーマンスに影響を与えることなく、一度に複数のVimセッションを開くこともできます。

3。 Vimはキーボード駆動です

Vimはキーボードのみのエクスペリエンスを提供します。キーボードから手を離さずにVimですべてを行うことができます。マウスでコンテキストを切り替える必要がないため、快適さと効率が向上します。また、電車やバスで通勤するときなど、限られたスペースに入力するときにも良い体験ができます。

4。 Vimは直感的です

Vimはシンプルで高速なナビゲーションコマンドを提供します。他のテキストエディタと同じように、矢印キー(または「h」、「j」、「k」、「l」を使用してホーム行に手を置く)でカーソルを移動できますが、テキストオブジェクトの使用を開始すると、カーソルが増加します。あなたの効率はたくさん。たとえば、「w」を押すと次の単語の先頭に移動し、「b」を押すと前の単語に戻り、「$」を押すと行の末尾に移動します。これらを数字と組み合わせて、より速く移動することもできます。たとえば、「3w」は3番目の単語の先頭に移動します。 Vimはこれらのナビゲーションコマンドの多くを提供します。

ナビゲーションコマンドに加えて、Vimは直感的なニーモニックアクションを提供します。たとえば、「i」を押して挿入します テキスト、「c」を変更 、"d"から削除 、など。

最良の部分は、これら2つのアイデアを組み合わせて強力なコマンドチェーンを作成できることです。たとえば、「dw」は次の単語までのすべてのテキストを削除し、「d $」は行の終わりまで削除し、「c3w」は3番目の単語までのすべてのテキストを変更します。

Vimはこれらのコマンドチェーンを構築します 意味的には、動詞と目的語を含む英語の文に似た、私たちの思考プロセスを反映しています。それらを論理的に組み合わせて、特定のコマンドや機能を必要とせずに独自のアクションを作成できます。または、 Ctrl + Shift + F4のような奇妙なキーの組み合わせを覚える アクションを実行します。

Vimを初めて使用するとき、これらのコマンドは扱いにくいと感じますが、少し練習すれば、テキスト編集が非常に効率的になります。実際、Vimキーバインディングは非常に人気があるため、Emacsや多くのIDEのような他のエディターでさえ、それらを有効化/エミュレートする方法を提供しています。

5。 Vimは柔軟で拡張可能です

Vimは非常に柔軟で強力です。簡単に始めて、構成ファイルをすばやく編集するために使用できます。また、一般的なIDEと同様に、コード補完、構文の強調表示、構文チェックなどの機能を備えた、お気に入りのプログラミング言語でプログラムを作成することもできます。 Vimは、多くの言語とファイルタイプにすぐに使用できる構文の強調表示を提供します。

Vimは完全にカスタマイズ可能です。その場で、または構成ファイルを介してオプションを提供できます。特定の種類のファイルを編集する場合にのみ有効な条件付き構成を作成することもできます。カスタマイズに加えて、Vimはすぐに使えるプラグインをサポートしています。オープンソースコミュニティは、Vimの機能をさらに拡張するためにいくつかのプラグインを開発しました。他の言語のコード構文を追加したり、Gitと統合したり、派手なステータスバーを追加したり、ファジー検索、スマートコードコメント、コードスニペット、その他多くの機能を追加したりできます。

Vimは単なるテキストエディタではなく、要件や好みに応じて独自のテキスト編集エクスペリエンスを構築できるプラットフォームです。

詳細を知りたいですか?

Vimについて詳しく知りたい場合は、次のリンクをご覧ください。

  • Linuxの基本:vimを使用したテキスト編集の初心者向けガイド
  • viエディターの紹介
  • 開発者向けの5つの便利なVimプラグイン
  • Vim:基本コマンドと中間コマンド
  • システム管理者向けの上位5つのVimプラグイン
  • Vimマクロを使用して頻繁なタスクを自動化する

Vimの最後の言葉

Vimは素晴らしいテキストエディタです。高速、柔軟性、強力ですが、何よりも楽しい 使用します。正直なところ、Vimで他のエディターでできることのいくつかを、少なくともそれほど効率的には行っていないようです。

Nanoが私の命を救ったのは2、3回で、最近は認定テストを書いていたときに、Vimのキーバインドが試験のWebインターフェイスの制限のために機能しなかったことを告白します。 Nanoのシンプルな性質により、テストを正常に完了することができました。

私はEmacsを使ったことがありません。主な理由は、EmacsがVimではできないことをより小さなフットプリントで提供するとは思わなかったからです。いつか試してみるかもしれませんが、それまでは、Vimが私のすべてのテキスト編集要件の主要な推進力であり続けます。

言うまでもなく、私はVimを使用してこのブログ投稿を書きました;-)

ナノ-エイミー・マーリッヒ

Nanoは、シンプルでシンプルな軽量のテキストエディタです。その唯一の目的は、テキストを編集できるようにすることです。実際、非常に軽量であるため、多くの*nixオペレーティングシステムはリカバリモードのときにエディタとして使用します。

軽量でありながら、他の一部のエディターほどではありませんが、より複雑な機能を備えています。繰り返しになりますが、それを使用するために他に何もインストールする必要はありません。

検索

すでに述べたように、他のテキストエディタははるかに堅牢ですが、Nanoで私がはるかに好む機能の1つは、検索機能です。 Linuxのほとんどの側面とは異なり、Nanoの検索機能では、デフォルトで大文字と小文字が区別されませんが、簡単に区別できます。これは、単語のすべてのインスタンスを探している場合、または単語がどのような場合であるかわからない場合に便利です。

検索機能のその他の利点は次のとおりです。

  • ドキュメント内の特定の場所への移動
  • 1つまたは複数の単語の検索/置換
  • 逆方向に検索する機能
  • 検索を続行するためにドキュメントの最後に到達すると、先頭に戻るという非常に便利な事実

その他のリソース

Nanoは軽量で使いやすいため、開始するための学習曲線はそれほど多くありませんが、ここでさらに深く掘り下げるためのチュートリアルをいくつか紹介します。

  • LinuxコマンドラインテキストエディタであるNanoの初心者向けガイド
  • Nanoテキストエディタの使用方法
  • 初心者向けのLinuxNanoEditorの説明(10例)

Emacs-セスケンロン

GNU Emacsには通常の機能がすべて備わっています:簡単なパッケージインストール(package-list-packages )、簡単なテーマ設定(customize-themes )、GUIインターフェース、および端末専用インターフェース、組み込みのファイルマネージャー(dired )、分割画面、リモート編集、自動保存など。

キーバインドは少し厄介ですが、ピアノを弾くだけで、特にDvorakキーボードでは同じように流動的であることがよくあります。

しかし、それ自体がライブコーディング環境でもある1つのアプリケーションを持つことはユニークな贅沢だと思います。 GNU Emacsがそれ自体を再定義し、ユーザーが再定義できる方法は、その最も強力な機能です。

Lisp

私はLispを気にするつもりでEmacsを使い始めませんでした、ましてやそれを学ぶために。今日でも、私の.emacs 設定ファイルは、他の人の独創的なハックのパッチワークコレクションにすぎません。しかし、GNU Emacsのパワーは魅力的であり、構成ファイルを少しハックすると複雑なスクリプトになり、1日の作業時間を節約できます。

Lispの基本的な知識とEmacsにすでに組み込まれている機能を組み合わせることで、自動保存を隠しディレクトリに移動することができ、バックアップファイルを見る必要がなく、同時にバックアップファイルが存在することを知ることができました。 。

何年もの間、クラッシュや切断によってEmacsのデータが失われたことはありません。

軽量Emacs

ただし、EmacsにはGNUやLisp以上のものがあります。

「emacsen」(複数のEmacsで受け入れられている複数形)の伝統は、GNU Emacsの実装よりも前からあり、現在も続いています。

マクロのコレクションと特定のスタイルのユーザーエクスペリエンスに基づいたエディターには多くのオプションがあり、それらのほとんどはGNUエディターよりも軽量です。

私のお気に入りのいくつか:

  • MicroEmacs-GNUEmacsの軽量な代替品の使用を開始する
  • Joveによる!これはVimの軽量な代替品です
  • LinuxでのJOEテキストエディタの使用方法を学ぶ
  • e3Linuxテキストエディタをお試しください
  • LinuxターミナルのテキストエディタとしてJedを試してみてください

私はこれらのemacsenとemacs-alikesを使用します。これは、/homeからコンパイルして実行するのが簡単なため、GNUEmacsを使用するのとほぼ同じです。 sudo権限を持っていないサーバーで。それらは、私が慣れている同様の(または同じ)キーバインディング、マクロと関数へのアクセス、および使い慣れた全体的なユーザーエクスペリエンスを提供します。また、Emacsは非常に大きな概念であるため、他のエディターのユーザーに使い慣れたユーザーエクスペリエンスを提供できることもよくあります。

evil-modeを使用してGNUEmacsでVimキーバインディングを使用できます 、JoeのjpicoでGNUNanoを模倣できます 。

Emacsの世界

Emacsの世界は豊かで、他のエディターを試すのと同じくらい、GNUEmacsに欠けているものはまだ見つかりません。

確かに、私はVimの素早い編集とそのシンプルなナビゲーションを楽しんでいます。また、Nanoの直感的なインターフェースには正当に敬意を表していますが、Emacsは私が故郷と呼んでいる場所です。

[コンテナを使い始めますか?この無料コースをチェックしてください。コンテナ化されたアプリケーションのデプロイ:技術的な概要。 ]

決定時間

さて、今あなたは決断をしなければなりません。これらのテキストエディタのうち、あなたに最適なものはどれですか?あなたが私のようなら、インストールされていて簡単にアクセスできるものが、私が最も頻繁に使用しているものです(Vim)。しかし、私はあなたのために選ぶことはできません。私ができる最善のアドバイスは、各エディターを自分で試して、どのフレーバーが一番好きかを確認することです。目標は、選択したエディターで効率的かつ快適になることです。


Linux
  1. Linuxの基本:vimを使用したテキスト編集の初心者向けガイド

  2. ViMテキストエディタ101ガイド

  3. Windows 10にVim(vi)をインストールする方法

  1. エディターから入力を取得しますか(vim / nano / emacs / textmate?)?

  2. Vim:黒い背景に黒いテキスト?

  3. コマンド例を含むvimチュートリアル

  1. ViとVimのテキストエディタの違いの説明

  2. Linuxのコマンドラインテキストエディタ

  3. Vim Edit を使用した電子メール クライアント