Yazım denetimi seçim penceresinin kendi düzeltmemi yazmama nasıl izin verebilirim?


14

Yazım denetimi yaparken, tuşlama z=, aşağıda gösterildiği gibi bir seçim listesi getirir.

doğru seç

Gördüğünüz gibi doğru yazım; "ie" seçeneklerin hiçbiri olarak gösterilmez. Bunun yerine "ie" yazıp enter tuşuna basıp değiştirilmesini sağlamak için bu menüyü geliştirmek istiyorum.

Aynı adımın bir parçası olarak, sunulan seçeneklerden birinin adını yazmaya başlayabilir ve sekme bununla rekabet edersem de güzel olurdu - zihnim, sayıları girmek yerine sözcükleri girerek sözcükleri değiştirmede daha iyi çalışır.

Bunun bir eklenti ile yapılması gerektiğinden şüpheleniyorum ancak bunun yalnızca bir yapılandırma seçeneği olmadığından emin değilim.

Yanıtlar:


5

Bu spell_suggest()işleve bakmak spell.cmümkün değildir z=. Tüm olası önerileri aldıktan ve görüntüledikten sonra şunları yapar:

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

prompt_for_number()yaşıyor misc1.cve tam olarak ne beklediğinizi yapıyor: bir sayı ister ( get_number()aynı dosyada da bakın ). Eşleştirmelere veya başka girdilere izin verilmiyor.


İkinci bir seçenek ise Vim'in "tamamlama" kelimesini Ctrl x+ sveya Ctrl x+ Ctrl s1 ila ekleme modunda kullanmaktır. Bu kabaca istediğinizi yapar. Ctrl nVe Ctrl pveya ok tuşlarıyla tamamlayabilir veya kendi geliştirmenizi yazabilirsiniz.

Bunu anahtarınızla yapmak için supertab eklentisini kullanabilirsiniz Tab. bunun için uyarlayabileceğiniz :help ins-completionbir CleverTab()işlevi de vardır .

Daha fazla bilgi için, bkz: :help ins-completion, :help i_CTRL-X_s


Son olarak, Vim, spellsuggest()yazım önerilerinin listesini döndüren bir işleve sahiptir :

: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']

Bu işlevi kendi yazım önerisi ekranınızı oluşturmak için kullanabilirsiniz.


dipnot

1 : Ctrl sDokümanlarda belirtildiği gibi, kullanımın işe yaramayabileceğini unutmayın :

NOT: CTRL-S birçok Unix terminalinde ekranı askıya alır. Bunun yerine 's' kullanın. Görüntülemeye devam etmek için CTRL-Q yazın.

GVim kullanıyorsanız, kullanma özelliği Ctrl sçalışmalıdır. Veya ile terminalinizde bunu devre dışı bırakabilirsiniz stty -ixon.


3

@ Quincy-bowers cevabını genişleteceğim / birleştireceğim:

  1. Yazım önerileri ekranından kendi önerilerinizi giremezsiniz.
  2. Yazım önerileri ekranından kendi önerilerinizi girmek çok mantıklı değil (VIM'de).

VIM bir metin düzenleyicidir. En iyi yaptığı şey bu olduğundan, düzenlemeyi kendisine bırakır. Başka bir deyişle, yanlış yazılan bir kelimeyi kendi özel önerinizle değiştirmenin yanıtı enter, öneri listesini reddetmek ve ardından sözcüğü el ile doğru yazımınıza değiştirmek için düğmesine basmanız yeterlidir. ( ciwbunun için mükemmel çalışır).

Daha sonra (@ quincy-bowers önerdiği gibi), özel doğru yazımın sonraki öneri listelerinde görünmesini istiyorsanız, zgimleç sözcük üzerindeyken yazın ve yazım sözlüğünüze eklenir ( :help zgayrıntılar için bkz .).

Ancak, tüm bunları söyledikten sonra, VIM kullanan akıllı insanların alternatifler bulmasını (söyledikleri bir kediyi ciltlemek için sınırsız yollar) durdurmadı ve böylece birleştirme-büyü önerisi gibi alternatif bir eklenti deneyebilirsiniz .


Mevcut iş akışını tanımlamak bir yanıttan çok bir yorumdur. İyi açıklasan da.
Lyndon White

1
: @Oxinabox belki de daha fazla hatlarda şey arıyor vim.org/scripts/script.php?script_id=4929 belki?
Sukima

Evet, daha çok aradığım şey gibi.
Lyndon White

2

Herhangi bir eklenti eklemeden, büyü dosyanıza bilinen iyi bir kelimeyi ekleyebilirsiniz. z=Yazım önerilerini getirmek yerine , yazım dosyasına eklemek istediğiniz metni görsel olarak seçin ve düğmesine basın zg.

Ayrıca, yazım önerisi penceresinden, fareyi NORMAL mod için etkinleştirdiğiniz sürece istediğinizi seçmek için fareyi kullanabileceğinizi de not etmeliyim. Ben var set mouse=aben Vim veya GVIM içinde olup olmadığımı bütün modlarda fare sağlayan mesela benim .vimrc, set.

İstediğiniz diğer şeylerin bir eklenti olmadan veya Vim'in kendisini değiştirebileceğini düşünmüyorum.


1
Bunların hepsi faydalı ipuçları, ancak soruya nasıl cevap verdiklerini anlamıyorum?
Martin Tournoij

@Carpetsmoker Kendi cevabınız için de aynısını söyleyebilirim. Ona mümkün olmadığını söyledim ve olası bir iş olarak iş akışında bir değişiklik teklif ettim. Tıpkı sizin yaptığınız gibi.
Quincy Bowers

1
@MartinTournoij Bu cevap aslında soruna bir çözüm sağlar: Yeni bir kelime eklemek gerekiyor > zg bu dahil etmeyi yürütür .
nilon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.