次のバッファがあるとします。
asdf
asdfotshne
asdfoensh
asdq
asdf
asdfothen
asdfghjkl;
qwertyuiop
zxcvbnm,.
それから私は走り:v/^asdf/norm 0
ます。
カーソルが 4 行目に移動することを期待していますが、そうではなく、ファイルの最後に移動します。
なんで?
次のバッファがあるとします。
asdf
asdfotshne
asdfoensh
asdq
asdf
asdfothen
asdfghjkl;
qwertyuiop
zxcvbnm,.
それから私は走り:v/^asdf/norm 0
ます。
カーソルが 4 行目に移動することを期待していますが、そうではなく、ファイルの最後に移動します。
なんで?
カーソルがファイルの最初の行にあり、 で始まらない最初の行に移動したいasdf
場合は、次のsearch
式を使用できます。
/\v^(asdf)@!
否定的な先読みを行い、最初の一致で停止します。
:v
カーソルを移動するために使用されるのではなく、一致しないすべての行に対して操作を実行するために使用されます。そのため、ファイルのすべての行をスキャンnorm 0
し、asdf で始まらない行ごとに実行します。したがって、 の最初の文字にジャンプし、 で同じことを行いqwertyuiop
ます。zxcvmnm,.
を使用して最後に一致する行を見つけてからgg?
、1 行下に移動する方が簡単です。