2012-03-20 3 views
1

VIMを発見して以来、私は小文字でSQLを入力し、大文字で必要な単語を作る方が簡単です。ビジュアルモードで単語をスキップして選択肢の一部にしないようにする方法はありますか?そのため、すべてのMySQLキーワードを選択してUを実行することができますか?たとえば、このSQLクエリを仮定:VIM:視覚的選択のための単語をスキップ

select a.name, b.userid from someTable a inner join anotherTable b on a.someField=b.someOtherField group by a.randomField sort on b.yetAnotherField desc; 

は、私は(内部結合)、(選択)最初の単語を選択する二つの単語をスキップし、(から)別の単語を選択し、2つの単語をスキップし、二つの単語を選択したいと思い、等々。

Ctrl-6を大文字にマッピングしています(通常モードでCaps Lockを有効にしないようにしています)。しかし、まずSQLを小文字で入力してから修正することをお勧めします。私は小文字のSQLも有効であることを知っていますが、コーディングのプラクティスでは、すべてが大文字であるべきであると命令しています。

現在の行をトラバースし、すべてのMySQLキーワードを大文字にする関数を作成しようとしました。しかし、私がそのルートを行っても、ビジュアルモードで単語をスキップする解決策を知りたいのは、他の用途も同様です。

答えて

3

を使用すると、全体のラインに沿ってカーソルを移動しようとしている場合は、別のルートが全く視覚的モードを使用しないことです。

  1. selectにカーソルを置き、gUiwと入力してSELECTにします。
  2. 複数のw(おそらく、多分)または/fr<CR>(速い、少ないタイピング、多分)でfromに移動してください。
  3. .を入力して最後の編集を繰り返し、fromFROMに設定します。
  4. 繰り返し...
+0

ありがとうございます、私は 'gUiw'について知らなかったし、その場合でもノーマルモードで変更することができました。最初にやった後、私は必要な結果を得るために簡単に 'w'と' .'を使うことができます。ありがとう! – dotancohen

+1

あなたの例では、 'from'に到達するために' w'を8回押す必要があります。代わりに 'W'を使って、点線の単語をスキップすることをお勧めします。 – romainl

+0

ありがとう、それは有用なVIMです。かなり深いVIMのウサギの穴です! – dotancohen

3

ビジュアルモードで複数の分離領域を選択できるかどうか尋ねていますか?

もしそうなら、これは単純なVimでは実行できませんが、Multiselect pluginはそれだけを行うとしています。 (免責事項:私はこのプラグインを自分で使用していません)

このワークフローがあなた自身が定期的に行っているものであれば、機能的な解決策がより効率的だと思います。 (それは十分に堅牢になるとあなたも、保存したファイルに自動的にそれを引き起こす可能性があります。)

+0

は、このプラグインは、私が探していたまさにです、ありがとうございます。 – dotancohen

+0

私は破れています。あなたは私の質問に正確に答えましたが、別の答えが私の問題「VIM方法」を解決しました。 [問題を解決する答えを選択することが示唆されているので(http://meta.stackexchange.com/questions/27669/which-answer-should-i-accept-that-which-solved-my-problemoror - それを解決しました)私はそれを選択します。ヘンリー・フォードが一度偽ったように、彼は顧客に彼らがより速い馬を生産するように言ったと思ったものを尋ねた。明らかに、私はそれほど素朴です。私は、 "このような状況で何をすべきか"という質問をするべきではありませんでした。私を許して? – dotancohen

+1

問題ありません!このサイトの大きな点の1つは、あなたが尋ねたものよりもはるかに広い質問をしばしば得ることです。 –

関連する問題