'<,'> di command prompt

8

Kadang-kadang ketika saya mengetik :untuk berhenti atau menulis file saya prompt sudah berisi karakter :'<,'>tanpa saya mengetik apa pun. Ini menyebabkan kesalahan jika saya mengetik watau q. Saya tidak bisa meniru masalah ini. Itu terjadi pada saat yang paling aneh dan saya belum dapat menentukan apa yang menyebabkannya.

Saya perlu selamanya untuk mengetahui bahwa pengetikan yang tidak sengaja saya q:alih-alih :qmenyebabkan saya kesulitan untuk berhenti. Sekarang saya tahu tentang kekhasan kecil itu, saya mencoba mencari tahu apa yang menyebabkan perilaku lain ini. Saya tidak dapat menemukan apa pun di dalamnya, meskipun saya pernah melihatnya di suatu tempat di komando seseorang.

Apakah ini perilaku yang diharapkan? Apa yang menyebabkannya?

malan
sumber

Jawaban:

15

Melihat '<,'>pada baris perintah ketika Anda menekan :menunjukkan bahwa Anda saat ini memiliki rentang visual yang dipilih (misalnya dengan v,, Vatau Ctrl- v), dan vim sangat membantu mengawali penanda untuk 'awal pemilihan' hingga 'akhir pemilihan' untuk menerapkannya keterbatasan ruang lingkup perintah yang mungkin akan Anda masukkan.

Lihat :h visual-operators:

Perhatikan bahwa '<,'>akan muncul secara otomatis ketika Anda menekan :dalam mode Visual.

Karena Anda tidak dapat "berhenti" hanya bagian tertentu dari file, itu sebabnya Anda mendapatkan Invalid addressketika Anda mencoba :'<,'>q.

Jika Anda ingin menjalankan perintah yang tidak terbatas, Anda dapat menekan Ctrl- Uuntuk menghapus semuanya di sebelah kiri kursor sebelum memasukkan q, atau cukup gunakan ZZatau ZQalias.

DopeGhoti
sumber
3
Catatan yang ZZakan menulis semua perubahan pada file sebelum berhenti. Jika Anda ingin membuang perubahan, gunakan ZQ.
Ruslan
@Ruslan. Tip yang bagus. Saya selalu mengetik :q!yang selalu menjadi masalah untuk konteks pertanyaan. Sekarang ZQada di gudang senjata saya!
malan
"tidak sebatas itu" akan menjadi nama band yang bagus
Omar