2

これはそれほど重要ではないちょっとした質問のように聞こえるかもしれませんが、実際にはそれが私にとってフラストレーションの源であることがわかります。

時々、ドット演算子「。」を使用します。矢印「->」を使用するつもりだったときのポインタタイプ。それを修正するには、通常、2〜3ドットを矢印に変更する必要がありますが、テキストの量に対して比較的大量のキーストロークを必要としないvimでこれを行う方法を見つけることができないようです。変化。

たとえば、次のことができます。

:lineNum,lineNum s/\<objectName\>\./->/g

ただし、インスタンスが2〜3しかない場合は、かなり多くの入力が必要になります。

または、を使用jkhlして各期間に移動し、次のことを行うことができます。

r-a><ESC>

しかし、それぞれの5つのキーストロークは、3つすべてを見つけるために使用した後の拷問のように見えjkhlます。また、挿入モードの開始と終了に伴うメンタルコンテキストスイッチも非常に迅速です。

ドットを矢印に変えるにはどうすればよいですか?より速い方法を見つけましたか?

4

6 に答える 6

6
/\.<CR>
s-><ESC>
n.
n.

...など..。

それぞれnが検索した次の式に移動せず、それぞれが.ドットの矢印への置換を繰り返します。必要に応じて、nsとドットを組み合わせてください。

于 2012-07-10T15:59:47.720 に答える
4

たとえば、キーをマップできます。

:map v :s/\./->/g^M

次に、その行のキーvを押します。

于 2012-07-10T15:58:11.463 に答える
1

ポインタ名にカーソルを合わせてヒットし*ます。これにより、ポインタのすべてのインスタンスが検索されます。
次に/<M-UP>\./e、前の検索を取得し.、カーソルをに追加して置きます.
これで、検索語は問題のみを検索します.
最初のものでは、要求に応じてをs-><ESC>置き換え、他のすべての発生を修正します.->n.

n.よく使われるので、地図を描くと便利だと思うので、F3

map <F3> n.
于 2012-07-10T16:16:36.307 に答える
1

最初にドットの初期インスタンスを検索します:/\.

を使用して、変更する必要のあるドットにカーソルを置いて、最初のインスタンスで置換を実行しますs。これにより、現在の文字が削除され、挿入が開始されますs->

次に、を使用して次の一致を検索し、期間を使用nして最後のコマンドを繰り返します。.

ドットについてより具体的にする必要がある場合、検索は次のようになり/objectName\./eます。、検索の最後にカーソルを置いたままにしますが、それはより多くの入力です。たぶん/ob/e+9

于 2012-07-10T15:58:07.863 に答える
1

vimを使用している場合は、キーボードマッピングを〜/.vimrcファイルに追加できます。

map <F2> :lineNum,lineNum s/\<objectName\>\./->/g

次に、vimに「F2」と入力すると、マップされたコマンドが表示され、起動する前にパラメーターを編集できます。

于 2012-07-10T15:59:14.910 に答える
0

ビジュアルモードで->を選択し"ky、それをレジスタkに保存してから、に移動します。そして、やりますx"kP

于 2012-07-10T15:59:33.167 に答える