1

Lu,
Bon c est un peu HS, mais je ne savais pas ou le mettre ;(
Savez vous s il est possible sous gvim d avoir le meme comportement que xemacs ou un terminal lorsque l on veut ouvrir un fichier.
Bon je m explique, sous la console, tab permet d avoir le nom complet a partir des premieres lettres, de meme sous xemacs. Je suis repasse a vi, et c est une option qui me manque enormement. Quand je fait :e et / <TAB> j ai rien etc...

Qqn connait une solution?
merci

2

1/ fais :help pour accéder à l'aide (ça tu le sais peut-être déjà mais bon ^^)

2/ il me semble que par défaut vim démarre en mode de compatibilité vi (ce qui est stupide mais bon). Pour éviter ça tu peux le lancer avec l'option -N, mais si tu veux que ce soit systématique je crois que le plus simple c'est de mettre dans ton fichier vimrc (/etc/vimrc ou bien ~/.vimrc je crois) la ligne suivante :
set nocompatible

Enfin je suis pas très sûr, le meilleur moyen de savoir comment faire c'est : :help compatible

Edit : en fait la complétion marche même quand je le lance en mode compatibilité donc ça doit pas être ça ^^. Donc je sais pas en fait cheeky
Edit 2 : :help cmdline-completion hehe
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

3

Bon en fait je suis sous gvim, CTRl + D marche bien donc le mode est active je pense (je vois la liste des fichier)
En revanche Tab me met ^I :/
Bon je vais voir ca de plus pret

4

L'option 'wildchar' vaut <Tab> par défaut (ou CTRL-E en mode compatible Vi)
tu as essayé Ctrl-E ?
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

5

Bon j ai fait mon boulet je sors (et je lis la doc!)
thx

6

Bon je vais profiter de ce topic pour poser toutes mes question sur VI.
J ai lu la partie buffer du vi book, mais il y a qqc que je ne saisie pas trop:
je fait:
$gvim lol1.c lol2.c lol3.c &
:sbuffer lol2.c
je modifie lol2.c et j enregistre pas.
puis
:buffer lol3.c
-> Erreur je suis obliger d enregistrer le buffer lol2.c (ce qui est plus que chian... sous emacs il n y a pas besoin:/). Existe t il une solution autre que de definir une autre fonction?

7

:set bufhidden=hide

(ça autorise le fait d'avoir des fichiers ouverts par vim mais pas pour autant visibles dans une fenêtre)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

ok merci

9

Bon alors autres probleme...
si je fait un gD pour aller a la declaration de la fonction, vi me revoit sur le prototype mis en commentaire (regle a respecter dans la boite ou je suis..) ce qui rend cette fonction completement obsolete :/ une idee?

10

Edited_755

11

Disons que je choisirai quand je connaitrais bien les 2.

12

pourquoi aller chez ton voisin à pieds si tu peux y aller en camion ?

13

Ben vim a un certain nombre d'avantages sur emacs ; par exemple, c'est un logiciel beaucoup moins lourd qui notamment met incomparablement moins de temps à démarrer (suivant l'utilisation que tu en fais tu peux t'en foutre mais ça peut aussi être un gros avantage), et il est pour l'essentiel en français, y compris une bonne partie de l'aide. Sinon les commandes au clavier sont au moins aussi difficiles à mémoriser que sous emacs (donc quand tu connais celles d'emacs et que tu veux passer à vim ben tu dois réapprendre), mais elles mettent toujours en jeu beaucoup moins d'appuis de touches, donc si tu les connais bien tu perds moins de temps. Etc.
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

14

Edited_756

15

Lol ca va partir en troll ca wink

Non mais un point important c est de connaitre plusieurs editeur. Exemple mon bosse ne connait que xemacs du coup quand il veut modifier qqc sur mon pc, il est oblige d ouvrir xemacs et les autres fichiers.. alors que si il connaissait vi ca lui prendrait 2 sec...

Pour les touches pour le moment je trouve vi plus chian, surtout qu il faut toujours basculer entre les modes pour faire des copier colle etc... alors que sous xemacs ce sont des touches combo (se font en un geste 1 main pour beaucoup...)

Enfin on vera quand je serai un peu plus habitue

16

JackosKing :
Bon alors autres probleme...
si je fait un gD pour aller a la declaration de la fonction, vi me revoit sur le prototype mis en commentaire (regle a respecter dans la boite ou je suis..) ce qui rend cette fonction completement obsolete :/ une idee?

Oui, ctags : en gros ça construit une base de donnée des définitions de fonctions/variables, ce qui te permet après ça quand tu as ton curseur sur le nom d'une variable de faire Ctrl-] (ou Ctrl-$ sur clavier azerty) pour aller à la définition smile
Bon malheureusement c'est loin d'être aussi fiable que Visual Studio dans les cas un peu délicats (c'est pas un vrai parseur C), mais de toute façon je crois pas qu'il y ait mieux en libre sad (à moins de vouloir utiliser Eclipse sick)

En gros tu fais 'ctags *.c' pour (re)construire la base de donnée, et hop c'est fini ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

17

Orion_ :
mais en mode texte c pas top :/

i.e. ? trigni
(sclair que ça va partir en troll grin)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

18

ok merci pour ctag ! wink

Sinon non j aimerai pas que ca parte en troll, mais j aimerai bien que certains arguments soient justifies:
Sinon les commandes au clavier sont au moins aussi difficiles à mémoriser que sous emacs (donc quand tu connais celles d'emacs et que tu veux passer à vim ben tu dois réapprendre), mais elles mettent toujours en jeu beaucoup moins d'appuis de touches, donc si tu les connais bien tu perds moins de temps. Etc.
>> je suis d accord pour le plus lourd a memoriser, mais mettent en place moins de touche la par contre j aurai dit non. Exemple si je change de buffer:
(CTRL+X+B) (nom du buffer) (ALT+G) 12 -> 5 touches + nom du buffer
ESC : B (nom du buffer) 12 G A-> 5 touches + nom du buffer
Mais pour mois sous xemacs c est beaucoup plus rapide car je considere le CTRL X B comme un seul acces clavier (on peut les faire en meme temps sans deplacer les mains) alors que le ESC : B sont succesifs :/
Apres si qqn peut me donner des exemples ou on voit une difference entre vi et xemacs je suis preneur

19

:noremap! <c-x>b <esc>:b<space>
que tu peux mettre dans ton .vimrc

(par contre après t'es pas en mode insertion, mais a priori c'est nettement plus efficace pour naviguer d'être en mode normal qu'en mode insertion ^^)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

20

Lol ca va partir en troll ca wink
Meuh non. Perso ma philosophie c'est plutôt "right tool for the right job" ^^

21

Bon je dois vraiment pas etre doue ou avoir une mauvaise configuration. J ai lu dans la doc:
*24.1*	Making corrections

The <BS> key was already mentioned.  It deletes the character just before the
cursor.  The <Del> key does the same for the character under (after) the
cursor.
   When you typed a whole word wrong, use CTRL-W:

	The horse had fallen to the sky 
				       CTRL-W
	The horse had fallen to the 

If you really messed up a line and want to start over, use CTRL-U to delete
it.  This keeps the text after the cursor and the indent.  Only the text from
the first non-blank to the cursor is deleted.  With the cursor on the "f" of
"fallen" in the next line pressing CTRL-U does this:

	The horse had fallen to the 
		      CTRL-U
	fallen to the 

When you spot a mistake a few words back, you need to move the cursor there to
correct it.  For example, you typed this:

	The horse had follen to the ground 

You need to change "follen" to "fallen".  With the cursor at the end, you
would type this to correct it:

et j ai essaye CTRL W ca marche pas (mode insert et normal:/)
qqn peut m aider pls

22

a priori deux possibilités :
* :set compatible? te répond quoi ?
* :map! <c-w> te répond quoi ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

23

:set compatible?
-> nocompatible
:map! <c-w>
-> No mapping found

Donc en gros pas de mapping pour cette touche!!!
comment se fait il, je suis sous gvim et j ai juste un fichier de config de rien du tout:
:set shiftwidth=2
:set cindent
:set bufhidden=hide
:syntax on
:set ts=2
:set number

24

ok, je viens d'essayer avec ta config et effectivement il faut rajouter

:set backspace=indent,eol,start

(sinon tu ne peux pas supprimer avant l'endroit où tu es entré en mode insertion)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

25

ok merci ca marche bien mieux maintenant wink (vi c est bien quand on sait le configurer lol)

26

oui pour avoir un truc utilisable c'est presque indispensable de récupérer un fichier de config existant, soit sur internet soit en copiant le .vimrc par défaut fourni avec vim... (chez moi c'est /usr/share/vim/vim64/vimrc_example.vim)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

27

heu juste une question, je voudrai faire 2 remplacement par expression régulière dans plusieurs fichier.
Ok je pourai utiliser perl etc... mais je me demandais si c'etait possible de le faire avec VI (du genre je met l expression et la liste des fichiers)?
merki

28

Oui, il faut que ta liste de fichiers soit la liste des fichiers passés en ligne de commande à vim, ou bien que tu fasses ":arg fichier1 fichier2 ...", et ensuite :
:argdo %s/Jackos/King/g | %s/:)/vnr/g | w

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

29

ok merci, mais donc vi doit etre lancé ;(

30

ben non...

vim fichier1 fichier2 -c 'argdo %s/Jackos/King/g | %s/:)/vnr/g | w' -c quit

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)