#76 Le 08/04/2008, à 08:32
- geenux
Re : Liste de Commandes/Fonctions utile sous VIM
Je viens de découvrir un truc: en mode insertion C-w supprime le mot précédent.
pratique ton astuce philpep-tlse
Hors ligne
#77 Le 08/04/2008, à 10:32
- Yannick_LM
Re : Liste de Commandes/Fonctions utile sous VIM
Juste pour dire qu'il y a un script qui s'appelle supertab, qui est très sympa à l'usage :
http://vim.sourceforge.net/scripts/script.php?script_id=182
Vous pouvez ainsi faire toutes vos complétions avec la touche tabulation.
Et sinon, dans le lien de philpep-tlse, l'utilisation de ctags est mentionnée, mais pas celle de exuberant-ctags.
Si vous installez ce paquet, il y a peu de langages qui ne seront plus reconnus
Asm Asp Awk Basic BETA C C++ C# Cobol Eiffel Erlang Fortran HTML Java JavaScript Lisp Lua Make Pascal Perl PHP Python REXX Ruby Scheme Sh SLang SML SQL Tcl Vera Verilog Vim YACC
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#78 Le 08/04/2008, à 14:54
- Spalax
Re : Liste de Commandes/Fonctions utile sous VIM
Malheureusement, Ada fait partie des peu de langages qui ne sont pas reconnus...
Hors ligne
#79 Le 08/04/2008, à 18:29
- Yannick_LM
Re : Liste de Commandes/Fonctions utile sous VIM
Transfuge désormais sous Gentoo
Gentooïste et adaïste : tu cumules
EDIT : sinon, un petit tour sur vim.org et tu tombes sur ada.vim
Dernière modification par Yannick_LM (Le 08/04/2008, à 18:32)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#80 Le 08/04/2008, à 19:06
- Spalax
Re : Liste de Commandes/Fonctions utile sous VIM
Ce plugin a l'air intéressant ; il faudra que je l'essaye.
Merci
Hors ligne
#81 Le 10/04/2008, à 15:34
- scholi
Re : Liste de Commandes/Fonctions utile sous VIM
Voici un lien qui montre deux scriptes vim totalement inutile mais assez impressionnant: http://www.linusakesson.net/programming/vim/index.php
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#82 Le 10/04/2008, à 16:00
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
moi j'utilise ctrl-y en mode insertion depuis que je l'ai découvert, ça copie le character à la même place à la ligne au dessus, si on a deux lignes quasi identiques (ça arrivent souvent en prog) c'est une alternative interressante à <echap> yypI et remplacer.
Dernière modification par tshirtman (Le 10/04/2008, à 16:00)
Hors ligne
#83 Le 02/05/2008, à 19:55
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Scandale !! J'ai du aller en 4ème page de "Trucs et astuces" pour trouver ce topic...
Y'avais même un gars qui parlait d'emacs (Pour ceux qui ne connaissent pas vous ratez rien) avant nous !
Bref, 2 astuces sympathiques que j'ai apprises sur IRC :
1) Améliorer l'affichage de man
Vous avez l'habitude de faire un K pour visualiser le man de la commande qui se trouve sous le curseur. Mais si la commande n'y est pas encore, ou si vous voulez avoir un beau affichage (split de la fenêtre) pour voir le man d'une commande :
Dans ~/.vimrc :
runtime ftplugin/man.vim
Pour visualiser le man de vim :
:Man vim
2) La sélection en tableau :
Genre vous avez un texte comme ça :
Style XTerm MiniIcon 22x22/xterm.png
Style aterm MiniIcon 22x22/aterm.png
Style Eterm MiniIcon 22x22/Eterm.png
Style URxvt MiniIcon 22x22/urxvt.png
Malheur ! Il faut mettre img/ avant 22x22 !
Dans ce cas on ce place au premier 2; ctrl + v, avec le curseur on sélectionne tout ce qu'on a besoin de changer (toute la colonne qui commence par 2); enfin un petit I (majuscule) pour se mettre en insertion.
Ensuite on écrit img/, <echap> et hop le tour est joué
Dernière modification par philpep-tlse (Le 02/05/2008, à 20:18)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#84 Le 02/05/2008, à 22:53
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
diantre, je connaissait ce mode de sélection mais seulement pour copier coller, j'avais bien tenter i (minuscule) pour insérer mais ça marche pas... merci pour le truc
Hors ligne
#85 Le 03/05/2008, à 07:56
- abetsic
Re : Liste de Commandes/Fonctions utile sous VIM
Pour rajouter le texte à la fin du bloc de selection au lieu du début, il faut taper sur "A" au lieur de "I" (utile pour rajouter à la fin d'une ligne).
Hors ligne
#86 Le 03/05/2008, à 08:15
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
oui ça du coup c'est évident
Hors ligne
#87 Le 06/05/2008, à 17:01
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Hop, je ne sais pas si quelqu'un l'a déjà dit, mais on peut exécuter des morceau de programmes directement dans vim et récupérer la sortie dans son fichier.
Par exemple (Pas très utile certes )
Un programme C tout con avec un morceau de script bash dedans :
#include <stdio.h>
int main(void)
{
for i in 0 1 2 3 4 5 6 7 8 9; do
echo -e "printf(\"$i x 12 = $(($i*12))\");"
done
return 0;
}
On se met sur le f de for et on se place en mode visuel avec v.
On sélectionne tout notre morceau de code bash (jusqu'a done inclu)
Ensuite on tape : normalement '<, '> s'écrit tout seul donc on a juste à rajouter !bash.
Finalement la commande est :
:'<, '>!bash
Et voilà le travail :
#include <stdio.h>
int main(void)
{
printf("0 x 12 = 0");
printf("1 x 12 = 12");
printf("2 x 12 = 24");
printf("3 x 12 = 36");
printf("4 x 12 = 48");
printf("5 x 12 = 60");
printf("6 x 12 = 72");
printf("7 x 12 = 84");
printf("8 x 12 = 96");
printf("9 x 12 = 108");
return 0;
}
Dans le même genre si vous avez un Makefile, vous pouvez directement compiler avec :!make
Dernière modification par philpep-tlse (Le 06/05/2008, à 17:12)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#88 Le 06/05/2008, à 17:32
- Luc Hermitte
Re : Liste de Commandes/Fonctions utile sous VIM
Rigolo.
Par contre, pour :!make, mieux vaut l'oublier et passer à la vitesse supérieure: :make (:h quickfix)
#89 Le 08/05/2008, à 00:19
- Yannick_LM
Re : Liste de Commandes/Fonctions utile sous VIM
@Luc Hermitte :
gros +1
Dans le même genre, préférez :grep et :sort à :!grep et :!sort.
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#90 Le 08/05/2008, à 00:57
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
moi je me suis fait des raccourcis pour commenter/décommenter du code... par contre c'est dépendant du type de langage
map <F5> :s/^/#/ <CR>:let @/ = ""<CR>
map <F6> :s/^#// <CR>:let @/ = ""<CR>
on peut faire F5 ou F6 sur une ligne ou sur tout une sélection de code... là ça met des # en début de ligne, ce qui marche comme commentaire en python et en bash entre autre...
Dernière modification par tshirtman (Le 08/05/2008, à 00:58)
Hors ligne
#91 Le 08/05/2008, à 11:14
- Luc Hermitte
Re : Liste de Commandes/Fonctions utile sous VIM
J'ai juste une touche pour cela : <m-x>, qui bascule les commentaires grâce à EnhancedCommentify -- et <localleader>0 qui entoure d'un #if 0/#endif.
Il existe un autre plugin qui sait faire cela: NerdCommenter. Et quantité de tips sur vim.wikia que l'on n'a pas encore fusionnés.
Les plugins ont l'avantage de supporter quantité de langages différents, d'être customisables, et de ne parasiter aucun historique, ni aucun registre.
(mais j'ai l'impression que cela a déjà été discuté)
#92 Le 08/05/2008, à 15:20
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
ça a déja été discuté oui, mais j'ai la faiblesse d'aimer bricoler ma solution plutot que d'utiliser ce qu'a fait un autre, quand je peut... bien sur je ne vais pas reprogrammer mon editeur de texte, mais si deux lignes conf font ce que je veux, installer un plugin je trouve que c'est moins propre... mais en effet c'est pas super lourd niveau argumentaire, la vérité c'est juste que je préfere (et j'aime pas les .vimrc de 500 lignes accompagnés d'un dossier pleins d'extensions, ça double le temps de démarrage de vim et quand on a un problème vas trouver d'ou ça vient...)
bref et puis je suis content je l'ai un peu amélioré tout à l'heure (oui ça pourris toujours l'historique de la dernière recherche ) maintenant ça comment pas en début de ligne (charactère 0) mais juste avant le texte, ce qui fait quand même plus jolis...
map <F5> :s/\(^ *\)/\1#/ <CR>:let @/ = ""<CR>
map <F6> :s/\(^ *\)#/\1/ <CR>:let @/ = ""<CR>
après si je veux supporter d'autres langages il faudras que je duplique ça suivant les types de fichiers... ça pourrais devenir lourd mais je sais comment faire.. la bonne nouvelle c'est que je n'en ais pas besoin
Hors ligne
#93 Le 08/05/2008, à 16:04
- Beta Pictoris
Re : Liste de Commandes/Fonctions utile sous VIM
Je viens de découvrir un truc: en mode insertion C-w supprime le mot précédent.
pratique ton astuce philpep-tlse
Toujours en mode insertion, toute commande qui suit un '<c-o>' sera exécutée en mode normal.
Par exemple, si on veut coller du texte en mode insertion, on peut faire un '<c-o>P' au lieu d'un '<esc>pa'
Hors ligne
#94 Le 30/05/2008, à 23:25
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Une autre astuce : les commandes automatiques (je connais pas le vrai nom).
Bref, par exemple si vous avez ça dans votre ~/.vimrc
ino _main int main (int argc, char *argv[])<CR>{<CR>return 0;<CR>}<esc>2ko
si en mode insertion vous tapez _main ça va exécuter l' "alias" _main (je sais vraiment pas comment ça s'appelle )
C'est à dire :
ecrire "int main (int argc, char *argv[])"
saut de ligne <CR>
ecrire "{"
saut de ligne <CR>
ecrire "return 0;"
saut de ligne <CR>
ecrire "}"
quitter le mode insertion <esc>
remonter de 2 ligne 2k
inserer une ligne en dessous : o
Finalement ça écris ça :
int main (int argc, char *argv[])
{
return 0;
}
et place le curseur juste au dessus de return 0 \o/
Vraiment pratique
Dernière modification par philpep-tlse (Le 30/05/2008, à 23:48)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#95 Le 31/05/2008, à 00:53
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
ah c'est comme "ab" mais en plus souple, (ab ça fait juste un remplacement auto de texte, je m'en suis fait un sur GPL_LICENSE ça remplace par le gros bloc de gpl dès que j'ai finis de le tapper.
Mais ça ça permet aussi de faire des opérations de pré et post traitement ce qui peut être interressant.
sinon vu que mon écran est petit (eeepc) je me suis mis a chercher comment me passer des split.. (deux ça vas mais plus....)
la solution est simple est élégante... les onglets, pour ceux qui ne connaissent pas, il suffit de tapper
:tabnew nom_du_fichier
pour l'ouvrir dans un onglet, on peut toujours utiliser la souris pour passer d'un onglet à l'autre, mais le raccourcis à connaitre c'est gt (passe à l'onglet suivant) et bien sur son pendant gT (onglet précédant).
Dernière modification par tshirtman (Le 31/05/2008, à 00:54)
Hors ligne
#96 Le 31/05/2008, à 01:57
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Merci pour le gt et le gT, je trouvait que :tabnext et :tabprevious c'était long a faire
Sinon, vous pouvez effectuer des action suivant le type de fichier...
Par exemple pour avoir cindent seulement sur les fichier c :
~/.vimrc
autocmd Filetype c set cindent
où même appliquer une fonction :
function Vim_c_func ()
set cindent
ino _main int main (int argc, char *argv[])<CR>{<CR>return 0;<CR>}<esc>2ko
ino inc<tab> #include <><esc>i
endfunc
autocmd Filetype c call Vim_c_func ()
J'ai l'impression que les fonction doivent commencer par une majuscule, y'a une raison ?
Une autre question, pour coller du texte après le curseur c'est p, mais comment coller avant le curseur ?
Autre astuce :
Pour couper l'écran en 2 horizontalement :split
Mais comment passer d'un écran à l'autre ?
Comment couper verticalement ?
Dernière modification par philpep-tlse (Le 31/05/2008, à 02:06)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#97 Le 31/05/2008, à 06:50
- scholi
Re : Liste de Commandes/Fonctions utile sous VIM
moi je me suis fait des raccourcis pour commenter/décommenter du code... par contre c'est dépendant du type de langage
map <F5> :s/^/#/ <CR>:let @/ = ""<CR> map <F6> :s/^#// <CR>:let @/ = ""<CR>
on peut faire F5 ou F6 sur une ligne ou sur tout une sélection de code... là ça met des # en début de ligne, ce qui marche comme commentaire en python et en bash entre autre...
On a déjà parlé de ça en début de poste avec une seule touche pour commenter/décommenter:
http://forum.ubuntu-fr.org/viewtopic.ph … 7#p1203987
Une autre astuce : les commandes automatiques (je connais pas le vrai nom).
Ouais le plus simple reste tout de même les templates qui ont déjà été discuté dans ce post: http://forum.ubuntu-fr.org/viewtopic.ph … 7#p1201377
EDIT: Enfin c'est vrai que pour le main les templates ne servent à rien, car on en a qu'un par projet et non 14. Donc en effet ta méthode est meilleur pour le main, par contre je vous conseil d'utiliser les templates pour les .h
Dernière modification par scholi (Le 31/05/2008, à 06:55)
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#98 Le 31/05/2008, à 07:30
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Pour couper l'écran en 2 horizontalement :split
Mais comment passer d'un écran à l'autre ?
Comment couper verticalement ?
Je me repond moi même :
Couper horizontalement :sp
Couper verticalement :vs
Et passer d'un ecran a l'autre : ctrl-w w
Merci à yannick_lm dans son vieux post
Sympa les templates, je connaissais pas Pareil pour les ftplugin \o/
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#99 Le 31/05/2008, à 10:27
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
ah zut j'avais pas vu cette question, j'avais les réponses
pour me faire pardonner les petits détails qui vont bien avec:
crtl-w n< pour déminuer la taille d'un split vertical (remplacer n par un nombre ou l'ommetre pour redimmentionner de 1)
crtl-w n> pour l'augmenter de la même façon
ctrl-w n+ pour augmenter un split horizontale
ctrl-w n- pour le diminuer
ctrl-w H ou J ou K ou L pour déplacer le split courant sur le bords gauche, bas, haut ou droite de l'écran.
Dernière modification par tshirtman (Le 31/05/2008, à 10:27)
Hors ligne
#100 Le 31/05/2008, à 13:28
- scholi
Re : Liste de Commandes/Fonctions utile sous VIM
ça c'est une cool info. Je vais du coups utiliser plus souvent les splits au lieu des tabs...
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne