208

少し前に、私は viemu の作成者による記事を読み、 vi に関する多くの誤解を解消し、なぜそれが良い考えなのか (そしてなぜ過去 30 年以上にわたって非常に人気があったのか) を説明しました。同じ人物が、一度にいくつかの基本事項を教える素晴らしいグラフィカルなチート シートのセットも持っています。

私は確信しています。

実際、私はこの 2 年間、確信してきました。しかし、私はまだ vi を主な編集者として強制的に学習させるには至っていません。学習曲線は高すぎます。仕事に取り掛かると、容認できるが即時の生産性 (現在のエディターを使用) は、これまでのところ、途方もない生産性 (vi を使用) よりも勝っています。

学習曲線を乗り越えるのに役立つヒントはありますか? それは簡単なヒントでも、他のチュートリアルや記事でも構いません。

編集: vim/gVimCream、およびMacVim (など) の vi のバリアントを認識していることに注意してください。vi ファミリー全体に言及するために、vi についての質問を続けました。すべてのすばらしい答えをありがとう。

更新 (2009 年 4 月)

私は昨年の 12 月から、日々の仕事で Vim (より正確には MacVim) を使用しています。私は戻りません:-)

Vim を熟知している皆さん、頑張ってください。

4

60 に答える 60

126

まず第一に、Vim を手に入れたいと思うかもしれません。vi が持つすべての機能に加えて、非常に優れた機能セットを備えています。

とはいえ、学ぶには規律が必要です。もしあなたが仕事を持っていて、(クビになることなく)生産性を犠牲にする余裕がないなら、編集者を学ぶためだけに週末のプロジェクトに参加することをお勧めします。作業中はそのドキュメントを開いたままにし、チキンアウトしないように十分に訓練してください。あなたがより多くを学び、効率的になり、筋肉の記憶に頼るようになるにつれて、それを固執することは難しくありません.

私は非常に長い間 Vim を使ってきたので、検索、ナビゲート、または保存するためにどのキーを押せばよいかさえ考えていません。そして、私の手はキーボードから離れることはありません。Vim を使用することは、私のプログラミング キャリアの中で最良の選択の 1 つです。

于 2008-09-16T17:13:36.043 に答える
66

私が最初にすることは、矢印キーと ins/home/end/pgup/down キーの上に紙または本を置くことです。これらは Vi では必要ありません。

次に、エスケープを押すように言われるたびに ctrl+[ を押すことに慣れます。はるかに高速で、キーボードから手を離す必要はありません。

次に、スクリーンキャストを見ます。

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

あとはひたすら練習練習。

編集 矢印キーを避ける理由は、それらがあなたを遅くするからです。Vim の最大の利点の 1 つは、速度です。また、矢印キーを使用すると、習得すると非常に強力なモーダルの性質を実際に受け入れることができなくなります。

于 2008-09-16T17:13:02.660 に答える
40

ステップ 0:タッチタイプを学ぶ。真剣に - あなたの指がキーがどこにあるのかわからない場合、vim は苦痛になるでしょう。また、vim を拒否したとしても、タッチ タイピングを行うと、リンクの摩擦をなくして監視できるようになり、プログラミングが改善されます( Steve Yeggeに聞いてください)。タイピングを改善するのに役立つソフトウェアたくさんあります。

ステップ 1: vimtutorを使用して開始します。gvim (ヘルプ メニューの下にあると思います) にあるか、コマンド ラインで「vimtutor」と入力するだけです。30 ~ 45 分ほどで、vi/vim の基本を指で理解できるようになり、キーボードを窓から放り出さずにファイルを編集できるようになります。

ステップ 2:どこでも vim を使用します。 IDE で電子メールを作成するために、Web ブラウザからコマンドラインで vim および vi キー バインディングを使用するためのヒントとリンクについては、この質問を参照してください。マッスル メモリにキー バインディングを埋め込むには、vim を使用する必要があります。

ステップ 3: vim についてさらに学びます。vimtutor で表面をなぞっただけです。このビデオを見るか、この記事を読むことができます(どちらも「効果的なテキスト編集の 7 つの習慣」についてです。StackOverflow のヒントとコツについて読むことができ ます 。vimtips 参照 する こと できます。少し頻繁に学ぶことは私のアドバイスです。たくさんあります。一口サイズのチャンクに固執することが、知識を固執させるための最良の方法であることがそこにあります.

ステップ 4:利益 :)

于 2009-05-07T13:06:52.807 に答える
26

私は何年にもわたって vim を何度も何度も使用してきました (時折システム管理者の仕事をしています)。最近、プログラミング作業にもっと時間を費やし始めました。gvim から始めることもお勧めします。それはほとんどの OS 環境とうまく統合され、(さらに良いことに) 必要なときにマウスにフォールバックできます:)。

vim を使い始めるには、vimtutor (gVim に同梱) を 1 回か 2 回実行します (1 時間ほどかかります)。それが私にとってどれほど役に立ったかは言い尽くせません!特に、ドキュメント内を移動するさまざまな方法や、編集アクションがモーション コマンドでどのように記録されるかなどについての最初の部分です。その後、物事はより明確になります。

次に、それを使って簡単な小さな編集 (メモ帳に代わるもの) を開始し、迅速なクリップで有用な編集を行うのに十分快適になるまで. 次に、その中で日常業務を行ってみてください。すぐに、他のエディターの「最後のアクションを繰り返す」コマンドが欲しくなるでしょう!

于 2008-09-16T17:57:06.670 に答える
20

あなたは、vi テキスト エディターの学習曲線を乗り越えるのに役立つ良いヒントを求めました。以前の回答の多くは、他のエディターを使用しないことを示唆しています。良いアドバイスだと思います。よりグラフィカルなエディターから vi に切り替えるには、考え方を変える必要があります。視覚的な変化ではなく、コマンドの観点から考える必要があります。

私は何年も vi しか使っていませんでしたが、生産性を高める唯一の方法は、日常的に使用するコマンドを覚えることだと信じています。私がこれを行った方法は、最も一般的なキーボード コマンドの短いリストを作成することでした。これらのコマンドを機能別にグループ化し、色分けしました。つまり、カーソルの移動、編集、検索などです。私が知らなかった最も一般的に使用されるコマンドのみを含めるように注意しました。アイデアは、暗記にも役立つクイック リファレンスを作成することです。利用可能なヘルプ画面を置き換えるものではありません。次に、このリストを印刷してモニターの後ろの壁にテープで貼り付け、簡単に見られるようにしました。(あなたが言及したグラフィカルなチート シートの方がうまくいく人もいるかもしれませんが、暗記ツールよりも優れたリファレンス ソースである可能性があります。)

これが鍵です。 コマンドの 1 つに慣れてきたので、鉛筆で線を引きました。必要に応じてまだ見ることができましたが、そのコマンドをマスターしたことは私にとって象徴的でした. 定期的な進歩を見ることができたので、自信とモチベーションが得られました。それらのほとんどを取り消したら、それらを削除し、めったに使用されないコマンドをいくつか追加しました。vi のコマンドに満足するまで、このプロセスを続けました。長い間コマンドを消したり、リストを見たりしていないことに気付いたとき、私はその時点に到達したことを知っていました.

数年前、私は UNIX プラットフォームで作業する必要がありました。このプラットフォームでは、使用可能なエディターは vi だけでした。vi でポケット参考書を少し購入しましたが、ほとんど使用しませんでした。最初に vi を使用したときと同じように、リストを作成して壁に投稿することになりました。vi を使用してから 5 年が経ちましたが、最初の 1 週間の終わりまでには、私は非常に快適になりました。

于 2008-09-16T17:49:05.553 に答える
11

複雑な編集作業を行うたびに、もっと効率的な方法がないか考え続けてください。ほとんどの場合、簡単な言葉で説明できるもの (「テキストの段落を入れ替える」や「コメント行の X 文字以降をすべて削除する」など) であれば、vim で数回のキーストロークで実行できます。

非常に便利ないくつかの重要な機能があり、常に使用を終了します。私が最も気に入っているものは次のとおりです。

  • ブロック選択 (Ctrl-V)
  • マクロ記録 (q)
  • 仮想編集 (:set ve=all)
  • 正規表現
  • 外部 Unix プログラムへのパイプ
  • キー マッピング
  • オートコンプリート (Cp、Cx Cp、Cx Cf)
  • 操作+移動のコンビネーション(これはすごい迫力です)

他のプログラマーに、どの機能が最も便利かを尋ね、あなたの頭脳により適した機能を採用してください。他の人のアイデアを盗む.vimrc(ここに私のものがあります)

于 2008-09-16T18:06:49.190 に答える
11

強制しないでください。マスタリー愛への道は。

于 2008-09-16T18:10:40.990 に答える
11

vim (Vi IMproved) と、特にその GUI - gVimから始める必要があります。GUI にはメニューがあり、Windows ではコピー、切り取り、貼り付けのショートカットを使用できるため、メモ帳をすぐに置き換えることができます。また、メニューにはショートカット (vim コマンド) が表示されるので、多くのことを学ぶことができます。

最初から行うべきもう 1 つのことは、必要に応じて vi を構成することです。たとえば、vim をPython IDEに変換できます。これにより、vi が必要なものをすべて提供してくれるので、別のエディターを使用する言い訳がなくなります。

于 2008-09-16T17:19:24.157 に答える
11

私にとって VI は非常に優れたエディターですが、他に代替手段があれば使いたいとは思いません。これが万人向けではないことは承知していますが、それが恐ろしいなどと言っているわけではありません。個人的には、発見可能なUIが好きです.

しかし、Linux で何か重要なことを行う場合は、VI を理解する必要があります。

i=挿入モード esc=挿入モードを終了 :wq=保存して終了 :q!=保存せずに終了 x=挿入モードでない場合は文字を削除。/=検索

これにより、編集の緊急事態を乗り越えることができます。これらのいくつかのコマンド (およびもちろんナビゲーション) でできないことは何もありません。残りは必要に応じて「付ける」ことができます。

VI を使用する必要がある場合は、おそらく Web を閲覧できないでしょうが、参考文献や書籍を利用できるようにしておいてください。ただし、man ページは多少役立つ場合があります。

于 2008-09-16T17:19:49.413 に答える
10

他のすべてのテキスト エディター アプリを削除します。

それからあなたはそれを学ばなければならないでしょう。

于 2008-09-16T17:09:30.373 に答える
9

少し前に、Vim を使った効率的な編集のガイドを書きました。役に立つかもしれません。

少し立ち戻って、「なぜこのエディターを学びたいのですか? 現在のテキスト エディターよりも速く、または優れていると思う理由は何ですか?」と自問します。次に、Vi(m) をあなたにとって不可欠なものにする機能を学びましょう。

たとえば、Vim の CTags 統合は、私にとって完全に不可欠です。私は非常に大きなコードベースを扱っており、1 回のキーストロークで関数またはクラス定義にジャンプする機能 (それがどのファイルにあるかに関係なく) は絶対にキラーな機能であり、これなしでは作業できません。

.vimrc ファイルを使用して、一般的なタスクを自動化するマクロを作成します。

オートパイロットの編集者選択者は、仕事を最も迅速に完了し、精神的な労力が最も少ない編集者を選択します。ちょっとした準備作業で、エディターが Vim であることを確認できます。:-)

于 2008-09-16T18:07:53.260 に答える
9

自分自身を強制する最も簡単な方法は、マシンから他のすべてのエディターを削除することです。誘惑を取り除く:)

于 2008-09-16T17:11:44.800 に答える
8

編集:オンラインの間隔を空けた繰り返しサイトflashcarddb.comでフラッシュカードセットを作成しました。興味がある場合は...

  1. mnemosynesupermemo、またはankiなどの間隔をあけた反復フラッシュ カード プログラムを使用して、新しいコマンドの学習と保持を日常生活に組み込みます。毎日のエディターとして vim を使用するだけでは十分ではありません。それをマスターするには、これらのコードを頭の中に保存し、目前のタスクに対する理想的な解決策となる時を待つ必要があります。
  2. カスタマイズで .vimrc を維持する
  3. vim プラグインの作成または編集
于 2010-08-12T01:56:52.790 に答える
6

私の提案: 小さく始めてください。最も便利なコマンドの小さなセットを覚えることから始めてください。私が vi を始めたときのトップ 10 は次のとおりです。

  • (Esc) コマンドモードに戻る (最も重要!)
  • a カーソルの後にテキストを追加する
  • 現在の行の末尾にテキストを追加する A
  • ×で1文字削除
  • ddで1行削除
  • R でテキストを置換 (上書き)
  • 元に戻す
  • :q! (Enter) 保存せずに終了
  • :w (Enter) 保存します
  • 保存して終了する ZZ

これらのコマンドのみを使用して、多くの基本的な編集を行うことができます。快適になれば、残りはそれほど難しいものではありません。

ところで、以前は主なテキスト エディタとして vi を使用していましたが、今は必要な場合にのみ使用していることを付け加えたいと思います。私の場合、Emacs や Visual Studio などのツールを使用すると生産性が向上します (「私の場合」に注意してください)。複数のツールを試して、生産性を最も高めるツールを選択してください。幸運を!

于 2008-09-17T01:41:08.663 に答える
6

vi のスキルを大幅に向上させる 2 つのこと:

  1. 練習、練習、練習
  2. ネサック
于 2008-09-16T18:45:42.733 に答える
5

ばかげているように聞こえますが、ローグライクゲーム ( NethackAngbandhなど) をプレイすることは、カーソル ナビゲーションに/ j/ k/lキーの使用に慣れるための楽しい方法です。

于 2009-01-18T23:13:34.160 に答える
4

仕事で使用している現在のエディターで使用しているすべてのショートカットと機能を書き留めます。次に、土曜日の朝に座って、Google とスタック オーバーフローを使用して、vi でこれらのそれぞれを行う方法を見つけます。これには、1 枚または 2 枚の紙を使用するのがおそらく最適です。

作業中の他のエディターを無効化/削除して、比較シートを見て vi で実行するよりも、それらを見つけて再インストールするのに時間がかかるようにします。つまり、選択の余地はありません。

最後に、古いエディターから新しいエディターへのクロスオーバー ショートカットのリストをブログで公開します。

幸運を!

于 2008-09-16T17:13:13.890 に答える
4

X11を使用しないでください。

$ sudu rm /usr/local/bin/emacs

ログイン シェルをviに変更しますか?

まず、edを強制的に使用すると、viがぜいたく品のように見えますか?

bashでviキーバインディングを使用しますか?

いつもviを使い始めるだけですか?

編集者を学ぶことは、言語を学ぶこととそれほど変わらないように私には思えます。浸漬が最適です。

私はviを非常に簡単な編集に使用したり、何らかの理由でX11を使用できない場合に使用しますが、私はemacsに住んでいます。本当に強力なエディターは、時間をかけて学ぶ価値があります。

于 2008-09-16T17:19:38.663 に答える
3

vi私が(または Windows では Putty を)使用する主な理由は次のsshとおりです。Unix サーバーにリモートでログインしている場合viは、いつでも利用できます。また、カーソルキーもバックスペース/削除もマップされていない場合、VT100 で動作します。

また、VI Editor Pocket Referenceのような本があると非常に役立ちます。

于 2009-05-13T14:06:04.087 に答える
3

私が推奨するのは、簡単なプログラムを考え出し、最初から最後まで VI を使用してそれらを作成することです。

おそらく、最初は学習曲線にイライラしすぎて、職場や時間に敏感な環境で強制的に使用することはできません.

環境/エディターに慣れるために以前にこれを行ったことがありますが、かなりうまく機能します。

何かを書くのに問題がある場合は、学校で行ったプロジェクト (または以前に行った他のプロジェクト) をやり直すことをお勧めします。この方法には、自分がどれだけ優れた開発者になったかを確認できるという追加のボーナスがあります。:)

編集:マウスを使用する誘惑を避けるために、コンソールからこれを完全に行う必要があることを忘れていました!

于 2008-09-16T17:17:34.380 に答える
3

gVIM には非常に優れたチュートリアルがあります ([スタート] メニュー グループのリンク)。

それが最初の学習のこぶを乗り越えるのに役立つことがわかりました。その後、Visual Studio を ViEMU に切り替えて、VI のスキルを磨くことができました。

また、http://vimcasts.org/ のスクリーンキャスト素晴らしいです。

于 2008-09-16T17:47:13.607 に答える
3

私が最初に emacs を学び始めたときのことを覚えています。それは、私がすでに Vim に非常に慣れていた後でした。私はあなたと同じ、または似たような船に乗っていました。そこでは、別のエディターで多くのことを行う方法を知っていました。 emacs を使用すると、常に非常に遅くなります。

しかし、あなたがしなければならないことは、ほんの少しの痛みを吸収することだと思います.そして、常に、常に、以前のエディターでできることがわかっていることを行うためのドキュメントを参照するようにしてください.行末に移動したり、テキストの領域を選択したりします。

また、質問できる地元の vi 専門家が手元にいる場合や、当社のようにペア プログラミングを推進している場合にも役立ちます。そうすれば、簡単であるべきことをしようとしているときに、誰かに尋ねるだけで、方法を教えてくれます。エディタを数週間定期的に使用している場合は、それ以上尋ねる必要はありません。それが第二の性質になる前に数回。

ローカル リソースがない場合は、ほとんどの質問に答えることができるオンラインの書籍/チュートリアル/リファレンス シートがたくさんあります。

最終的に、Vi の学習は他のスキルの学習と同じであり、特効薬はありません。しばらくの間、現在のエディタよりも生産性が低下することを受け入れる必要があります。「他の人は Vi を学ぶことができたし、私は少なくとも彼らと同じくらい頭がいい」と自分に言い聞かせ続けてください (とにかく、それは私が自分自身に言い聞かせていることです :) )

于 2008-09-16T18:05:39.100 に答える
2

すぐにパフォーマンスに影響を与えるという事実に直面してください。新しいツールを学習するときは、問題が自分の問題にならないように、他のツールで行う方法を知っていることを実行できる必要があります。新しいツールをしばらく使用すると、そのツールは消え、根本的な問題だけに集中できるようになります。

vim のようなものでは (他の人が言ったように、vim は vi よりもはるかに優れています)、ドキュメントを定期的に読み直して参照することが重要です。インターフェイスは、それなしでは完全に発見できません。新しい読み取りごとに、機能が表示され、「ああ、先週理解しようとしていたこの問題が解決されたはずだ」と言い、脳に記録されます。あなたが経験した現実世界の問題に関連する解決策は、ランダムなショートカットよりもはるかに覚えやすい.

最終的には、vim の機能のかなり小さなサブセットで使用できるので、すべての機能に圧倒されないでください。Word のすべての機能について考えてみてください。99% の人がそれらを使用していますか?

于 2008-09-16T17:43:37.873 に答える
2

ESC gg=Gコードを再インデント:retabし、タブをスペースに、またはスペースをタブに変換することが、私をvimに夢中にさせました。だから実際には強制的に使う必要はなく、スピードを上げるのに役立つ時を学べばいいだけです。

通り抜けvimtutorます。

構成ファイルや html などの簡単な編集に vim の使用を開始します。必要に応じてコマンドを学習してください。

あなたのものに似たツールチェーンを使用する誰かが使用する適切な .vimrc をグーグルで検索してください。構文の強調表示をオンにします。素敵な配色を見つけてください。

Vim は、いくつかの単語を複雑な XML タグにフォーマットしたり、CSV を HTML テーブルに変換したりするなど、自動化されたタスクやスニペットの挿入に最適であるため、マクロを学びましょう。

于 2008-09-16T18:02:34.927 に答える
2

クリームから始めたいと思うかもしれません。Cream は自分自身を vim の「最新の構成」と表現しています。基本的に、これは vim の特別なバージョンであり、すべての実用的な目的で他のテキスト エディターと同じような外観と操作感を備えています。ただし、「エキスパートモード」を有効にすると、vim のすべての機能と動作が得られます。

そのため、Cream を通常のテキスト エディタとして使い始めてから、完全に vim に切り替えられるようになるまで「エキスパート モード」を試すことができます。

于 2008-09-16T18:36:24.550 に答える
2

gVim使用するすべてのプラットフォームにインストールします。

次に、vimtutor (:help vimtutorまたはvimtutorコマンドライン) を実行します。

次の講義を見て、そのアドバイスに従ってください:効果的なテキスト編集 2.0 のための 7 つの習慣

私はあなたが間違いなくあなたのすべての編集にそれを使い始めたいと言います. 生産性の低下が心配な場合は、週末にしっかりと練習してください (以前、これを行って qwerty から dvorak に切り替えたことがあり、月曜日までに生産性が十分に高くなり、その後もそれを使い続けることができました)。

努力する価値があり、後戻りすることはありません。

于 2008-09-16T18:37:39.367 に答える
2

オリジナルの Happy Hacker キーボード (矢印キーなし) のいずれかを手に入れて、編集を開始するたびに (ワイヤレス) マウスを手の届かないところに置くことができます。

于 2008-09-16T17:24:36.750 に答える
2

コマンド/ショートカットの大きなリストを書き出すのは簡単ですが、練習せずにすべてを覚えるのは困難です。

一度に 1 つの新しいコマンドに集中します。1~2週間使って自動になったら、レパートリーにもう1つ追加してください。

短期間で特定のことを達成するために、長い道のりを歩むことになります。これらは、新しい近道を学ぶための明らかな機会です。

私の経験では、一度に多くのことを引き受けないようにしたほうが楽でした。

于 2008-09-16T17:26:57.180 に答える
2

私の一番の提案は、キーボードを見なくても速くタイプできるようになることです。

タイプに触れることができず、常にコロン、hjkl、または :%s/foo/bar を探し回っている場合は、忘れてください。タイピングマウスを使用するよりも速い場合がありますが、そうでない場合、vi は機能しません。

しかし、優れたタイピングスキルを組み合わせると、ssh とscreenと vi が自然になります。

于 2008-09-16T17:28:45.150 に答える
1

私は 10 年以上前に修士課程で vim/vi を学びました。当時、私がアクセスできるマシンは Sun Sparc ステーション (Sparc 20 だと思います) だけでした。そして、vi はその上にある唯一のものです。したがって、自分自身を「強制」するためにできることの 1 つは、お持ちの他のエディターをアンインストールすることです。

于 2011-10-14T14:41:48.560 に答える
1

私がずっと若かったとき (11 歳)、家族で数年間ドイツに引っ越しました。私はイマージョンを通じてその言語を学ぶことができました - 私はその言語を話すしかありませんでした (私が悲惨な状況にあった場合、私は英語を話す人を見つけることができました)。

私の提案は、あなたも同じことをすることです - あなたが絶対に絶望的な状況にある場合を除いて (例えば、「/etc/passwd を削除したので root を戻す必要がある」など)、vi で最善を尽くすという意識的な決定を下してください。意欲さえあれば、基本を学ぶのにそれほど時間はかかりません。

他の人が示唆したように、

vim-tutor

この画像のように、非常に良い出発点になる可能性があります。

于 2009-05-07T13:15:05.890 に答える
1

付箋の方法を使用してください:-)

gvim を使用するときは、自分でメニューを使用できるようにします。vim に関する本やチュートリアルを読んで、基本を理解してください。(挿入およびコマンドモード)

必要だと思う本当にクールな機能をいくつか選んで付箋に書き、モニターの下部にある機能を貼り付けます。

良いスタートはおそらく i, a, o, gg, G, :10 ,/something です

yy、dd、p などのカット アンド ペースト

v、V(ビジュアルモード)+カットアンドペーストで締めくくります

次に、それらを知ったら、ポストイットをさらにクールな機能を持つ新しいものに交換し、満足するまで繰り返します.

/ヨハン

于 2009-01-18T22:25:35.987 に答える
1

自分を強制する方法は?私のアドバイスは、Windows から telnet/putty で 10 台の UNIX ボックスを維持しなければならない作業環境にいることです。*nix の複数のバリアントでテキストを効率的に編集する唯一の方法は、私が知っているほぼすべてのディストリビューションに付属している標準エディターを使用することであることがすぐにわかります。また、X11 が新規インストールで起動しない場合は、vi が唯一の友達です:)

于 2009-12-01T18:39:49.383 に答える
1

個人的に、私がしなければならなかったことは、いくつかのアプリケーションで Vim のキー バインドを使用できるようにすること (または少なくとも十分に近いものにすること) でした。エディターを変更するたびにテキストの編集方法を完全に切り替える必要があったため、Vim の編集スタイルをマッスル メモリーにコミットするのは非常に困難でした。

私の場合、Viemu + vimperator でうまくいきました。

于 2008-09-17T01:06:44.720 に答える
0

VIを使い始めたのは、Windowsを除くほとんどすべてのオペレーティングシステムでデフォルトのエディターであるためです。それからまた、私はWindowsで多くのコーディングを行わないので、それは役に立ちます。

* NIX / OSXシステムを強制したい場合は、他のエディターを削除するか、エイリアスを作成してください。残りの部分については、それはあなた自身次第です。VIを使用してファイルを編集しない場合は常に、Cookieを取得しません。

于 2008-09-16T18:19:18.273 に答える
0

インターネットで見つけることができる多くのVi/Vimチートシートの1つを印刷して、数週間それを使い続けるように強制します。

いくつかの基本的なコマンドを習得すると、かなり効率的になります。そこから、プラグを抜いて、時々新しいコマンドを学びます。すべてのviコマンドを学ぶ方法はありません。宇宙の原子よりもviコマンドの方が多いと思います!! :)

于 2008-09-16T17:32:22.660 に答える
0

最良の方法?vi キーバインドを使用するように端末を設定します。

于 2008-09-16T17:37:46.233 に答える
0

うーん、これはプログラミングの質問というよりは物理学の質問ですが、私が本当にやりたくないことをできるようになった最善の方法は、ただそれをやり、自分自身をやる気にさせる方法のことを試みるのをやめることです.それをするために。

歯磨きと同じだと思ってください。それをするために自分自身をやる気にさせる必要がありますか?いいえ、あなたはそれをします。

于 2008-09-16T17:15:20.890 に答える
0

私は 16 歳のとき、最初のプログラミングの仕事でVimを学ぶことを余儀なくされました (上司は私たちに他のものを使わせてくれませんでした)。vim を本格的に使いたい場合の出発点です。

実際、Vim は一部のプログラミング言語よりも習得に時間がかかります (機能は非常複雑です)。チート シートを印刷して Vim を「マスター」しようとすることは、いくつかのブログ投稿を読んで Haskell をマスターしようとするようなものです。真剣に時間を投資する準備をしてください。

于 2009-01-21T07:49:19.733 に答える
0

私が行った方法は、最初に最も基本的なことを確認するのに数分かかることでした-カーソルを移動したり、前後に検索したり、前後の単語/文/段落にジャンプしたりします。挿入、追加。頭に収まるものなら何でも。そして、次の 15 秒間に行う必要のない何かをする必要がある場合は、それを自分で実行します。

基本にかなり慣れたら、より高度なコマンドをゆっくりと学習します。特に、以前の学習を活用するコマンド (次の 3 つの単語を置き換える、次の検索ターゲットに削除するなど) を学びます。

方法を学んだ後は、VI を使用するのが大好きです。高度なコマンドは、ほとんどの GUI エディターが提供しているように見えるものよりもはるかに強力であり、ユビキタスでテキストベースであり、ssh 経由で利用できるという事実は、さらに優れています.

于 2008-09-16T22:00:18.023 に答える
0

私は便利な 1 ページのチート シートを自分で作成し、それを使用して基本的でない機能をすべて学習しました。しかし、練習は何かをマスターするための唯一の方法です。

vi は、すべての UNIX タイプのコンピューター、Mac OS X、Solaris、Linux にあるので便利です。eBay で古い decstation ボックスを見つけましたか? viが付いています。Sun OS 4 はどうですか? もう一度。

于 2008-09-17T01:53:13.547 に答える
0

私はargdoから始めます。一度気に入ってしまえば、あとは簡単です...

于 2008-09-16T18:11:01.990 に答える
0

Windows で VI を使用しています。使用しているバージョンを以下に示します。コンソール ウィンドウを使用している場合は、常にデフォルトで VI を使用しているため、実行している OS に関係なく、ファイルを編集できることがわかっています。逆に、UI モードの場合は、Notepad++ の go figure を使用します。

NT VI - バージョン 0.23 開発者: Tony Andrews プログラムベース: Tim Thompson

于 2008-09-17T01:08:09.663 に答える
0

ネットハックをたくさんプレイしてください。それは私が大学時代にやっていたことで、後でカーソルの動きが同じであることを知りました。ただし、この時点で、vi スタイルのキーマップを使用するように設定を変更する必要がある場合があります。

于 2008-09-17T01:10:26.897 に答える
0

オライリーの優れた本「Learning the vi editor」から vi を学びました。

于 2008-09-16T17:54:36.803 に答える
0

私がしたことをしてください。すべてに使用し、freenode の #vim でぶらぶらしてください。

于 2008-09-19T23:16:05.870 に答える
0

notepad.exe を削除し、代わりに notepad という名前の vim へのショートカットを作成します :)

または、すべてのコーディングをssh経由またはGUIのない​​マシンで行います;)

于 2008-09-16T17:12:39.413 に答える
0

一般的な vi コマンドの簡単なチート シートまたは付箋を作成してみました。私が使用している IDE に対しても同じことを行います。モニターにキーボード ショートカットやコマンドの付箋を貼っておくと、学習に役立ちます。ショートカットを十分に使い、よく覚えていると思ったら、付箋を削除します。

于 2008-09-16T17:12:42.427 に答える
0

vi と emacs しか利用できないマシンから Usenet に投稿するのに 10 年間費やします (また、'rn' から呼び出すと、emacs の起動に時間がかかる)。

それが私がそれを学んだ方法です。

しかし、より迅速なアプローチとして、私がお勧めできるのは、それを学ぶことに専念し、ソースコードに数時間費やすことだけです. まだ持っていない場合は、vim をインストールしてください。vim には素晴らしい構文強調機能があります。

それだけの価値があります。低速のダイヤルアップ接続や GUI のないマシンでも、西側世界のどこにいても、ほぼすべての Unix マシンにアクセスでき、数分で完全な生産性を発揮できることを私は知っています。

于 2008-09-16T17:18:03.520 に答える
0

FTPを使用する代わりに、LinuxであるWebサーバー上のファイルを編集するために使用しました。それは9年前のことで、それ以来私はスキルを習得しています。

もう 1 つは、グローバル検索や置換など、VI で実行できる優れた機能や、さらに強力な機能を見つけて、必要なときにいつでも VI を使用することです。

于 2008-09-16T18:27:07.207 に答える
0

私が vi を学んだのは、ドメインを編集するためのスクリプトが端末で vi しか開かない ISP で働き始めたときだけでした。学ぶしかなかったのですが、後悔したことはありません。

要するに、学ぶしかない状況に身を置いてください。

于 2008-09-16T17:49:11.700 に答える
0

自分自身を強制するための摩擦の少ない独自の方法でピッチングしてみませんか? :-)

私がやっていることは簡単です: 私は自分の git commit メッセージを vim (コマンドラインでメッセージを指定しないときのデフォルトのエディター) で作ろうとします。

もちろん、コミット メッセージは非常に短いため、ほとんど役に立ちません。ただし、メッセージを再編集する場合は、git commit --amendより役立ちます。

于 2008-09-19T14:53:02.710 に答える
0

数日間強制的に使用すると、コマンドがすぐに第二の性質になることがわかります。posix システムを使用している場合は、BSD ライセンスの nvi (従来の 1:1 vi クローン) から始めてから、vim に進むことをお勧めします。vim で開始する場合、その INSERT モードは GUI エディターに非常に似ているため、編集コマンドのサブセットのみを使用する可能性があります。

于 2008-09-17T00:59:59.057 に答える
0

私は一般的に vi の大ファンであり、特に vim の大ファンですが、多くの強力なエディターがあり、vi を使用する必要があると感じるべきではありません。

やむを得ず vi を使わなければならない場合、vi を使って生産性を感じられないのではないかと心配です。ただし、永続化を主張する場合は、すべての編集タスクで必ず vi を使用するようにします。何かをする必要があり、それを行うための最良の方法がまったくない場合はいつでも、最適ではない通常の方法でそれを行った、vi でそれを行うのに最適な (最小限のキーストロークの観点から) を見つけようとします。 . 次に、この小さなヒント (または単なるテキスト ファイル) を付箋に書いて、次回のために覚えておきます。

時間が経つにつれて、vi の生産性は劇的に向上します。

于 2008-09-17T05:08:07.230 に答える
0

グーグルはあなたの友達です。ウィンドウやタブを手元に置いておき、コードをインデントしたり、正規表現で検索したりするなど、何度も行う必要がある場合は、調べてください。最良のヒント サイトは親しみやすくなり、いくつかをブックマークし、チート シートを印刷することもできます。

于 2008-09-16T17:57:21.803 に答える
0

システム上のすべてのターミナル エディタを vim にシンボリック リンクし、システム上のすべてのグラフィカル エディタをスクリプトにシンボリック リンクして、vim が実行されている新しいターミナル ウィンドウを開きます。

于 2008-09-16T19:50:22.827 に答える
0

vi 愛好家のサイト http://nereida.deioc.ull.es/html/vilovers.htmlで数時間を過ごしてください。vi の熱狂的なファンのチュートリアルやリンクなどが満載です。

于 2008-09-16T18:13:00.800 に答える
0

現代の vi (vim?) で非常に紛らわしいと感じたのは、コマンド モードのすべての機能ではなく一部の機能を使用できる入力モードです。古いSolaris viが持っていたような「上書きのみ、カーソルの移動は不可能」に入力モードを完全に下げると、私ははるかに快適に感じます。真の vi では、ほとんどの場合、コマンド モードを維持する必要があります。

そうは言っても、最近ではviを学ぶ必要はありません.emacsはどこにでもあります。:)

于 2008-09-16T18:37:27.387 に答える
0

コマンドラインにアクセスすることしかできないライブ環境で、奇妙で素晴らしい問題をデバッグする必要があるまで待ちます。VI が気に入らないかもしれませんが、多くの時間を節約でき、大量の (ログ) ファイルをステップ実行するための多くのトリックを学ぶことができます。

于 2008-09-16T17:28:39.923 に答える
0

何かをすばやく検索する必要がある場合は、すべてを 1 つのページにまとめておくと便利です。

于 2008-09-24T21:05:05.893 に答える