View previous topic :: View next topic |
Author |
Message |
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Sun Sep 19, 2004 6:35 pm Post subject: [TIP] Completion du C avec ViM ! |
|
|
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 _________________ $ 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 |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Sun Sep 19, 2004 6:38 pm Post subject: |
|
|
HUGE!
c'est trop bien comme tip, merci . _________________ I never think of the future. It comes soon enough.
Albert Einstein
Try simpler first
Shockley |
|
Back to top |
|
|
gabo Tux's lil' helper
Joined: 24 Aug 2004 Posts: 134 Location: Lyon, France
|
Posted: Sun Sep 19, 2004 8:41 pm Post subject: |
|
|
J'essaye ca demain au boulot !!!
Merci ! |
|
Back to top |
|
|
Beber Guru
Joined: 10 Apr 2004 Posts: 300 Location: Kemper, Lutèce
|
Posted: Sun Sep 19, 2004 8:51 pm Post subject: |
|
|
alors ca c'est trop la classe !!!
et ca marche au poils
mercii !!!!!!!!!! |
|
Back to top |
|
|
Sleeper l33t
Joined: 12 Nov 2002 Posts: 667
|
Posted: Sun Sep 19, 2004 8:53 pm Post subject: |
|
|
<mode trolleur>
Et pour les emacsen :
Ca marche pour tous les buffers/languages ... mais c'est plus simple de le remapper sur Shift-tab
</mode trolleur> |
|
Back to top |
|
|
gabo Tux's lil' helper
Joined: 24 Aug 2004 Posts: 134 Location: Lyon, France
|
Posted: Mon Sep 20, 2004 9:00 am Post subject: |
|
|
bon, ca marche très bien en effet.
Mais question con, comment on fait pour faire une simple tabulation après ?
Car la, je vais changer la touche car c'est pas pratique sur tab ... |
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Mon Sep 20, 2004 9:32 am Post subject: |
|
|
Ah vi sympa
la plupart du temps je suis sous anjuta, et bien là je dois dire que je vais passer definitivement à vim! |
|
Back to top |
|
|
Talosectos Guru
Joined: 31 Aug 2004 Posts: 329 Location: Bugey-Libre
|
|
Back to top |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Mon Sep 20, 2004 12:34 pm Post subject: |
|
|
gabo wrote: | bon, ca marche très bien en effet.
Mais question con, comment on fait pour faire une simple tabulation après ?
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 |
|
|
Beber Guru
Joined: 10 Apr 2004 Posts: 300 Location: Kemper, Lutèce
|
Posted: Mon Sep 20, 2004 2:31 pm Post subject: |
|
|
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 |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Mon Sep 20, 2004 3:49 pm Post subject: |
|
|
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 |
|
|
sebbb Guru
Joined: 08 Oct 2003 Posts: 400 Location: [FR] - Paris
|
Posted: Sat Dec 18, 2004 8:13 pm Post subject: |
|
|
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 |
|
|
TTK Guru
Joined: 02 Mar 2004 Posts: 523
|
Posted: Sun Dec 19, 2004 9:43 am Post subject: Re: [TIP] Completion du C avec ViM ! |
|
|
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 |
|
|
sebbb Guru
Joined: 08 Oct 2003 Posts: 400 Location: [FR] - Paris
|
Posted: Sun Dec 19, 2004 9:57 am Post subject: |
|
|
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 |
|
|
TTK Guru
Joined: 02 Mar 2004 Posts: 523
|
Posted: Sun Dec 19, 2004 1:03 pm Post subject: |
|
|
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 |
|
|
sebbb Guru
Joined: 08 Oct 2003 Posts: 400 Location: [FR] - Paris
|
Posted: Sun Dec 19, 2004 4:05 pm Post subject: |
|
|
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 |
|
|
AssiuM Tux's lil' helper
Joined: 23 Dec 2004 Posts: 106 Location: Tournai (Belgium)
|
Posted: Sat Dec 25, 2004 4:52 pm Post subject: |
|
|
un grand merci pour ce truc qui va me faire gagner du temps !! |
|
Back to top |
|
|
DaiKo Apprentice
Joined: 07 Apr 2004 Posts: 161 Location: Mendes (France)
|
Posted: Fri Jan 14, 2005 8:44 pm Post subject: |
|
|
Extra giga géniale merci bien !! |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Fri Jan 14, 2005 8:56 pm Post subject: |
|
|
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 |
|
|
|