0

ファイルにこのメソッドがあるとしましょう

public function handleBatch(array $records)
    {
        $messages = array();

        foreach ($records as $record) {
            if ($record['level'] < $this->level) {
                continue;
            }
            $messages[] = $this->processRecord($record);
        }

        if (!empty($messages)) {
            $messages = $this->getFormatter()->formatBatch($messages);
            self::$json['rows'] = array_merge(self::$json['rows'], $messages);
            $this->send();
        }
    }

public キーワードから最後の } までメソッドを視覚的に選択する方法は? v2aBV を試しましたが、うまくいきません。

4

4 に答える 4

1

aB/ a{text オブジェクトについては既にご存じでしょう。を使用[mすると、(中括弧言語で) メソッドの先頭に移動できます。深くネストされた構造の内部では、大きなカウントを使用しないようにする必要があります。

視覚的な選択を行っていて、「反対側」を拡張する必要があるo場合は、そこに到達します。このo移動により、前の関数定義を含めることができますk

代替アプローチ

私は通常、別の機能である折りたたみを使用して、メソッド全体を選択/移動するという問題に取り組みます。適切なセットアップ (:setlocal foldmethod=syntax構文が折り畳み定義を提供する場合はこれで十分です) を使用すると、すべてのメソッドがまとめて折り畳まれ、1 つをV, または直接dd/ pit ですばやく選択できます。

于 2013-10-16T10:25:05.467 に答える
0

メソッド定義の前にカーソルがある場合は、次のコマンドを使用する必要があります。

]]v]m%

メソッド定義の後にカーソルがある場合(これはメソッド本体のカーソルにも当てはまります)、次のコマンドを使用する必要があります。

[[v]m%

これにより、メソッドと本体の定義全体が選択されます。

「public」という単語を選択から除外したい場合は、次のコマンドを使用する必要があります

1 - カーソルがメソッド定義の前にある場合:

]]wv]m%

2 - カーソルがメソッド定義の後にある場合:

[[wv]m%

于 2013-10-30T13:20:27.903 に答える