11

için işlev ipucu Basit, genellikle "işlev ipuçları" olarak adlandırılan bir şey elde etmeye çalışıyorum. Örneğin, scintilla tabanlı editörler buna sahip:Vim işlevi, C

enter image description here

Bir isim yazın ve sadece prototip olsun. Bununla bir kaç sorunlar vim vardır:

  • Sen( sonra, sadece "alırsınız Sen CX CO yazamaz tarih
  • için o kadar tutmak için ctags yeniden zorunda Desen
  • Sen bir fe denedim üst

de can sıkıcı önizleme penceresini olsun, imleç sadece etrafında

  • atlayacaktır normal modda CX CO yazamaz bulunamadı" w eklentileri; bunların çoğu daha fazla şeyleri karıştırıyor [^ 1] .Bunu yapmak için basit bir yol öneren var mı? Fonksiyon prototipini içeren ve daha fazlasını içeren basit bir dikdörtgen.

    [^ 1] Bu eklentilerden bazılarının ne kadar aptalca olduğu gerçekten akıl almaz. Bir eklenti (ben bundan bahsetmeyeceğim) fiili olarak .vim dosyasında libc'den fonksiyonların bir listesini içeriyordu.

  • +1

    * Bir eklenti (bunu söylemeyeceğim) aslında .vim dosyasında libc * işlevlerinin bir listesini içerir. Bunun derdi ne? Bir yerde bir veritabanınız olacak, değil mi? Ya da DB'nin gizli okunamaz bir tescilli formatta saklanmadığı problem mi? – eckes

    +0

    @eckes Bu eklenti zaten ctags kullanıyor. – user1497069

    +0

    :-) tamam. O zaman kötü bir fikir. – eckes

    cevap

    0

    eclim'u (Eclipse ile tümleştirme eklentisi) kullanmayı deneyin.

    Bu çözüm çok fazla yüke sahiptir, ancak her durumda çalışır. Otomatik tamamlama işlemi için

    8

    ctags bir karışıklıktır. clang-complete veya gcc-sense gibi bir derleyici tabanlı eklentiyi denemenizi öneririm (bunu denemedim). Avantajları: onlar hemen hemen

  • hataları kaynak kodu üzerinde anında işaretlenmiştir derlemek derleme ne kadar

    • daha doğruluk Sen tutmak için ctags yeniden zorunda

    bugüne

    kadar sen (hala olsa etrafında atlamak için faydalıdır) ctags ile uğraşmak gerekmez

    (, Sadece alırsınız

    ne beklenebilir "Desen bulunamadı" sonra

    Sen C-X C-O yazamaz

    ?Eğer sık ​​hata olur ise

    Normal modda CX CO yazamaz

    , imleç sadece etrafında

    hep bu diziyi eşleştirmek atlayacaktır (nnoremap <C-x><C-o> a<C-x><C-o> gibi bir şey)

    Senkaldırarak bu devre dışı bırakabilir üst

    de can sıkıcı önizleme penceresini olsun completeopt seçeneklerinden. Aşağıdaki kurulum kullanıyorum :help completeopt

    bkz: tamamlanma

  • için

    here

    • clang-complete
    • supertab işlev imzası yer tutucuları için tab anahtar
    • ultisnips ile tamamlayın.

      set pumheight=10    " so the complete menu doesn't get too big 
      set completeopt=menu,longest " menu, menuone, longest and preview 
      let g:SuperTabDefaultCompletionType='context' 
      let g:clang_complete_auto=0 " I can start the autocompletion myself, thanks.. 
      let g:clang_snippets=1  " use a snippet engine for placeholders 
      let g:clang_snippets_engine='ultisnips' 
      let g:clang_auto_select=2 " automatically select and insert the first match 
      

      Enjoy:

    ve bazı vimrc ayarları (ayrıca snipmate ile çalışır)!