4

次のバッファがあるとします。

asdf
asdfotshne
asdfoensh
asdq
asdf
asdfothen
asdfghjkl;
qwertyuiop
zxcvbnm,.

それから私は走り:v/^asdf/norm 0ます。

カーソルが 4 行目に移動することを期待していますが、そうではなく、ファイルの最後に移動します。

なんで?

4

3 に答える 3

8

カーソルがファイルの最初の行にあり、 で始まらない最初の行に移動したいasdf場合は、次のsearch式を使用できます。

/\v^(asdf)@!

否定的な先読みを行い、最初の一致で停止します。

于 2013-09-09T10:07:30.333 に答える
6

:vカーソルを移動するために使用されるのではなく、一致しないすべての行に対して操作を実行するために使用されます。そのため、ファイルのすべての行をスキャンnorm 0し、asdf で始まらない行ごとに実行します。したがって、 の最初の文字にジャンプし、 で同じことを行いqwertyuiopます。zxcvmnm,.

を使用して最後に一致する行を見つけてからgg?、1 行下に移動する方が簡単です。

于 2013-09-09T10:04:35.187 に答える