Je n’ai pas vraiment de réponse rapide à ta question, mais veux bien que
tu
fournisse une liste des plugins et des scripts que tu as utilisé pour
customiser ton vim (voir une rapide explication de ce qu’ils rajoutent).
OK
Voici la page de doc de départ :
http://wiki.rubyonrails.org/rails/pages/HowtoUseVimWithRails
Tout n’est pas bon à prendre…J’ai testé Vimmate par exemple, mais je
n’ai
pas été convaincu.
Le plus important c’est evidemment rails.vim
Aprés, celui qui vaut le détour, c’est Vim IDE dont voici la page :
http://www.vim.org/scripts/script.php?script_id=69
Ensuite c’est une histoire de personnalisation.
Exemple : Pour éviter de taper :Rproject! dans la console, un raccourci
clavier : F8, voila c’est déja plus simple.
Voila mon .vimrc :
“”""""""""""""""""""""""""""""""""""""
“”" Parametres par defaut de rails.vim
“”""""""""""""""""""""""""""""""""""""
set nocompatible " We’re running Vim, not Vi!
syntax on " Enable syntax highlighting
filetype plugin indent on " Enable filetype-specific indenting and
plugins
" Couleur de fond de l’ecran
colorscheme desert
" Load matchit (% to bounce from do to end, etc.)
runtime! macros/matchit.vim
augroup myfiletypes
" Clear old autocmds in group
autocmd!
" autoindent with two spaces, always expand tabs
autocmd FileType ruby,eruby,yaml set ai sw=2 sts=2 et
autocmd FileType php set ai sw=2 sts=2 et
augroup END
“”""""""""""""""""""""""""""""""
“”" Automatic jumping to classes
“”""""""""""""""""""""""""""""""
set path+=/home/fred/ESPACE_DE_TRAVAIL/ADN/app/**
set path+=/home/fred/ESPACE_DE_TRAVAIL/ADN/lib/**
" set path+=/path/to/your/rails-application/app/**
" set path+=/path/to/your/rails-application/lib/**
set suffixesadd=.rb
set includeexpr+=substitute(v:fname,‘s$’,’’,‘g’)
" or you can add substitution pattern s/ies$/y/g, s/ves$/f/g like this:
" set
includeexpr+=substitute(substitute(substitute(v:fname,‘s$’,’’,‘g’),‘ie$’,‘y’,‘g’),‘ve$’,‘f’,‘g’)
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
“”" Activation des touches F11 et F12 (Avoiding MVC same-name clashes)
“”"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map :set suffixesadd=.rbgf
map :set suffixesadd=.rhtmlgf
“”""""""""""""""""""""""""""""
“”" Vim 7 ruby omni completion
“”""""""""""""""""""""""""""""
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1
autocmd FileType ruby,eruby let g:rubycomplete_rails = 1
autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1
“”"""""""""""""""""""""""""""""
“”" Raccourcis persos / Aliases
“”"""""""""""""""""""""""""""""
"Ecrit <%= %> et positionne le curseur au milieu
:map ùù ^i<%= %>
"Commente la ligne et positionne le curseur sur la ligne en dessous
:map k ^i#j
"Ecrit une balise
:map bb i
"Ouvre un projet Rails
nnoremap :Rproject!
Le résultat en screenshot…
Sinon il y a moyen d’avoir une console irb, un écran avec les logs, on
peut
faire un push sur svn,…
Il y a des tas de choses à faire avec Vim, c’est completement
hallucinant.
Mais bon, comme dirait mon chef de projet, pendant que je customise mon
IDE,
je ne code pas le projet…et ça craint !
Donc je me contente en général de lancer plusieurs terminaux, dans
lesquels
je fais les commandes à la main une fois pour toute.
(exemple, j’ai un terminal sur lequel j’ai lancé un tail -f
log/development.log, et quand j’en ai besoin, je fais ctrl+alt+F2 pour
le
visionner…)
Sinon, pour revenir à ma question, Vim est capable de retrouver une
méthode
ou une balise, à l’intérieur des autres fichiers.
La preuve c’est que c’est ce que fait, parfaitement bien, la
fonctionnalité
d’autocomplétion. (Ctrl + n)
Par contre ça me dit pas dans quel fichier elle a trouvé la balise ou la
méthode…arg
Donc si quelqu’un l’a déja fait ?
Et merci au passage pour le coup du git-grep, car c’est quand meme une
piste
plutot pas mal !
Si ça permet aussi de trouver des méthodes qui ont existé, par le passé,
ça
peut etre formidable aussi.
Genre une astuce qui marchait bien, mais qu’on a effacé parcequ’il n’y
en
avait plus besoin, et puis un jour on en a à nouveau besoin, mais on se
rappelle plus comment on avait fait…
Bon allez, je vous laisse, faut que j’aille coder…
Byebye
FJ
Le 25 septembre 2008 11:20, Cyril M. [email protected] a
écrit :