Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

sinon j'étais juste venus présenter un map auquel je viens de penser et que je trouve idéal smile

map <C-Left> gT
map <C-Right> gt

pour ceux qui utilisent les tabs bien sur smile
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 smile

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 smile


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 wink, et c'est gt et gT pour passer d'un onglet à l'autre normalement, sauf à utiliser des map comme les miens plus haut smile.

Hors ligne

#157 Le 12/10/2008, à 21:50

\\Ouranos//

Re : Liste de Commandes/Fonctions utile sous VIM

tshirtman a écrit :

oui, il y a quelques pages wink, et c'est gt et gT pour passer d'un onglet à l'autre normalement, sauf à utiliser des map comme les miens plus haut smile.

Perso j'utilise :tabnext ou :tabprevious, mais merci wink


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 smile 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 tongue )

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 smile

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 wink

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 smile, 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. wink

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 lol 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 lol ) 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

tshirtman a écrit :

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 smile (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

philpep-tlse a écrit :
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 smile

Mais comment le mettre à l'endroit ou est le curseur ?

.!ls

Ca fonctionne sous ed aussi wink


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


ArcoLinuxD Awesome
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

tshirtman a écrit :

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 smile (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 smile

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 smile
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 wink

« 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