Vim

ViPHP
ViPHP | 4039 Messages

15 oct. 2008, 11:26

Ce forum outils me parait l'endroit idéal pour réunir quelques sources, plugins et scripts intéressants pour Vim. (par vim j'entends tout aussi bien gVim).

Postez, et j'essayerais de mettre ce premier post à jour (au lieu de chaque fois en faire un nouveau sujet).

Téléchargement:

Tout d'abord, Vim est disponible ici: télécharger vim, pour la majorité des systèmes d'exploitation, dans les langues qu'il faut (livré avec).

Documentation:
Quelques ressources francophones (la doc est livrée avec, tout comme le fichier "tuteur", pour une première prise en main de vim):
http://vim.sourceforge.net/6k/features.fr.txt
http://www.commentcamarche.net/faq/suje ... sur-vi-vim
http://david.blanchet.free.fr/vim/

Plugins:
Une des philosophies de Vim est de réunir autour de lui tout une série d'outils, même l'OS, pour en faire un environnement des plus complets. On peut pourtant lui ajouter une pléthore de plugins qui le rapprochent de plus en plus des plus gos IDE's, tout en ne consommant qu'un 30ème de leur ressources. Un désavantage est que la doc (des plugins et autres ressources) est souvent uniquement anglophone.

NERDTree: The NERD tree allows you to explore your filesystem and to open files and
directories. It presents the filesystem to you in the form of a tree which you
manipulate with the keyboard and/or mouse. It also allows you to perform
simple filesystem operations.

bufexplorer: With bufexplorer, you can quickly and easily switch between buffers by using the one of the default public interfaces

snippetsEmu: Slippery Snippets brings the HOT HOT feature of TextMate to VIM. Define you snippet in snippets file and use the snippets with a single <TAB> key. And it also allows you to navigate to the fill up areas in the snippet using the same <TAB> key. (nécessite le plugin vimball

Scripts:
Vim contient un fichier "autoexécutant" ou l'on peut paramétrer tout l'environnement, personnaliser des abréviations, des touches, etc.. Tout ça est réuni (ou inclus a travers un autre fichier) dans le .vimrc (_vimrc sous windows). Je ne reprendrais ici que des liens vers les posts ou ils seront postés.

fini pour aujourd'hui :wink:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 5924 Messages

15 oct. 2008, 20:53

RAF de Vim :)

ViPHP
ViPHP | 4674 Messages

16 oct. 2008, 01:01

Hey :),

J'utilise Vexplore plutôt que NERDTree. Vexplore est de base et m'est suffisant.
Et je ne connaissais pas snippetsEmu. Je m'étais fait un script maison, mais c'est carrément génial en fait. J'ai fini de faire mumuse avec. C'est super la possibilité de copier des balises avec une fonction dessus. Par exemple : on écrit Database_Model_Table dans un commentaire, et il écrit aussi Database.Model.Table autre part (on note qu'on a substitué _ par .). C'est carrément terrible, on gagne un temps fou.
Et enfin, pour bufexplorer, j'ai pas trop adhéré, mais ça peut être pratique.

J'utilisais des plugins pour XML mais ils ne fonctionnent plus sur Vim 7.2 (très étrange …), sinon je les aurais posté ici :(.

Et comment ça « RAF de Vim », t'es pas un peu fou dans ta tête toi :P ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 5924 Messages

16 oct. 2008, 07:54

Et comment ça « RAF de Vim », t'es pas un peu fou dans ta tête toi :P ?
Ah bah vous connaissez déjà mon opinion sur les IDE en console. Sinon, j'aruais pu lancer un troll avec "Ca vaut pas emacs" :P, mais c'eut été faux… :)

ViPHP
ViPHP | 4039 Messages

16 oct. 2008, 10:01

Ouf.. j'en suis pas encore a faire mes propres scripts pour vim 8-| ..

Sinon, un petit bout qui me sert vachement (je ne sais plus d'où je l'ais d'ailleurs), qui concerne les sessions.
On se met dans un répertoire de travail, on tape ":mksession", et hop, tout l'arrangement des fenêtres et des tabulations et leur contenu s'enregistre dans un fichier session. Avec ce script, la session est automatiquement sauvée quand on quitte Vim, et quand on revient, on se replace dans le répertoire de travail, on tape f3, et on laisse le tout se réorganiser, de la façon dont on l'avait laissé le jour avant.

Pratique quand on travaille sur plusieurs projets à la fois.

le script (a placer dans .vimrc) :

Code : Tout sélectionner

nmap <F3> <ESC>:call LoadSession()<CR> let s:sessionloaded = 0 function LoadSession() source Session.vim let s:sessionloaded = 1 endfunction function SaveSession() if s:sessionloaded == 1 mksession! end endfunction autocmd VimLeave * call SaveSession()
(en fait, la session enregistre bien plus que simplement les fenêtres et leur contenu, mais aussi les préférences et plein d'autres choses).
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 4674 Messages

16 oct. 2008, 14:19

Ouf.. j'en suis pas encore a faire mes propres scripts pour vim 8-| ..
Oh c'était bidon …
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 4674 Messages

16 oct. 2008, 14:58

Sinon, les commandes et astuces pratiques pour PHP où autre langage (je donne pour PHP) :

Code : Tout sélectionner

command -narg=1 PhpMan :execute "!open -a Safari http://fr.php.net/" . expand("<args>")
Donc taper :PhpMan strpos ouvre le navigateur à la page de documentation de la fonction strpos(). Super pratique. J'en ai aussi pour MySQL & co.

Code : Tout sélectionner

set formatoptions=qroct set makeprg=php\ -l\ % set errorformat=%m\ in\ %f\ on\ line\ %l
Taper :make dans un fichier et on va vérifier les erreurs de syntaxe (l'option -l de la commande php vérifie seulement la syntaxe, lint). On peut le modifier à sa guise. C'est seulement des astuces, mais on gagne vachement. Je me sers de moins en moins de :make pour vérifier la syntaxe, mais c'est quand même super super pratique.

Configuration à placer dans ~/.vim/plugin/php.vim bien sûr, avec le filetype à on pour le chargement automatique.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 4039 Messages

17 oct. 2008, 11:03

Pour débuter dans Vim, ou bien vouloir utiliser sa puissance sans se taper la courb.. le mur d'apprentissage, il y a cream:
http://cream.sourceforge.net/

Comme pour le café, s'il est trop fort, la crème l'adoucit mais ça reste du café. Ben cream c'est pareil, mais pour vim. J'ai pas essayé, mais ça m'a l'air top.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 4039 Messages

11 mars 2009, 10:10

Je viens de tomber sur un hybride gVim/Eclipse, voyez plutôt:

http://eclim.sourceforge.net/

Il propose trois scénarios d'utilisation distincts:
Image

Personnellement, je ne vois pas ce que pourrait me fournir Eclipse, mais j'imagine que certains pourraient être intéressés.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 4674 Messages

11 mars 2009, 10:12

Peut-être l'aspect « travail à plusieurs » :-k ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 4039 Messages

12 mars 2009, 14:47

Ah, maintenant que j'y suis, j'ai découvert depuis quelque chose de très utile, à mettre dans le .vimrc

Code : Tout sélectionner

highlight OverLength ctermbg=red ctermfg=white guibg=#592929 match OverLength /\%81v.\+/
Ca rajoute un petit fond rouge foncé subtil pour tout ce qui dépasse les 80 caractères..

Les 80 caractères dateraient de l'époque des cartes perforées, mais il est dit que si ton code dépasse les 80 caractères, c'est qu'il est mal organisé, et contraint la lisibilité.

L'avantage ici c'est que la règle n'est pas imposée, on indique juste une transgression. C'est autorisé, mais quelque part on essaie d'éviter.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 4674 Messages

12 mars 2009, 15:06

Une autre version historique des 80 colonnes est qu'à l'époque des premiers écrans, on n'avait que 80 colonnes disponibles sur la matrice d'écran. Donc une ligne devait faire 80 caractères, ou sinon on avait cette crotte d'ascenseur horizontal qui reste toujours énervant à manipuler …
Merci Berze', je l'ajoute ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 4039 Messages

12 mars 2009, 15:27

Une autre version historique des 80 colonnes est qu'à l'époque des premiers écrans, on n'avait que 80 colonnes disponibles sur la matrice d'écran.
Pour les rendre compatibles avec les cartes perforées, CQFD.

Certains langages ont gardé les 8 derniers caractères pour la numérotation des cartes. C'est ainsi que Fortran et cobol il me semble ne peuvent avoir que 72 caractères sur une ligne, pour assurer la compatibilité avec les cartes perforées.

J'aurais du faire historien tiens, merde, j'ai tout loupé..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.