Bagaimana saya bisa membuat jendela pemilihan periksa ejaan memungkinkan saya mengetikkan koreksi sendiri?


14

Saat melakukan pemeriksaan ejaan, penguncian z=, menampilkan daftar pilihan, seperti yang ditunjukkan di bawah ini.

pilih yang benar

Seperti Anda dapat melihat ejaan yang benar; "ie" tidak ditampilkan sebagai salah satu opsi. Saya ingin meningkatkan menu ini, jadi saya bisa mengetik "ie" dan tekan enter dan ganti.

Akan lebih baik, jika sebagai bagian dari langkah yang sama jika saya dapat mulai mengetik nama salah satu opsi dan tab bersaing untuk itu - pikiran saya bekerja lebih baik untuk mengganti kata-kata dengan memasukkan kata-kata daripada dengan memasukkan angka.

Saya menduga ini perlu dilakukan dengan plug-in tapi saya tidak yakin bahwa itu bukan hanya opsi konfigurasi.

Jawaban:


5

Melihat spell_suggest()fungsi dalam spell.chal ini sepertinya tidak mungkin dilakukan z=. Setelah mendapatkan & menampilkan semua saran yang mungkin, itu tidak:

/* Ask for choice. */
selected = prompt_for_number(&mouse_used);

prompt_for_number()tinggal di misc1.c, dan melakukan persis apa yang Anda harapkan untuk dilakukan: meminta nomor (juga lihat get_number()di file yang sama). Pemetaan atau input lainnya tidak diizinkan.


Opsi kedua adalah menggunakan "penyelesaian" mantra Vim melalui Ctrl x+ satau Ctrl x+ Ctrl s1 dalam mode insert. Ini kira-kira yang Anda inginkan. Anda dapat memilih dari penyelesaian dengan Ctrl ndan Ctrl patau tombol panah, atau ketik peningkatan Anda sendiri.

Anda dapat menggunakan plugin supertab untuk melakukan ini dengan Tabkunci Anda . :help ins-completionjuga memiliki CleverTab()fungsi yang dapat Anda adaptasi untuk ini.

Untuk informasi lebih lanjut, lihat: :help ins-completion, :help i_CTRL-X_s


Akhirnya, Vim memiliki spellsuggest()fungsi, yang mengembalikan daftar saran ejaan:

:echo spellsuggest('hellz')
['hells', 'hello', 'hell', 'help', 'halls', 'heals', 'heels', 'hills', 'hulls', 'hell''s',
 'hellos', 'hell’s', 'held', 'helm', 'tell', 'well', 'bells', 'cells', 'dells', 'fells',
 'helot', 'helve', 'hertz', 'hilly', 'holly']

Anda dapat menggunakan fungsi ini untuk membuat layar saran ejaan Anda sendiri.


Catatan kaki

1 : Perhatikan bahwa menggunakan Ctrl smungkin tidak berfungsi, seperti yang disebutkan dalam dokumen:

CATATAN: CTRL-S menunda tampilan di banyak terminal Unix. Gunakan 's' sebagai gantinya. Ketik CTRL-Q untuk melanjutkan menampilkan.

Jika Anda menggunakan gVim, menggunakan Ctrl sharus berfungsi. Atau Anda dapat menonaktifkan ini di terminal Anda dengan stty -ixon.


3

Saya akan memperluas / menggabungkan @ quincy-bowers jawaban:

  1. Anda tidak dapat memasukkan saran sendiri dari layar saran ejaan.
  2. Tidak masuk akal (dalam VIM) untuk memasukkan saran Anda sendiri dari layar saran ejaan.

VIM adalah editor teks. Karena itulah yang paling baik ia lakukan untuk menyunting itu sendiri. Dengan kata lain jawaban untuk mengubah kata yang salah eja menjadi saran khusus Anda sendiri cukup tekan enteruntuk mengabaikan daftar saran dan kemudian ubah kata menjadi ejaan yang benar secara manual. ( ciwberfungsi sempurna untuk itu).

Kemudian (seperti yang disarankan @ quincy-bowers) jika Anda ingin pengejaan yang benar tersuai muncul di ketik daftar saran selanjutnya zgketika kursor berada pada kata dan itu akan ditambahkan ke kamus ejaan Anda (lihat :help zgdetailnya).

Namun, setelah mengatakan semua itu, itu tidak menghentikan orang pintar yang menggunakan VIM dari menemukan alternatif (cara tak terbatas untuk menguliti kucing yang mereka katakan) dan jadi Anda bisa mencoba plugin alternatif misalnya usul-mantra-saran .


Menjelaskan alur kerja saat ini lebih merupakan komentar daripada jawaban. Meskipun Anda menjelaskannya dengan baik.
Lyndon White

1
@Oxinabox mungkin Anda mencari sesuatu yang lebih pada baris: vim.org/scripts/script.php?script_id=4929 mungkin?
Sukima

Ya, itu jauh lebih seperti apa yang saya cari.
Lyndon White

2

Tanpa menambahkan plugin apa pun, Anda dapat menambahkan kata yang dikenal baik ke file mantra Anda. Daripada z=memunculkan saran ejaan, pilih secara visual teks yang ingin Anda tambahkan ke file ejaan dan tekan zg.

Saya juga harus mencatat bahwa dari dalam jendela saran ejaan Anda dapat menggunakan mouse untuk memilih yang Anda inginkan selama Anda mengaktifkan mouse untuk mode NORMAL. Saya telah set mouse=amengatur di .vimrc saya, misalnya, yang memungkinkan mouse di semua mode apakah saya di Vim atau gVim.

Saya tidak berpikir hal-hal lain yang Anda inginkan dapat dicapai tanpa plugin atau mengubah Vim itu sendiri.


1
Ini semua adalah tips yang berguna, tetapi saya tidak melihat bagaimana mereka menjawab pertanyaan itu?
Martin Tournoij

@Carpetsmoker Saya bisa mengatakan hal yang sama tentang jawaban Anda sendiri. Saya mengatakan kepadanya bahwa itu tidak mungkin dan menawarkan perubahan alur kerja sebagai pekerjaan yang mungkin dilakukan. Sama seperti yang Anda lakukan.
Quincy Bowers

1
@ MartinTournoij Jawaban ini sebenarnya memberikan solusi untuk masalah ini: Perlu memasukkan kata baru > zg menjalankan penyertaan tersebut .
nilon
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.