Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2007, 10h08   #1
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Par défaut [Vim] Tabulations ?

Bonjour !


Dans la continuité de mon apprentissage à Vim, j'aimerais savoir s'il est possible de définir les tabulations en tant qu'espaces uniquement et d'une taille différentes ? Par défaut c'est une tabulation de 8 et moi je veux 3 !

Question subsidiaire:
Comment ouvrir plusieurs fichiers sur la même fenêtre (que ce soit console ou Gvim, ce que j'utilise mais sans les menus et barre d'outil) ?


Merci
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 11h59   #2
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Bonjour.
Citation:
Envoyé par Franck.H
Dans la continuité de mon apprentissage à Vim, j'aimerais savoir s'il est possible de définir les tabulations en tant qu'espaces uniquement et d'une taille différentes ? Par défaut c'est une tabulation de 8 et moi je veux 3 !
Tape :help tabstop et tu auras une explication complète sur le truc. Pour ma part, j'utilise simplement tabstop=4 dans mon fichier de config perso /home/moi/.vimrc

Citation:
Envoyé par Franck.H
Question subsidiaire:
Comment ouvrir plusieurs fichiers sur la même fenêtre (que ce soit console ou Gvim, ce que j'utilise mais sans les menus et barre d'outil) ?
Pour les ouvrir tous (tous dans le buffer mais un fichier à la fois par fenêtre, on passe au suivant avec :n, au précédent avec :N et au premier avec :rew)
Code :
# vim fichier-un fichier-deux
Les ouvrir tous dans la même fenêtre (split window, option -o pour disposition horizontale et -O pour verticale)
Code :
# vim -o fichier-un fichier-deux
Pour gvim, je ne sais pas

Pour quitter vim, voir ma signature
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 12h30   #3
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Citation:
Envoyé par ripat
Bonjour.
Tape :help tabstop et tu auras une explication complète sur le truc. Pour ma part, j'utilise simplement tabstop=4 dans mon fichier de config perso /home/moi/.vimrc
Peux-tu me montrer un exemple car si je met simplement
dans mon .vimrc j'ai une erreur qui indique:
Citation:
E492: Commande inconnue: tabstop=3

Citation:
Envoyé par ripat
Pour les ouvrir tous (tous dans le buffer mais un fichier à la fois par fenêtre, on passe au suivant avec :n, au précédent avec :N et au premier avec :rew)
Code :
# vim fichier-un fichier-deux
Les ouvrir tous dans la même fenêtre (split window, option -o pour disposition horizontale et -O pour verticale)
Code :
# vim -o fichier-un fichier-deux
En fait je parlais simplement en ouvrant un fichier supplémentaire à partir d'une session de vim (ou Gvim c'est pareil pour info) déjà existante !
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 12h34   #4
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Dans ton .vimrc tu dois ajouter
set tabstop=3

Alors c'est simplement :sp autre-fichier ou, pour un split vertical :vsp autre-fichier
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 17h04   #5
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Citation:
Envoyé par ripat
Dans ton .vimrc tu dois ajouter
set tabstop=3

Alors c'est simplement :sp autre-fichier ou, pour un split vertical :vsp autre-fichier
impec, c'est tout ce que je voulais, encore merci
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 20h05   #6
Expert Confirmé Sénior

 
Avatar de Luc Hermitte
 
Inscription : août 2003
Messages : 4 331
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 4 331
Points : 5 134
Points : 5 134
1- :h expandtab ; :h retab
Par contre attention, une fois \t remplacé par des espaces, la notion de tabulation est perdue à l'intérieur des lignes

2- J'utilise beaucoup des variations de :(v)sp. Il y a :file et :e aussi, mais cela n'ouvre pas de nouvelle fenêtre.
Terminologie vim:
a- un buffer va pouvoir être associé à un fichier
b- une fenêtre est un découpage texte de l'écran. Une fenêtre offrant une vue sur un buffer. Un buffer pouvant être visualisé/édité depuis plusieurs fenêtres
c- Une instance de vim pour tout ça. (ma terninologie à moi).

La variation que j'utilise provient un plugin (#229 -> searchInRuntime) que je maintiens. Je sais qu'il existe existe un concurrent qui semble pas mal. Le gros apport : pas besoin de connaitre l'emplacement du fichier, ni son nom complet.
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média.
Luc Hermitte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 20h29   #7
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Citation:
1- :h expandtab ; :h retab
Par contre attention, une fois \t remplacé par des espaces, la notion de tabulation est perdue à l'intérieur des lignes
Oui en fait c'est ce que je cherchais, pouvoir faire des tabulations mais que ca ne met que de simples espaces, pour cela j'ai ajouté dans mon .vimrc
Code :
1
2
3
set shiftwidth=3
set tabstop=3
set expandtab
Y'a-t-il moyen d'ouvrir plusieurs fichiers sans découper la fenêtre mais dans un buffer différent ? Je sais qu'on peut par exemple (d'après ce que j'ai lu) passer au buffer suivant avec :n et précédent avec :N mais c'est le fait d'en ouvrir plusieurs qui me pose problème
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 21h04   #8
Expert Confirmé Sénior

 
Avatar de Luc Hermitte
 
Inscription : août 2003
Messages : 4 331
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 4 331
Points : 5 134
Points : 5 134
:e / :file ?

Sinon, je te conseille de laisser le &tabstop à 8. Joue avec le &sw tant que tu veux, si tu es en &expandtab, de toutes façons le tabstop ne sera pas énormément utilisé pour tes fichiers. Pour ceux des autres, tu risques de rendre les fichiers illisibles.

Au fait attention, ce réglage (expandtab) est incompatible avec les Makefile.
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média.
Luc Hermitte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 21h15   #9
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Citation:
Envoyé par Luc Hermitte
:e / :file ?
J'y arrive pas, en fait je crois qu'il ferme le fichier en cours pour ouvrir le nouveau, moi ce que je cherche c'est pouvoir avoir plusieurs fichiers ouverts dans la même fenêtre mais par forcément en divisans la fenêtre comme avec :sp !

Citation:
Envoyé par Luc Hermitte
Sinon, je te conseille de laisser le &tabstop à 8. Joue avec le &sw tant que tu veux, si tu es en &expandtab, de toutes façons le tabstop ne sera pas énormément utilisé pour tes fichiers. Pour ceux des autres, tu risques de rendre les fichiers illisibles.
Je ne supporte pas les tabulations aussi grandes dans mes fichiers, faut que ce soit 3, je suis assez maniac de ce point de vue, j'ai "ma" mise en forme de mes source et j'en changerais pas

Citation:
Envoyé par Luc Hermitte
Au fait attention, ce réglage (expandtab) est incompatible avec les Makefile.
Ok merci de l'info
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 21h44   #10
Expert Confirmé Sénior

 
Avatar de Luc Hermitte
 
Inscription : août 2003
Messages : 4 331
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 4 331
Points : 5 134
Points : 5 134
:e ne ferme pas le buffer. À moins d'un réglage des plus étranges.
:buffers te donneras la liste des buffers ouverts.

Par contre, après un :e, ton nouveau buffer est après dans la liste, pour revenir en arrière, il faut un :prev.

Autrement, il y a :bnext et :bprev qui fonctionnent de façon "circulaire". Je les ai mappés sur F12 et F11 (respectivement)


Pour le &tabstop, ce n'est pas ce qui est utilisé pour indenter tes lignes.
L'indentation, c'est &sw. Si tu utilises la touche <tab> pour indenter manuellement, c'est que tu utilises mal vim.

&tabstop, c'est :
- ce qui est utilisé quand tu appuies sur <tab>, cela détermine la prochaine colonne où tu vas insérer (avec un petit &tabstop, tu vas taper plus souvent sur <tab>) ; le décalage selon &sw, c'est <c-d> et <c-t>.
- ce qui est utilisé pour afficher le caractère \t.

Pour le second point, avec &expandtab positionné à vrai, cela n'aura aucun impact sur tes fichiers. Par contre cela en aura sur ceux des autres. Pour les fichiers des autres, il n'y a qu'une seul règle qui marche : utiliser le même réglage qu'eux. Sinon si tu cherches à outrepasser leur fibre artistique, il en résultatera un code illisible. (parce qu'il y aura des mélanges tab/espace, parce qu'il y aura des tabs au milieu des lignes.).

Et puis, avec un simple : "gg=G", le code est vite reformaté selon tes goûts. Au détail que tu sacageras les alignements internes aux lignes.
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média.
Luc Hermitte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2007, 22h11   #11
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
Citation:
Envoyé par Luc Hermitte
:e ne ferme pas le buffer. À moins d'un réglage des plus étranges.
:buffers te donneras la liste des buffers ouverts.

Par contre, après un :e, ton nouveau buffer est après dans la liste, pour revenir en arrière, il faut un :prev.

Autrement, il y a :bnext et :bprev qui fonctionnent de façon "circulaire". Je les ai mappés sur F12 et F11 (respectivement)
Ok, et comment tu les as mappés ? C'est vrai que c'est plus rapide que de taper à chaque fois la commande !

Citation:
Envoyé par Luc Hermitte
Pour le &tabstop, ce n'est pas ce qui est utilisé pour indenter tes lignes.
L'indentation, c'est &sw. Si tu utilises la touche <tab> pour indenter manuellement, c'est que tu utilises mal vim.

&tabstop, c'est :
- ce qui est utilisé quand tu appuies sur <tab>, cela détermine la prochaine colonne où tu vas insérer (avec un petit &tabstop, tu vas taper plus souvent sur <tab>) ; le décalage selon &sw, c'est <c-d> et <c-t>.
- ce qui est utilisé pour afficher le caractère \t.

Pour le second point, avec &expandtab positionné à vrai, cela n'aura aucun impact sur tes fichiers. Par contre cela en aura sur ceux des autres. Pour les fichiers des autres, il n'y a qu'une seul règle qui marche : utiliser le même réglage qu'eux. Sinon si tu cherches à outrepasser leur fibre artistique, il en résultatera un code illisible. (parce qu'il y aura des mélanges tab/espace, parce qu'il y aura des tabs au milieu des lignes.).

Et puis, avec un simple : "gg=G", le code est vite reformaté selon tes goûts. Au détail que tu sacageras les alignements internes aux lignes.
Merci pour les infos car j'avance à tatons pour le moment
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2007, 21h13   #12
Expert Confirmé Sénior

 
Avatar de Luc Hermitte
 
Inscription : août 2003
Messages : 4 331
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 4 331
Points : 5 134
Points : 5 134
Tout simplement.
Code :
1
2
3
4
   noremap <F11> :bprev<CR>
  inoremap <F11> <esc>:bprev<CR>
   noremap <F12> :bnext<CR>
  inoremap <F12> <esc>:bnext<CR>
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média.
Luc Hermitte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2007, 21h18   #13
Rédacteur
 
Avatar de Franck.H
 
Franck HECHT
Inscription : janvier 2004
Messages : 5 575
Détails du profil
Informations personnelles :
Nom : Franck HECHT
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 5 575
Points : 6 991
Points : 6 991
Envoyer un message via MSN à Franck.H
impec, merci pour tout
__________________
Mon Site
Groupe social des amateurs du langage C
Ma bibliothèque de gestion de chaînes de caractères : CStr


"L'imagination est plus importante que le savoir" A. Einstein
Franck.H est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h36.


 
 
 
 
Partenaires

Hébergement Web