batalkan selesai

11

Biasanya menyisipkan penyelesaian mode ( <C-n>) menyisipkan kata yang tepat saat pertama kali saya tekan <C-n>, tetapi tidak selalu. Oleh karena itu, saya ingin Vim untuk memasukkan pertandingan yang dianggapnya paling baik ketika saya menekan <C-n>, tetapi masih memungkinkan saya untuk membatalkan penyisipan ini setelah itu jika pertandingan yang benar tidak muncul atau berada jauh di bawah daftar.

Tentu saja saya bisa mengkode perilaku ini, tetapi saya merasa harus ada kunci standar (-kombinasi) untuk melakukan ini. Bisakah seseorang mengarahkan saya ke arah yang benar?

Pertanyaan bonus: apakah ada kunci lain yang bisa saya gunakan untuk mendapatkan pertandingan terlama (seperti sebelum saya menekan <C-n>)?

Untuk apa nilainya, saya menggunakan completeopt=menu

Oktaviour
sumber
1
Apakah ctrl-uyang Anda cari?
statox
Tidak, sepertinya ctrl-u menghapus seluruh baris. Saya mencari kombinasi yang hanya menghilangkan teks yang dimasukkan dengan menekan ctrl-n.
Octaviour
Pikiran pertama saya adalah "bukankah cg membatalkan pekerjaan kunci yang biasa di sini?", Lalu saya menyadari bahwa itu emacs. Hanya beberapa hari belajar bertahun-tahun lalu telah merusakku, aku akan mandi di sungai suci dan menyucikan diriku!
sundar - Reinstate Monica

Jawaban:

13

Dari :h complete_CTRL-E:

                                                        * complete_CTRL-E *
Ketika selesai aktif, Anda dapat menggunakan CTRL-E untuk menghentikannya dan kembali ke
teks yang diketik aslinya. CTRL-E tidak akan dimasukkan.

Juga jika Anda, katakanlah, ketikkan akemudian ^Pdan Anda mendapatkan daftar yang sangat panjang, Anda dapat menekan ^N untuk kembali ke teks asli Anda dengan sembulan selesai masih aktif. Anda kemudian dapat mengetik karakter tambahan untuk mempersempit daftar penyelesaian.

Antony
sumber
Itulah tepatnya yang saya cari. Saya tidak menyadari bahwa ctrl-p juga akan membawa saya kembali ke input asli. Terima kasih.
Octaviour
2
@Octaviour, saya menemukan ctrl-p secara umum lebih bermanfaat daripada ctrl-n, karena ia mencari kecocokan terdekat sebelumnya (bukan setelah) di mana Anda berada. Jadi, jika Anda baru saja menulis sebuah kata, ctrl-p akan segera menampilkan kata yang sama jika Anda perlu mengulanginya (misalnya menggunakan variabel yang sama lagi dalam kode)
Shahbaz
Ya, saya menulis ^Pkarena kebiasaan untuk alasan itu.
Antony