私はTextmateからMacVimに切り替えようとしているRubyプログラミングで、VIMでできることの巨大なリストとそれらのためのすべてのキー入力を歩くのに苦労しています。 「テキストの挿入に「I」を、文字の後にテキストを追加するのに「a」を、行末にテキストを追加するのに「A」を使用できる、または...」と聞くのはうんざりです誰もが20種類すべてのキープレスを使用してテキストをナビゲートし、10程度のキーを使用してテキストの追加を開始し、18の方法で内部ブロックを視覚的に選択します。それともあなた!?
私の理想的なチートシートは、誰もが日常的にコードを書くために使用する30から40の最も使用されるキープレスまたはコマンドと、ルビイストが毎日使用する絶対不可欠なプラグインおよびそれらのための10の最も使用されるコマンドです。理論的には、いったんそれを取得し、TextmateのようにVIMに習熟すると、then何千もの学習を始めることができますmoreを効率的にする他のVIMコマンド。
または、間違った方法でVIMを完全に学習していますか?
これは、私が実際に定期的に使用するコマンドとともに、一度作成したヒントシートです。
<Esc>
は、任意のモードからコマンドモードに戻りますすべての挿入コマンドは、<Esc>
で終了し、コマンドモードに戻ります。
rおよびRを除くすべての変更コマンドは、<Esc>
コマンドモードに戻ります。
<motion>
は動きの方向にテキストを変更します<motion>
モーションの方向に削除しますname
ファイルをディスクにname
として書き込むtags
ファイルが必要です); ^ T前の位置に戻る(位置の任意のスタックが維持される)Vimには、ソース管理でベースバージョンから変更された行を簡単に強調表示できる機能がいくつかあります。これを簡単にする小さなvimスクリプトを作成しました: http://github.com/ghewgill/vim-scmdiff
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
これは、VIMを学習する上でこれまでで最高のものです。
素晴らしい vimのチートシート :
Vimの組み込みチュートリアルを実行しましたか?そうでない場合は、コマンドラインにドロップして「vimtutor
」と入力します。初期コマンドを学ぶのに最適な方法です。
Vimには信じられないほどの柔軟性とパワーがあり、ほとんどのvimユーザーと同様に、多くの新しいコマンドを学習し、古いコマンドを忘れて、それらを再学習します。組み込みのヘルプは、新しいものを学ぶために定期的に閲覧するのに適しています。
インターネットには、vimに関する優れたFAQとチートシートがいくつかあります。 vim + faq
およびvim + cheatsheet
を検索することをお勧めします。 Cheat-Sheets.org#vim は、良いソースです Vim Tips wiki 。
ほとんどの人がやっていることは、たぶん基本的なものから始めることです。 i、 yw、 yy、そして p。引き続き矢印キーを使用して移動したり、マウスでテキストを選択したり、メニューを使用したりできます。その後、何かが遅くなったら、より高速な方法を探して、徐々にコマンドを追加します。しばらくの間、1日に1つの新しいコマンドを学習すると、1週間に1つになります。 1か月でかなり生産的に感じるでしょう。 1年後にはかなり堅実なレパートリーが得られます。2〜3年後には、指が何をタイプしているのかを意識することすらできなくなります。 1993年にviを学びましたが、それでも1年に2つまたは3つの新しいコマンドを取得しています。
@Greg Hewgillのチートシートはとても良いです。数か月前にTextMateから切り替えを開始しました。今では、TMを使用したときと同じくらい生産的になり、Vimのパワーに絶えず驚いています。
切り替え方法 です。たぶんそれはあなたにとって役に立つかもしれません。
Grosso modo、急進的な切り替えを行うのは良い考えだとは思いません。 Vimは非常に異なっており、漸進的に進むことが最善です。
そして、あなたのサブ質問に答えるために、はい、私は毎日iaIAoO
のすべてを使用して挿入モードに入ります。確かに最初は奇妙に思えますが、しばらくの間はあまり考えません。
プログラミング関連のタスクに非常に役立ついくつかのコマンド:
r
およびR
は文字を置き換えます<C-a>
および<C-x>
は、数字を増減しますcit
は、HTMLタグのコンテンツとそのバリアントを変更します(cat
、dit
、dat
、ci(
など)<C-x><C-o>
(,,
にマッピング)オムニコンプリート用<C-v>
を使用した視覚的なブロック選択Vimの方法に慣れると、他のエディターまたはテキストフィールドでテキストを編集するときに、常にo
またはx
を押すことが非常に難しくなります。
これを.bashrcに入れて、最後に編集したファイルを最後に編集した行でvimを開きます
alias vil="vim +\"'\"0"
誰もが20種類すべてのキープレスを使用してテキストをナビゲートし、10程度のキーを使用してテキストを追加し、18の方法で内部ブロックを視覚的に選択することは想像できません。それともあなた!?
私がやります。
理論的には、いったんそれを取得し、Textmateの場合と同じようにVIMに習熟し始めると、他の何千ものVIMコマンドの学習を開始して、効率を上げることができます。
それが正しい方法です。基本的なコマンドから始めて、生産性を向上させるコマンドを選択します。 vimで生産性を向上させるためのヒントについては、 このブログ をフォローするのが好きです。
tuxfiles.org はかなり良いチートシートを保持しています。コマンドを学習するためのポイントがいくつかあると思います。
d$
の後の行全体を削除するなど、何かを定期的に実行していることに気付いた場合は、簡単なGoogle検索でそのコマンドを見つけることができるかどうかを確認してください。これらのヒントに加えて、理解すべき基本的な概念がいくつかあります。
d$
を使用します。特定の文字の後の行を強調表示するには、v$
を使用します。したがって、$
は、カーソルが現在ある行の最後まで何かを行うことを示していることに注意してください。u
は元に戻し、ctrl+r
はやり直しです。3dd
はカーソルのある行とそれに続く2行を削除します。同様に3yy
はカーソルのある行とそれに続く2行をコピーします。:ls
を使用してバッファをリストし、:bn
、:bp
を使用してバッファを循環させます。:help
にあるチュートリアルを読んでください。これはおそらく「ロープを学ぶ」ための最良の方法であり、残りのコマンドは使用方法を通じて学習します。vimを使用した効率的な編集 に進み、開始するために必要なものを学習します。そのページのすべてが最初から必要なわけではないため、必要なものを選択してください。
そこから、すべてにvimを使用します。 「hjkl」、「y」、「p」は、たとえ最も効率的な方法でなくても、長い道のりを歩みます。効率的に(またはまったく)実行するための魔法の鍵がわからないタスクに出くわし、それを数回以上実行していることに気付いたら、調べてみてください。少しずつそれは第二の自然になります。
多くの月(最後に「m」がなかったとき)にvimが気が遠くなるのを見つけましたが、効率を上げるために着実に約1週間しかかかりませんでした。私は今でも、それを処理する最も速いエディターだと思っています。