#151 Le 25/08/2008, à 19:45
- Luc Hermitte
Re : Liste de Commandes/Fonctions utile sous VIM
Tu peux aussi faire :
- 3a[0-9]{1,3}\.<esc>x
- a[0-9]{1,3}<esc>a\.<c-r>.\.<c-r>.
- ......
#152 Le 08/10/2008, à 13:54
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
la touche & permet de répeter une regex aussi
sinon j'étais juste venus présenter un map auquel je viens de penser et que je trouve idéal
map <C-Left> gT
map <C-Right> gt
pour ceux qui utilisent les tabs bien sur
les puristes peuvent faire:
map ^L gt
map ^H gT
par contre pour pouvoir entrer un ctrl-L il faut utiliser ctrl-k et ensuite faire ctrl-L (deux fois, je ne sais pas pourquoi), qui seras un symbole unique, '^L'.
(ctrl-k permet d'insérer la représentation d'une touche, ou combinaison de touches.)
Dernière modification par tshirtman (Le 08/10/2008, à 13:56)
Hors ligne
#153 Le 08/10/2008, à 20:04
- abetsic
Re : Liste de Commandes/Fonctions utile sous VIM
Voila un mapping pour ceux qui travaillent avec SVN. en mode selection il permet d'avoir le svn blame des lignes selectionnés en tapant "gl" :
vmap gl :<C-U>!svn blame <C-R>=expand("%:p") <CR> \| sed -n <C-R>=line("'<") <CR>,<C-R>=line("'>") <CR>p <CR>
Hors ligne
#154 Le 11/10/2008, à 19:31
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Je sais pas si ça a déjà été dis, mais ctags et vim font vraiment bonne équipe...
Genre dans votre répertoire avec toutes les sources C, faites un
ctags **/*
(Je sais pas si bash gère le **/*, mais zsh oui
Ensuite, pour ouvrir vim sur ma_fonction() faites tout simplement
vim -t ma_fonction
Et ça ouvre le bon fichier au bon endroit...
Pour sauter de tag en tag dans vim :
:tag ma_fonction2
Vous pouvez aussi créer vos propres tags etc... (:help:)
Bref, très sympa ce truc...
Hop la, astuce N*2 : Re-Indenter tout un fichier
Vous enlevez une boucle, ou vous en rajoutez une, bref c'est plus indenté comme il faut, la commande magique
gg=G''
En mode normal....
Moi j'ai un petit map dessus :
map <F5> <esc>gg=G''
Dernière modification par philpep-tlse (Le 11/10/2008, à 19:36)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#155 Le 11/10/2008, à 20:20
- \\Ouranos//
Re : Liste de Commandes/Fonctions utile sous VIM
Je ne sais pas si ç'a été proposé, mais :tabnew ouvre un nouvel onglet
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#156 Le 12/10/2008, à 00:32
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
oui, il y a quelques pages , et c'est gt et gT pour passer d'un onglet à l'autre normalement, sauf à utiliser des map comme les miens plus haut .
Hors ligne
#157 Le 12/10/2008, à 21:50
- \\Ouranos//
Re : Liste de Commandes/Fonctions utile sous VIM
oui, il y a quelques pages , et c'est gt et gT pour passer d'un onglet à l'autre normalement, sauf à utiliser des map comme les miens plus haut .
Perso j'utilise :tabnext ou :tabprevious, mais merci
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#158 Le 13/10/2008, à 00:01
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
ben c'est super long à taper quoi ^^ gt et gT (sans c'est déjà bien plus rapide...
Hors ligne
#159 Le 21/10/2008, à 18:47
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Hop, un nouveau truc : la fonction d'enregistrement (record)
Pour répéter des commandes complexes...
Exemple :
vous avez un fichier avec ça :
phil
bob
claudel
Et vous voulez obtenir ça :
printf("phil");
printf("bob");
printf("claudel");
Le mode d'édition en colonne pourrait être rapide, mais il y a encore plus rapide... (imaginez que vous avez 100 lignes)
Donc (depuis le mode normal), vous entrez en fonction record avec qq ensuite faites votre opération sur une ligne Iprintf("<esc>A");<esc>j (ce qui veut dire en langage vim :
Inserer en debut de ligne I le mot printf(", revenir en mode normal <esc>, inserer en fin de ligne A le mot ";, revenir en mode normal <esc>, aller une ligne en dessous j.
Ensuite quittez la fonction record avec q. Et ensuite faites @q en mode normal sur toutes les autres lignes... \o/ et voilà le travail.
Maintenant imaginez que vous avez 100 lignes, un simple 100@q et c'est fait, en tout on a tapé 16 touches.
EDIT : ceci n'est qu'une courte présentation de la fonction record, vous pouvez faire beaucoup plus, comme enregistrer plusieurs suites de commandes etc :help recording
@q : dernier enregistrement (enregistré, pas exécuté)
@@ : dernier enregistrement exécuté.
....
Vous pouvez même faire un enregistrement puis l'exécuter récursivement sur tout le fichier...
ggqqIprintf("<esc>A");<esc>j@@q@@ (Okay, ça servira peut être qu'une fois, mais quand même )
Dernière modification par philpep-tlse (Le 21/10/2008, à 18:55)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#160 Le 21/10/2008, à 19:40
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
oui c'est pas mal, mais dans ce cas précis, y'a mieux
:%s/\(^.*$\)/printf("\1");
devrait faire le même boulot, en une fois.
cela dit pour éditer de façon similaire des paragraphes entiers (remise en forme par exemple), les macros, sont pratiques
Hors ligne
#161 Le 21/10/2008, à 23:28
- Yannick_LM
Re : Liste de Commandes/Fonctions utile sous VIM
Tiens, au fait. J'ai raconté deux trois trucs pour faire mumuse avec l'historique de vim, et j'ai oublié le plus important.
Par défaut, le nombre de commandes sauvegardées est 20, ce qui est ridiculement petit
Un petit set history=1000 passe très bien sur une machine « de bureau »
EDIT:
cela dit pour éditer de façon similaire des paragraphes entiers (remise en forme par exemple), les macros, sont pratiques
Combiné avec CTRL+A, c'est tout bonnement irremplaçable:
let var1 = 1;
let var2 = 2
let var3 = 3;
let var4 = 4;
let var5 = 5;
let var6 = 6;
let var7 = 7;
let var8 = 8;
let var9 = 9;
let var10 = 10;
(La rédaction de la macro est laissée en exercice au lecteur)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#162 Le 21/10/2008, à 23:34
- Luc Hermitte
Re : Liste de Commandes/Fonctions utile sous VIM
Ou encore plus simplifié dans ce cas précis:
:%s/.*/printf("&");
Hors ligne
#163 Le 22/10/2008, à 00:28
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
@yannick_LM: ah voila ça c'est plus interressant , là je trouve que ça justifie une macro, et ça pourrais me servir assez souvent, si j'avais le réflexe.
@Luc Hermitte: je m'incline, j'avais oublié le & dans ce cas, et je n'était pas sûr que ^ et $ soit necessaire mais bon.
un chtit truc sinon
:mkvimrc
permet de sauvegarder la config de vim, plutôt que de l'éditer à la main.
Hors ligne
#164 Le 22/10/2008, à 08:06
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
Rha, vous avez détruit ma présentation de record Bon okay je m'incline, j'avais pas pensé qu'on pouvait faire plus simple. Mais je pense que record a sa place dans vim si l'on fait des opérations vraiment complexes.
EDIT : au fait excellent le mkvimrc. Je bosse sur les machines de la fac en XDTCMP et vim est en version 5.0 (de 1998 ) sur ces machines (Enfin, ça depend des serveurs, y'en a un qui est en version 6.0); Bref du coup je dois faire cohabiter ma version 7.2 avec ces vielles version. Pour l'instant je m'en sort a grand coup de :
if has("feature")
et
if exists(":cmd")
Mais je perd pas mal de fonctionnalités...
Et j'ai l'impression que mkvimrc utilise principalement les mappings, du coup peut être ça va passer sur les serveurs \o/
Dernière modification par philpep-tlse (Le 22/10/2008, à 08:14)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#165 Le 22/10/2008, à 14:54
- \\Ouranos//
Re : Liste de Commandes/Fonctions utile sous VIM
ben c'est super long à taper quoi ^^ gt et gT (sans : ) c'est déjà bien plus rapide...
Merci tshirtman, mais y'a pas moyen de mapper ça pour que F6 aille au précédent onglet et F7 au suivant ?
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#166 Le 22/10/2008, à 16:19
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
bah si... j'ai donné la méthode plus haut... tu met <F5> et <F6> au lieu de mes <C-Left> et <C-Right>
Hors ligne
#167 Le 22/10/2008, à 17:50
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
http://code.google.com/p/jv-extension/downloads/list
edit: pfiouu juste eu le temps de poster le lien avant que le train parte tout à l'heure ^^.
c'est un plugin firefox qui met vim dans tous les textarea (enfin une version assez basique de vim, c'est une réimplémentation)
Hors ligne
#168 Le 06/11/2008, à 12:55
- \\Ouranos//
Re : Liste de Commandes/Fonctions utile sous VIM
geenux a écrit :Je recherche différents trucs pour vim:
- Existe-t-il un plugin de complétition du code (pour le c++, python, java, php essentiellement), de préférence facile à installer?On en parle ici : http://forum.ubuntu-fr.org/viewtopic.ph … 2#p1659502
Merci pour l'astuce
Mais comment le mettre à l'endroit ou est le curseur ?
.!ls
Ca fonctionne sous ed aussi
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#169 Le 30/11/2008, à 23:30
- fredr
Re : Liste de Commandes/Fonctions utile sous VIM
Un petit résumé util pour les débutants... (et les autre ;-))
http://www.commentcamarche.net/faq/suje … sur-vi-vim
FRed
Fana du distro hopping, actuellement sur Ubuntu 24.04 avec Regolith Desktop Sway.
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.
Hors ligne
#170 Le 24/12/2008, à 14:44
- scholi
Re : Liste de Commandes/Fonctions utile sous VIM
comme beaucoup cherchent à avoir un terminal dans leur fenêtre vim, je vais vous proposer ma solution. Cette solution est en faite un méthode pour spliter le terminal et lancer vim dans un des split. Cette méthode utilise tout simplement la commande "screen". Pour plus d'info sur screen regardez les manpages ou la doc d'ubuntu.
$ screen # lance screen
C-a c # C-a = Control-a. Crée un nouveau terminal (virtuel)
C-a S # split la fenêtre en court
C-a [TAB] # sélectionne le nouveau split
C-a n # met dans le nouveau split le deuxième terminal (virtuel)
$ vim # lance vim dans le nouveau teminal
C-a [TAB] # pour passer du terminal à vim
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#171 Le 24/12/2008, à 16:31
- tshirtman
Re : Liste de Commandes/Fonctions utile sous VIM
oui je fais ça aussi souvent... mais a choisir, alt-tab va plus vite que ctrl-a tab, et y'a d'autres solutions...
Hors ligne
#172 Le 27/12/2008, à 13:27
- philpep-tlse
Re : Liste de Commandes/Fonctions utile sous VIM
http://code.google.com/p/jv-extension/downloads/list
edit: pfiouu juste eu le temps de poster le lien avant que le train parte tout à l'heure ^^.
c'est un plugin firefox qui met vim dans tous les textarea (enfin une version assez basique de vim, c'est une réimplémentation)
Divin cette extension \o/
Mais y'a quand même un truc qui me dérange c'est que j'utilise aussi le célèbre vimperator et les deux rentrent en conflit avec la touche echap qui est prise par vimperator
Donc si y'a moyen de désactiver l'interprétation de la touche echap par vimperator quand on est dans un "text area" ça m'intéresse grandement
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#173 Le 29/12/2008, à 20:17
- \\Ouranos//
Re : Liste de Commandes/Fonctions utile sous VIM
Découverte par erreur :
s en mode normal permet de passer en mode insertion en supprimant la lettre sous le curseur.
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#174 Le 29/12/2008, à 22:21
- Luc Hermitte
Re : Liste de Commandes/Fonctions utile sous VIM
Sélectionne en mode visual, et sers-toi de s
Dans le même genre, tu as 'S'.
Hors ligne
#175 Le 17/01/2009, à 23:51
- Yannick_LM
Re : Liste de Commandes/Fonctions utile sous VIM
Pop, deux trois petites découvertes en passant.
1. Vous avez tout à fait le droit de vous créer un petit répertoire
~/.vim/ftplugin pour avoir vos options à vous suivant le genre de fichiers.
Du genre:
dans
~/.vim/ftplugin/tex.vim:
imap <buffer> ... \ldots
imap <buffer> « \of
imap <buffer> » \fg
etc ...
dans
~/.vim/ftplugin/python.vim
set expandtab
abbreviate <buffer> sefl self
etc, etc.
EDIT:
notez le <buffer> pour éviter que vos imap s'appliquent ailleurs que dans le buffer actuel et ne conflictent avec d'autres mapping
2.
Vous pouvez aussi aller modifier là où Vim va chercher les fichiers que vous
voulez ouvrir.
Par exemple, avec:
set path+=/usr/lib/python2.5
dans .vim/ftplugin/python.vim
et un code du genre:
#pouet.py
import subprocess
en mettant le curseur sur subprocess, en appuyant sur « gf », vous pouvez ouvrir
/usr/lib/python/subprocess.py
3.
Le même genre de chose est possible avec les tags.
Si vous travaillez sur un gros projet, avec :
ctags -R /chemin/vers/projet -f .vim/tags
set tags+= ~/.vim/tags
vous pourrez utiliser CRTL+] pour sauter vers n'importe quel tag de votre
projet, quelque que soit l'endroit où est ouvert votre vim.
PS: je me souviens plus si j'ai déjà parlé des raccourcis « gf » et « K » mais
se sont des outils assez sympas.
« gf » pour ouvrir un fichier, donc. (Notez que gf est même capable de vous
ouvrir un lien, en allant télécharger le contenu de la page, et en vous le
mettant dans un buffer
« K » pour ouvrir la page de man correspondant à ce qu'il y a sous le curseur.
Dernière modification par Yannick_LM (Le 18/01/2009, à 17:29)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne