Arah pencarian teks di Vim

10

Setelah saya mencari "foo" dengan melakukan "? Foo", saya dapat mencari maju dengan "n" atau mundur dengan "N", namun kadang-kadang arah n / N terbalik di tengah pencarian. Jika saya me-restart Vim, tidak apa-apa lagi. Urutan tombol apa yang mungkin saya tekan untuk menyebabkan ini? Bagaimana cara kembali ke mode normal?

Saya tidak ingat bahwa saya pernah mengalami ini di Vi tua.

EDIT: ini bukan tombol Caps Lock . Terima kasih untuk sarannya.

grokus
sumber
Saya kira itu bukan hanya pembungkus di akhir / awal file? Atau mungkin Anda mengetik * atau sesuatu yang membalikkan pencarian? Saya tahu saya tidak sengaja melakukannya banyak waktu.
Dave Vogt
@ Dave Vogt, ini bukan hanya akhir / awal file. Saya baru saja menguji " ", Anda benar, jika saya menekan " " Saya dapat mengubah / memperbaiki arah pencarian. Jika Anda memasukkan jawaban, saya akan memilihnya dan menerimanya. Terima kasih.
grokus

Jawaban:

11

Ini bisa terjadi jika Anda mulai mencari mundur dengan ?foobar, dan Anda menekan /di tengah. Sekarang Anda mencari ke depan , jadi ndan Nberalih relatif terhadap apa yang Anda miliki sebelumnya. Hal yang sama akan terjadi jika Anda mulai dengan /dan menekan ?di tengah.

Nathan Fellman
sumber
Pak kamu benar. Saya baru saja menguji apa yang Anda katakan. Bisakah Anda memberi tahu saya peran apa yang dimainkan "*" di tengah-tengah ini?
grokus
1
@ grokus: *artinya mencari kata apa pun yang ada di bawah kursor.
Daenyth
@Daenyth, terima kasih. Saya selalu berpikir bahwa saya tidak terlalu buruk di Vim. (Saya bisa menyelesaikannya) Hari ini saya mempertimbangkan kembali posisi saya.
grokus
dan untuk menindaklanjuti @Daenyth, Anda dapat mencari mundur kata apa pun yang ada di bawah kursor menggunakan #. Ini hanya akan cocok dengan kata lengkap. Untuk mencari kata di bawah kursor, termasuk di dalam kata-kata lain, gunakang*
Nathan Fellman
3

Kedengarannya bodoh, tetapi apakah Anda sudah memeriksa Caps-Lock?

Chen Levy
sumber
ya saya lakukan. Itu pada posisi "off". Saya telah melihat perilaku ini berkali-kali sehingga saya akhirnya muak dan memutuskan untuk menyelesaikan ini.
grokus
0

Nathan telah menjawab mengapa hal ini terjadi, tetapi jika Anda menggunakan kedua arah secara teratur dan ingin nuntuk selalu melihat ke depan dan Nke selalu melihat ke belakang, tidak peduli yang cara Anda mencari, Anda dapat menempatkan ini dalam Anda .vimrc:

nmap n /<CR>
nmap N ?<CR>

/dan ?tanpa parameter melakukan pencarian terakhir, dalam arah (absolut) masing-masing.

Dana Gugatan Monica
sumber