Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Completion du C avec ViM !
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Sun Sep 19, 2004 6:35 pm    Post subject: [TIP] Completion du C avec ViM ! Reply with quote

Voici quelques lignes à ajouter au vimrc pour avoir la completion du C !

Code:
"Debut de Completion
function InsertTabWrapper(direction)
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
elseif "backward" == a:direction
return "\<c-p>"
else
return "\<c-n>"
endif
endfunction
inoremap <tab> <c-r>=InsertTabWrapper("forward")<cr>
inoremap <s-tab> <c-r>=InsertTabWrapper("backward")<cr>
" Fin de Completion


Apres, il suffit de taper le début d'une fonction par exemple (ben ca marche aussi avec les variables), puis <TAB> comme avec bash, et vim va chercher les correspondances dans les headers et les propose !!

exemple :
Code:
#include <stdio.h>
int
main(){

prin<TAB>
   |
   V
printf

.....


ca devient avec les fonctions qui ont un nom relativement long genre SDL_WM_ToggleFullScreen :D
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'


Last edited by kernelsensei on Sun Oct 30, 2005 9:23 pm; edited 1 time in total
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Sun Sep 19, 2004 6:38 pm    Post subject: Reply with quote

HUGE!

c'est trop bien comme tip, merci :wink: .
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
gabo
Tux's lil' helper
Tux's lil' helper


Joined: 24 Aug 2004
Posts: 134
Location: Lyon, France

PostPosted: Sun Sep 19, 2004 8:41 pm    Post subject: Reply with quote

J'essaye ca demain au boulot !!!

Merci !
Back to top
View user's profile Send private message
Beber
Guru
Guru


Joined: 10 Apr 2004
Posts: 300
Location: Kemper, Lutèce

PostPosted: Sun Sep 19, 2004 8:51 pm    Post subject: Reply with quote

alors ca c'est trop la classe !!!
et ca marche au poils :)

mercii !!!!!!!!!!
Back to top
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Sun Sep 19, 2004 8:53 pm    Post subject: Reply with quote

<mode trolleur>
Et pour les emacsen :
Code:
Esc-/

Ca marche pour tous les buffers/languages ... mais c'est plus simple de le remapper sur Shift-tab :)
</mode trolleur>
Back to top
View user's profile Send private message
gabo
Tux's lil' helper
Tux's lil' helper


Joined: 24 Aug 2004
Posts: 134
Location: Lyon, France

PostPosted: Mon Sep 20, 2004 9:00 am    Post subject: Reply with quote

bon, ca marche très bien en effet.
Mais question con, comment on fait pour faire une simple tabulation après ? :lol:

Car la, je vais changer la touche car c'est pas pratique sur tab ...
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Mon Sep 20, 2004 9:32 am    Post subject: Reply with quote

Ah vi sympa :D

la plupart du temps je suis sous anjuta, et bien là je dois dire que je vais passer definitivement à vim!
Back to top
View user's profile Send private message
Talosectos
Guru
Guru


Joined: 31 Aug 2004
Posts: 329
Location: Bugey-Libre

PostPosted: Mon Sep 20, 2004 9:39 am    Post subject: Reply with quote

sympa ce tip 8)

Merci kernel senseï :P
_________________
Comité de lutte contre le language sms et les fautes volontaires
Utilisez la fonction recherche !
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Mon Sep 20, 2004 12:34 pm    Post subject: Reply with quote

gabo wrote:
bon, ca marche très bien en effet.
Mais question con, comment on fait pour faire une simple tabulation après ? :lol:

Car la, je vais changer la touche car c'est pas pratique sur tab ...

il ne complétionne que quand tu as commencé un mot. sinon ça fait un tab normal.
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
Beber
Guru
Guru


Joined: 10 Apr 2004
Posts: 300
Location: Kemper, Lutèce

PostPosted: Mon Sep 20, 2004 2:31 pm    Post subject: Reply with quote

oui, mais si tu veu mettre un tabulation juste apres un mot sans faire d'espace avant

genre truc[tab] au lieu de truc[espace][tab] parce que ca va essayé de compléter sinon :s des le premier tab
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Mon Sep 20, 2004 3:49 pm    Post subject: Reply with quote

ben en fait si tu fais l'espace avant, il va quand meme s'arreter au meme endroit que si t'avais fait seulement un tab, donc espace+tab !
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
sebbb
Guru
Guru


Joined: 08 Oct 2003
Posts: 400
Location: [FR] - Paris

PostPosted: Sat Dec 18, 2004 8:13 pm    Post subject: Reply with quote

Hummm on peut surement faire la même chose pour du php... mais comment ?
Y'a pas une astuce pour que ça marche pour "tous" les langages ?

Mici
_________________
Sebbb

De tous les gens qui n'ont rien à dire,
les plus agréables sont ceux qui se taisent...
Back to top
View user's profile Send private message
TTK
Guru
Guru


Joined: 02 Mar 2004
Posts: 523

PostPosted: Sun Dec 19, 2004 9:43 am    Post subject: Re: [TIP] Completion du C avec ViM ! Reply with quote

kernel_sensei wrote:
Voici quelques lignes à ajouter au vimrc pour avoir la completion du C !


Salut

Ca existe deja .. en mode insert, ctrl-x puis i complete a partir des includes. Sinon ctrl-p ou -n completent a partir du buffer courant .

Dans ctrl-x y'a d'autres modes de completion sympas. a découvrir !
Back to top
View user's profile Send private message
sebbb
Guru
Guru


Joined: 08 Oct 2003
Posts: 400
Location: [FR] - Paris

PostPosted: Sun Dec 19, 2004 9:57 am    Post subject: Reply with quote

T'es sur que tu parles pas de emacs ?
Sinon je suis curieux de voir ton vimrc, chez moi "ctrl-x i" donne pas grand chose....
_________________
Sebbb

De tous les gens qui n'ont rien à dire,
les plus agréables sont ceux qui se taisent...
Back to top
View user's profile Send private message
TTK
Guru
Guru


Joined: 02 Mar 2004
Posts: 523

PostPosted: Sun Dec 19, 2004 1:03 pm    Post subject: Reply with quote

sebbb wrote:
T'es sur que tu parles pas de emacs ?
Sinon je suis curieux de voir ton vimrc, chez moi "ctrl-x i" donne pas grand chose....


Salut
Désolé, je tapais d'une seule main avec mon rejeton sur les genoux. Je voulais dire ctrl-x ctrl-i. Déjà quand tu fais ctrl-x tu dois voir apparaitre une liste de modes de complétion possibles en bas du buffer:
Code:
-- ^X mode (^E^Y^L^]^F^I^K^D^V^N^P)


Si tu fais :help completion tu auras le détail de ces modes.

Sur l'exemple de kernel_sensei: SDL_WM_ToggleFullScreen sera encore plus facile a taper avec l'option "infercase".
HTH
Back to top
View user's profile Send private message
sebbb
Guru
Guru


Joined: 08 Oct 2003
Posts: 400
Location: [FR] - Paris

PostPosted: Sun Dec 19, 2004 4:05 pm    Post subject: Reply with quote

ok, merci pour le complément :)
_________________
Sebbb

De tous les gens qui n'ont rien à dire,
les plus agréables sont ceux qui se taisent...
Back to top
View user's profile Send private message
AssiuM
Tux's lil' helper
Tux's lil' helper


Joined: 23 Dec 2004
Posts: 106
Location: Tournai (Belgium)

PostPosted: Sat Dec 25, 2004 4:52 pm    Post subject: Reply with quote

un grand merci pour ce truc qui va me faire gagner du temps !!
Back to top
View user's profile Send private message
DaiKo
Apprentice
Apprentice


Joined: 07 Apr 2004
Posts: 161
Location: Mendes (France)

PostPosted: Fri Jan 14, 2005 8:44 pm    Post subject: Reply with quote

Extra giga géniale :) merci bien !!
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Fri Jan 14, 2005 8:56 pm    Post subject: Reply with quote

juste un petit supplement pour dire comment ajouter des emplacements ou aller chercher les .h :

Il faut faire :

Code:
:set path+=chemin1,chemin2,....

_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum