18

コードを入力するときは、通常、角かっこを閉じたり、内側に戻ったり、外側に移動したり、セミコロンを入力したりします。

私は(|はカレットです)で始めるかもしれません:

System.out.println()|

次に左に行きます:

System.out.println(|)

次にこれ:

System.out.println(foo()|)

再びスペースをバックトラックします。

System.out.println(foo(|))

引用符の入力も同様です。

System.out.println(foo(""|))

...等。

私の右手は常にホーム行と矢印キーの間を移動しています。私はvimを試しましたが、基本は知っていますが、それでも私には非常に厄介な感じがします。

これはどのようにすればよいですか?左から右に入力する必要がありますか(開き角かっこ、内容、閉じかっこ、セミコロンの順に入力します)?

ありがとう。

4

12 に答える 12

10

何よりもまず、矢印キーの代わりにh、、jk使用することで、Vimで得られる速度が大幅に向上します。キーの概要については、Vimの実用的な方法の学習lを参照してください。

ただし、この場合に必要になるのはAutoCloseプラグインです。開き括弧(または引用符)を開き括弧と一緒に自動的に挿入し、それらの間にカレットを配置します。したがって、あなたはから行きます

System.out.println(|)

System.out.println(foo(|))

System.out.println(foo("|"))

次に入力"))すると、キャレットは新しい文字を挿入する代わりに、終了文字を「移動」します。ただし、行末に到達するためのより速い方法はおそらく<Esc>Aです。

System.out.println(foo(""));

したがって、要約すると、上記は。と入力することで生成できますSystem.out.println(foo("<Esc>A;

ペアの文字を挿入するのではなく編集する場合は、 surround.vimを参照してください。

于 2009-06-21T11:21:44.980 に答える
6

それはJavaです。多かれ少なかれ優れたIDEを使用すると、オートコンプリートできるはずです。「System.out.println」と入力し、Enterキーを押してオートコンプリートを受け入れると、括弧が表示され、カレットが表示されます。真ん中に(ああ、そして引用符もあります!)

于 2009-06-21T02:23:41.357 に答える
5

すでにvimを使用している場合は、h、j、k、およびlキーを試してみてください。それらは矢印キーと同じことをしますが、はるかに便利です。順番に入力する習慣を身につけようとすることもおそらく役立つでしょうが、それはある程度の努力が必要です。

于 2009-06-21T02:19:08.480 に答える
4

Ctrlキーを押しながら矢印キーを使用すると、キーストロークを保存できます。1文字移動する代わりに、一度に1単語移動します。これは、バックスペースの場合にも機能します。したがって、Ctrl-Backspaceキーを押すと、最後の文字だけでなく単語全体が削除されます。

于 2009-06-21T02:40:47.327 に答える
3

AutoHotKeyと私のスクリプトを試してみてください:

*!I::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Up}"
*!K::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Down}"
*!J::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Left}"
*!L::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Right}"
*!U::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Home}"
*!O::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{End}"
*!h::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Del}"

LAlt&Shift ::('オプション行')

これは、LAltを押したまま、i、k、j、l(矢印キー)、u、o(ホーム、終了)、またはh(削除)から何かを押すことです。キーボードの言語を変更したくない場合は、最後の行はオプションです。LAlt+Shiftによるレイアウト

shiftやctrlなどのモディファイアと組み合わせても使用できます。

楽しい ;)

于 2012-05-03T19:33:46.820 に答える
3

しないでください。

閉じ括弧、角かっこ、中括弧、.Open()に一致する.Close()呼び出し、またはnew /mallocに一致するdelete/free呼び出しなど、開始したものを終了する習慣は優れています。 。オブジェクトを別のスコープ(終了関数など)で「閉じる」場合でも、習慣によってリソースを適切に解放することを考える必要があります。

はい、コーディングを高速化できる便利なエディターがあります。これは間違いなく使用する必要がありますが、オブジェクトを閉じたりリソースを解放したりするのを忘れるような松葉杖にならないようにしてください。

あなたの質問への直接の答え:ほとんどの優れたプログラマーエディターはカスタマイズ/構成できるので、選択したエディター(vim、emacs、Visual Studioエディター)の高度な構成について読む必要があります。

于 2009-06-21T02:37:45.587 に答える
2

私は完全にvimをお勧めします...それはこれの多くを助けるので!また、かっこ、角かっこ、中かっこを自動的に閉じるものを調べてください... vimにはこれを行うものがあり、すでにかっこ内にあるため、このタイプの問題に役立ちます。

于 2009-06-21T02:21:48.880 に答える
1

Vimへの別の投票。また、Viキーバインディングを使用するより標準的なIDE用の優れたプラグインがいくつかあります。私は時々NetbeansでjVIを使用ます。

Vimを使用すればするほど、手首に装着しやすくなります。また、十分に巧妙な検索/置換により、グローバルなアクションの正規表現と同様に、かなりの数のキーストロークを節約できることがわかります。

:tabnと:tabpをのようなアクセス可能なものにバインドし、適切なGUIエディターをあきらめて使用せずに、自分で作業を実行するように強制します。

于 2009-06-21T03:15:41.330 に答える
1

私は完全に直線的に入力していました(はい、vimで)、書き込み終了要素がすぐに作成されたダッシュのコツを前後に取得することはできませんでした。

ただし、現在はEclipseを使用しています。これにより、Eclipseが作成されるので、最後に) "))を使用して、最後に押して;と入力するだけで、手動で処理する必要はありません。私を混乱させますが、それは大丈夫です。

于 2009-06-21T03:54:15.710 に答える
1

ホームキーとpgupキーが非常に近いため、テンキーを使用するとナビゲーションが非常に簡単になります。実際に数字を入力するには、キーボードの一番上の行を使用します(これは、私が同意することを学ぶのは難しいですが、しばらくすると十分に速くなります)。

私にとってこれの唯一の欠点は、ラップトップキーボードを使用していることと、毎回numlockをオフにしなければならない他の人のマシンを使用していることです。

于 2009-06-21T04:06:03.920 に答える
1

優れたIDE(ガリレオはほぼここにあります)は、角かっこや括弧などを自動的に閉じ、ステートメントの最後にもセミコロンをインテリジェントに挿入します。矢印を使う必要はまったくありません!

もちろん、Eclipseのprintlnの場合は、sysoutと入力するだけですが、それはおそらく悪い習慣です。

ただし、注意してください。あなたが速すぎるとあなたの同僚はいつもあなたを運転させます:P

于 2009-06-21T11:56:18.357 に答える
0

この問題を解決する最善の方法は、キーボードの2番目のレイアウトを次のように変更することでした。

h -> Left Arrow, j -> Up Arrow, k -> Down Arrow, l -> Right Arrow

右手の親指のすぐ下にあるFnボタンを押すと、このVimのようなナビゲーションが表示されます。そして、私はそれが大好きです。それはすべてのプログラムに共通です。他のいくつかのキー、Page Up、PageDownなども設定しました。

于 2021-08-10T18:45:20.730 に答える