VIM入門(2021アップデート)

VIM入門(2021アップデート)

はじめにvim:テキストエディターの選択は、開発者の間で議論のホットポイントになる可能性があります。 さえあります ウィキペディアのエントリー この共通の競争について。 確かに、それはあなたが使うものではなく、それをどのように使うかです。 ただし、プロのテキストエディターは、開発ワークフローと生産性に大きな違いをもたらす可能性があります。 そのようなテキストエディタのXNUMXつはvimです。

無数のテキストエディターとIDEから選択できます。 ただし、多くの場合、熟練した開発者に尋ねると、その選択は必ずXNUMXつの異なるエディターに帰着します。 活力 とEmacs。 vimとEmacsはどちらもコマンドラインベースのエディターで、25年以上前から存在しています。 どちらにも長所と短所がありますが、vimの学習曲線は少し急ではないと主張することもできます。 さらに、vimはそれを取り巻くより強力で非常にアクティブなコミュニティを提供します。

この投稿では、vimがワークフローの改善を目指す開発者にとって理想的なテキストエディターである理由を見ていきます。 開始方法の手順と、使用可能な構成オプションについて説明します。

なぜvimを使うのですか?

vim(「vi改善」の略)は、クラシックのクローンです vi Unixベースのシステム用のエディター。 名前が示すように、vimはviのアップデートバージョンであり、vimは1976年に最初に登場しました。vimはオランダのプログラマーBram Moolenaarによって1991年に最初にリリースされました。 この長い歴史を持つテキストエディタを使用すると、一定レベルの安定性と成熟度が保証されます。 さらに、Unixベースのオペレーティングシステム(Linuxサーバーを含む)の至る所にユビキタスという大きな利点があります。

可能な限り手の動きを最小限に抑えるvimの主要な原則のXNUMXつ。 「ホーム列」(つまり、キーボードの中央列)から手を離さない a, s, d, f、動きを減らし、非効率を減らします。 例として、ナビゲーションに矢印キーを使用する代わりに、vimではキーを使用します h (左)、 j (ダウン)、 k (上)、および l (正しい)。 矢印キーは引き続きvimでも機能しますが、この異なるワークフローに慣れると、タイピングを大幅にスピードアップできます。

vimのもうXNUMXつの主要な機能は、モードの使用です。 ほとんどのテキストエディターには、単一モード(vimでは挿入モードと呼ばれるもの)しかありません。 挿入モードは、通常のテキストエディタと同じように機能します。 特定のキーを入力すると、常に対応する文字が入力されます。

ただし、vimでは、起動するモードは通常モードです。 このモードでは、vimはほぼすべてのキーに、一般的な編集機能とワークフローのコマンドまたは「ホットキー」を割り当てます。 たとえば、通常モードでwと入力すると、カーソルが次の単語の先頭に移動します。 0を入力すると、カーソルがカーソル行の先頭に移動します。 以下は、vimで最も一般的ないくつかのコマンドの概要です。 これにより、vimが繰り返しの編集作業をどれだけ削減できるかがわかります。

一般的なコマンド

$ –カーソルを現在の行の末尾に移動します

gg –ドキュメントの最初の行に移動します

G –ドキュメントの最後の行に移動します

dd –現在の行を削除する

2dd –現在および次の行を削除します

d$ –現在のカーソルポイントから行末まで削除

r –単一の文字を置き換える(このコマンドに従って、置き換えたい文字を入力します)

これは、存在する100以上のvimコマンドのほんの一部です。 コマンドの数は、vimエディターを検討している人にとって、いくらか困難な場合があります。 ただし、一度にいくつかのコマンドを学習するだけで、テキストの操作方法が大幅に変わる可能性があります。

はじめにvim

vimを初めて起動するには、ターミナルを開きます。 私は強くお勧めします iTerm2、ただし標準のターミナルアプリも正常に動作します。 vimと入力するだけでvimの使用を開始できますが、事前にファイルに名前を付けることをお勧めします。

vim my-first-text-file.txt

 

これにより、vimの新しいインスタンスが開きます。

はじめにvim

あなたが最初にvimを開いたとき、それはvimが何と呼ぶか​​になります 通常の モード。 通常モードはvimの主要なモードです。 このモードでは、キーボードのほぼすべてのキーが、一般的に使用される編集コマンドのホットキーです。 たとえば、「単語を削除する」、「カーソルを行末に移動する」、「カーソルの下のテキストを置き換える」などです。

vimで実際にテキストを入力するには、次のように入力する必要があります。 insert モード。 これを行うには、単に文字を入力します i。 あなたがヒットしたら i、vimは通常のテキストエディターのように機能します。 挿入モードでは、すべてのキーが通常の文字を入力します。

はじめにvim

テキストを入力してから、 esc 通常モードに戻るにはキーを押します。 現在のモードがわからない場合は、 esc 通常モードに戻り、最初からやり直します。

新しいファイルには名前がありますが、それでも一時キャッシュにのみ存在し、システムに適切に保存する必要があります。 ファイルを保存するには、次のように入力します :w 次にEnterキーを押します。

はじめにvim

ファイルを保存すると同時にvimを終了するには、次のように入力します。 :wq 次に入る。

変更を保存せずにvimを終了するには、次のように入力します。 :q! 次に入る。

vimに慣れる

上記は、一般的なエディターの機能のほとんどです。 しかし、これはvimができることの表面をかろうじて引っ掻いているだけです。 完全に制御するには、通常モードとその主要機能に慣れる必要があります。

タイピング効率を向上させるXNUMXつの方法は、 h j k l 通常モードのキー。 これらは、通常の矢印キーの代わりになります。 これにより、手の動きが減り、矢印キーにアクセスするために右手が動く必要がなくなります。

h 左に移動するためのものです。

j 下に移動するためのものです。

k 上に移動するためのものです。

l 右に移動するためのものです。

慣れるまで少し時間がかかる場合があります。 ただし、この新しいワークフローを採​​用したら、常にナビゲーションに使用することをお勧めします。

はじめにvim

カーソル移動

これらのカーソル移動コマンドをさらに拡張してみましょう。 タイピング H カーソルを画面の上部に移動します。 M カーソルを画面の中央の行に移動し、 L カーソルを画面の下部に移動します。 これらは「高」、「中」、「低」として簡単に覚えられます。

vimが典型的なテキストエディタよりも優れている領域がXNUMXつあります。 vimでは、カーソルを特定の行のほぼどこにでも自由に移動できます。 カーソルの位置を変えるのにマウスはまったく必要ありません。 行のどこにいても、次のように入力すると行の先頭にジャンプできます。 0。 タイピング $ 現在の行の最後に移動します。

いくつかの単語をスキップしたい場合はどうしますか? タイピング w 次の単語の先頭(つまり、次の単語の最初の文字)にジャンプします。 単語の末尾を編集または追加する必要がある場合は、 e。 これにより、カーソルが次の単語の最後の文字に移動します。

これらのコマンドの前に番号を付けることにより、これらのコマンドを拡張することもできます。 入力した場合 2w、カーソルは2ワード先にジャンプします。 4w 4ワード先にジャンプし、 3e 3ワード先の最後の文字にジャンプします。

ドキュメントの最初(つまり、最初の行)に戻る必要がある場合は、次のように入力します。 gg。 タイピング G ドキュメントの最後の行に移動します。

これに慣れると、文章の編集が非常に簡単になります。

vimの知識を広げる

vimスキルを学習および改善するためによく引用される方法は、組み込みの vimtutor。 これはvimにプリインストールされています。 次のように入力してアクセスできます vimtutor コマンドラインに:

はじめにvim

vimtutorは、vimの最も一般的な使用法のいくつかを説明します。 含まれている演習は、テキストの編集をすぐに開始できるように設定されています。 家庭教師が示唆するように、コマンドを暗記しようとするのは賢明ではなく、むしろそれを行うことによって学ぶことです。 最初にvimtutorを完了するには、30〜45分かかる場合があります。 あなたが始めているとき、私は定期的に家庭教師を通過することをお勧めします。 完了時間を徐々に短縮し、コマンドを筋肉の記憶にコミットします。

VimからNeoVimへの移行

Vimの公式バージョンは優れたテキストエディターです。 ただし、更新がプロジェクトに歓迎または統合される方法には、長い間がっかりしています。 オリジナルで主要なメンテナであるBram Moolenaarは、それ以外の場合は妥当なプルリクエストを拒否することで幾分評判があります。 プロジェクトの包括性の問題に対応して、Vimにはいくつかの分岐と再配布がありました。 これは、コミュニティのニーズに向けてVimプロジェクトのメンテナンスに再び焦点を当てるための取り組みです。

これらのプロジェクトの主要なもののXNUMXつは NeoVim。 元のディストリビューションのフォークであるNeoVimは、コミュニティで長い間議論されてきた機能の多くを実現することを目的としています。 以下では、NeoVimの使用を開始します。 Vimから移行する場合でも、まったく新しいVimの世界に移行する場合でも、NeoVimは優れたディストリビューションです。

NeoVimの利点

元のディストリビューションに対するNeoVimの主な利点のXNUMXつは、タスクを非同期で実行できることです。 これは特に有益で、待望されています。 ここでの主な利点は、現在作成しているプログラミング言語での非同期リンティングです。この結果として、この機能を利用するさまざまなNeoVimプラグインがあります。

非同期I / OなどのNeoVimの機能の一部がVim8に追加されたことは言及する価値があります。追加されたVim8は、主にNeoVimの成功と受信により、これらの機能を追加しました。 コミュニティ主導の開発に重点を置いているNeoVimは、頻繁に更新および保守されていることが示されています。 開発者の大規模なチームが積極的に貢献しています。

ダウンロードとインストール

OS X用のNeoVimをダウンロードしてインストールするには、ターミナルでHomebrewを使用するのが最も簡単な方法です。

brewインストールneovim 

 

または、次の場所から最新の安定版リリースをインストールできます。 ここに。 LinuxおよびWindows用の追加のディストリビューションも利用できます。

インストールしたら、実行できるはずです nvim ターミナルでNeoVimを起動します:

はじめにvim

VimからNeoVimへの構成の移行

vimをしばらく使用している場合は、NeoVimに引き継ぐ設定がある可能性があります。 の .vimrc ファイルはすべての構成設定を保存します。 通常、これはホームディレクトリ(~/.vimrc).

NeoVimは、デフォルトでまったく異なる構成ファイルを使用します。 設定を追加またはインポートするには、最初にその設定を行う必要があります。 NeoVimの設定ファイルのデフォルトの名前と場所は ~/.config/nvim/init.vim. init.vim はNeoVimと同等です .vimrc.

NeoVimの構成設定を処理するには、少なくともいくつかのオプションがあります。

  1. の正確なコピーを作成 .vimrc 〜へ ~/.config/nvim/init.vim (最も簡単なソリューションのXNUMXつ)

  2. 間にシンボリックリンクを作成する ~/nvim/init.vim 影響により ~/.vimrc

    これを行うには、次の3つのコマンドを実行します。

    mkdir -p $ {XDG_CONFIG_HOME:= $ HOME / .config}
    ln -s〜/ .vim $ XDG_CONFIG_HOME / nvim
    ln -s〜/ .vimrc $ XDG_CONFIG_HOME / nvim / init.vim

     

vimとNeoVim間の互換性と同期が優先事項ではない場合、最初の選択が最も簡単です。 あなただけを維持する必要があります init.vim から設定をインポートした後 ~/.vimrc.

Vimは最高のテキストエディタですか?

Vimは最高のテキストエディタですか良いテキストエディタを探すとき、選択肢がたくさんあるので多くの人が混乱します。 ただし、Vimは最高のテキストエディタのXNUMXつです。 BracketsやAtomなどの最新のグラフィカルエディターと比較すると、Vimはシステムの総メモリのほんの一部しか使用していません。 また、それは即座にロードされ、Emacsよりもはるかに高速です。

Vimの最も優れている点のXNUMXつは、エディターの使用を開始するのが簡単なことです。 Vimは高度に構成可能であり、注目すべき機能を誇っていることをご存知ですか? これらの機能には、構文の強調表示、グラフィカルバージョン、マウスのサポート、ビジュアルモードなどがあります。 また、多くの新しい編集コマンドがあり、これは優れています。

サポートに関しては、Vimにはエネルギッシュで熱狂的なコミュニティがあり、優れたプラグインの開発に関して優れたサポートを提供し、初心者とエキスパートユーザーの両方に役立つVimのヒントとコツを提供しています。

Linux、Windows、MacをサポートするVimは、市場に出回っている多くの一般的なツールとうまく統合できる、信頼性が高く安定したエディターです。 Vimがいつでも利用できることを知って幸せになるでしょう。 すべてのLinuxマシンにそれがあります。

Vimはまた、フットプリントが小さく、起動が速く、待ち時間が短く、画面スペースを増やすことができます。これは注目に値します。 Vimは、巨大なソースコードファイルを編集する場合でも、非常に高速で応答性が高く、軽量です。

Vimテキストエディタコマンド

Vimが従来のLinuxテキストエディタとは少し異なることをご存知かもしれません。 たとえば、Vimは、一度にXNUMXつのことを実行し、それを正しく実行するというUnix独自の哲学を維持しています。

この哲学の背後にある基本的な考え方は、ほとんどのプログラマーがほとんどの時間をコードの作成ではなく編集に費やしていることをご存知ですか? Vimを最大限に活用したい場合は、Vimコマンドに精通している必要があります。

Vimでは、ほとんどの時間を「通常」モードで過ごし、テキストを追加または変更する必要がある場合にのみ「挿入」モードに切り替えることができます。 これは、すべての編集が、他の操作と繰り返したり連鎖したりできる独自の自己完結型の操作になることを保証するため、重要です。
ほとんどの編集コマンドの前に、複数回適用するための番号がオプションで付いている場合があることをご存知ですか? たとえば、3ddを押すとXNUMX行を削除できます。 また、テキストの選択方法にはXNUMXつのオプションがあることに注意してください。

たとえば、一度にXNUMX行を削除するddや、XNUMX行をコピーするyyなどのコマンドを使用できます。 もうXNUMXつの方法は、テキストを強調表示して、そのテキストを名前のないレジスタにコピーすることです。

移動コマンドと同様に、コマンドの前に数字を付けると、特定のタスクが完了する回数が増えます。 たとえば、yyの前に5などの数字を配置すると、コピーされる行数が増えます。 これは、5yyが5行をコピーすることを意味します。

  • yy –XNUMX行をコピーします
  • yw –XNUMXつの単語をコピーします
  • v –さまざまな矢印ボタンまたはk、h、j、およびlボタンを使用して一度にXNUMX文字を強調表示します
  • V – XNUMX行を強調表示し、移動キーを使用して追加の行を強調表示できます
  • p –コピーしたものを名前のないレジスタに貼り付けます
  • dd –XNUMX行のテキストを削除します
  • dw –XNUMXつの単語を削除します

コマンドモードでは、Vimエディターはさまざまなキーボード入力をコマンドとして処理することに注意してください。 一方、挿入モードでは、エディターはこれらの入力を元の値として処理します。 コマンドモードを使用して、テキスト編集を制御できます。

Vimでテキストエディタを開くにはどうすればよいですか?

Vimにジャンプする前に少し準備をする必要があります。 Linux OS(オペレーティングシステム)から直接コンソール端末を簡単に開くことができます。 ターミナルウィンドウが表示されたらすぐに、現在のディレクトリを一覧表示するためにlsコマンドを入力できます。

その後、新しいディレクトリを作成するためにmkdirTutorialと入力します。 それはチュートリアルと呼ばれます。 cd Tutorialと入力するだけで、ディレクトリに入ることができます。 ドキュメントを開いて、次のように入力できます:vsplit / path-to-document / document。 これにより、指定したドキュメントが開き、画面が分割されて、両方のドキュメントが簡単に表示されることに注意してください。

ファイルが現在存在しない場合、エディターは新しいファイル(空白)を開きます。 存在する場合、Vimはファイルを開いて編集できるようにします。 viを使用して、新しいファイルを作成し、既存のファイルを編集できることに注意してください。

Vimはコマンドモードで起動します–このモードでは何も入力できません。 iを押すと挿入モードに入ることができます。

Vimテキストオブジェクト

VimテキストオブジェクトVimのテキストオブジェクトの最も優れている点は、複数のパラメーターに基づいて単語、フレーズ、テキストセクションを変更または修正できることです。

VimでVimテキストオブジェクトを使用してテキストを高精度で編集する方法が気に入るはずです。 これが、Vimのテキストオブジェクトを理解する価値がある理由です。

Vimで効率的なエディターになるには、個々の文字を超えて編集する必要があります。 むしろ、文、単語、段落で編集してください。 Vimでは、これらの高レベルのコンテキストはテキストオブジェクトとして知られていることをご存知ですか? たとえば、dawと入力すると、Vimはコマンドに従い、単語を削除します。 ci 'と入力すると、Vimは一重引用符で囲まれたテキストを変更または修正するのに役立ちます。

Vimは、さまざまな便利な演算子(変更、削除、ヤンクなど)を強力なテキストオブジェクトとシームレスに組み合わせることで、この精度を実現するという点で優れています。 演算子をこれらのテキストオブジェクトと組み合わせて活用することで、Vimは、テキストベースのドキュメントやコードを編集するための細分性と十分なパワーを提供します。

Vimテキストの強調表示

構文やテキストの強調表示、プログラム内の特別なフレーズやキーワードの色付けなしでは、テキストエディタが本当に完全なものではないことは間違いありません。 構文の強調表示がドキュメントの構造を強調することをご存知ですか?

また、誤植の特定やデバッグの目的にも役立ち、テキスト編集がより簡単になり、生産性が向上します。
Vimテキストの強調表示は、用語のカテゴリに応じて、テキスト、特にソースコードをさまざまな色とフォントで表示する機能です。 構文またはテキストの強調表示がVimでデフォルトでオンになっていることをご存知ですか?

また、強調表示メカニズムはさまざまな非表示のトークンを使用することに注意してください。 これらは、filetypeプラグインによって提供される直感的なマッピングを使用してTxtfmtバッファーに挿入されます。

著者紹介

アンジェロは20年以上にわたってクリエイティブITの世界に携わってきました。 彼は1998年にDreamweaver、Flash、Photoshopを使用して最初のWebサイトを構築しました。 彼は、HTML / CSS、Flash ActionScript、XMLなどの幅広いプログラミングスキルを学ぶことで、知識と専門知識を広げました。

アンジェロはオーストラリアのシドニーでCIW(Certified Internet Webmasters)プログラムを使用して正式なトレーニングを修了し、コンピューターネットワーキングの中心的な基礎と、それがワールドワイドウェブのインフラストラクチャとどのように関連しているかを学びました。

アンジェロは、Sunlight Mediaの運営とは別に、ウェブとアプリの開発、デジタルマーケティング、その他の技術関連のトピックに関連する有益なコンテンツの作成を楽しんでいます。

1 コメント

  • サウンドス 10月17、2021で8:04午前

    この情報に感謝、

コメントの投稿

コメントはモデレートされます。 あなたのメールは非公開にされます。 必須フィールドは、マークされています *