OVH Cloud OVH Cloud

[vim] souris et clipboard

19 réponses
Avatar
Nicolas.MICHEL
Bonjour

Question que j'espère simple :

Peut-on activer la souris dans vim via le terminal ?
Ou peut-on activer le copy-paste (ou le select-^clic) dans vim - X11 ?

Merci d'avance :)
--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas

9 réponses

1 2
Avatar
Nicolas.MICHEL
ASM wrote:

Bon, je vais encore un peu tripatouiller vim (en mode normal) pour pas
rester trop bête


Pas sûr que tu aies compris ce que veux dire ce mode normal...
Tu as 2 modes, le mode commmande et le mode édition.
En mode commande, qui est le "mode normal" dans le contexte cité, tu ne
peux rien écrire, les lettres sont des fonctions.

Par exemple :
} pour avancer d'un paragraphe
{ pour reculer d'un paragraphe
w pour avancer d'un mot (w=word)
yw pour copier un mot (yw=yank word)
yy pour copier une ligne
dw pour couper un mot (dwÞlete word)
dd pour couper une ligne
p pour "paste"
u pour undo
/toto pour rechercher la première occurence de toto
n pour rechercher l'occurence suivante (n=next)
:w pour sauver (:w=write)
:q pour quiter (:q=quit)
:wq pour sauver et quiter
:q! pour quiter sans sauver
:s/titi/toto/g pour remplacer dans la ligne titi par toto.
:%s/titi/toto/g pour remplacer dans tout le document titi par toto.
... la liste est longue.

Le mode édition permet d'écrire, et uniquement écrire. Pas de "pomme s"
ou de "pomme z". Pour ça, il faut repasser en mode commande.

Pour passer du mode édition au mode commande : la touche esc.

Pour passer du mode commande au mode édition :

i pour écrire avant le curseur
I pour écrire au début de la ligne
a pour écrire après le curseur
A pour écrire en fin de ligne
o pour écrire dans une nouvelle ligne sous le curseur
O pour écrire dans une nouvelle ligne sur le curseur
r pour remplacer la lettre sous le curseur
R pour écrire en mode "remplacement"
cw pour remplacer le mot qui est sous le curseur
...

et je crois que je vais rester avec BBEdit.
Déjà qu'il est presque trop puissant pour ce que j'ai à faire.


Oui, si tu travailles sur du html, pour faire mieux que bbedit il faut
carrément passer à emacs. Chose que je ne te souhaite pas :)

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas

Avatar
laurent.pertois
Nicolas MICHEL wrote:

Oui, si tu travailles sur du html, pour faire mieux que bbedit il faut
carrément passer à emacs. Chose que je ne te souhaite pas :)


TextMate est bien aussi et est en GUI.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
Yves Lambert
Nicolas MICHEL wrote:



Sous X11, si je sélectionne une commande puis que dans une autre fenêtre
je clic sur la molette, ça marche.
Mais sous X11 dans vim, ça ne marche pas ...


Dans vim il faut être en mode insertion (touche i, ou a), sinon c'est
sûr que ça marche pas.

Je devrais changer de "windows manager" dans X11 ou un truc comme ça ?


Non c'est plus simple. C'est pas le windows manager juste le terminal
emulator.

Ouhlà, ça m'a pas l'air simple ... :-/


Supposons que vous avez ouvert un xterm. Dans xterm aucune fonction
souris ne fonctionne sauf celles héritée de X. Vous lancez vi(m) vous
vous mettez en mode insertion (il y a le mot "INSERTION en bas du
terminal), vous cliquez sur la molette et hop ça marche. Vous prenez un
émulateur de terminal plus convivial au hasard je vous suggère
d'installer "gnome-terminal", "konsole" ou "Terminal" (qui
fonctionneront dans l'environnement graphique de votre choix (même si ce
n'est pas gnome, respectivement kde ou GNUstep) et alors vous pourrez
faire <bouton droit>(menu contextuel) éditer>coller (cas le plus
complexe, Terminal ou <bouton droit>(menu contextuel) coller.
(gnome-terminal ou konsole) mais n'oubliez pas de vous mettre en mode
insertion, autrement tout ce qui précède le premier "i" inclus sera
ignoré ou risque d'induire un comportement inattendu) et ce qui suit
sera collé là où est le curseur (en effet vous ne pouvez pas dans vi
déplacer le curseur avec la souris) Vous pouvez aussi copier mais pas
couper.

--
Sans les signatures ? Vous perdez tout le sel de la conversation de
Monsieur Lambert. (14 avril 77) ©

Avatar
ASM
Nicolas MICHEL wrote:



Sous X11, si je sélectionne une commande puis que dans une autre fenêtre
je clic sur la molette, ça marche.
Mais sous X11 dans vim, ça ne marche pas ...



comment fait-on pour avoir vim dans X11 ?
Mon vim a l'air de fonctionner sous Mac OS X directement.

Quels sont les avantages de fonctionnement sous X11 ?

Dans vim il faut être en mode insertion (touche i, ou a), sinon c'est
sûr que ça marche pas.


oui, ça aide :-)
et la souris est alors complétement opérationnelle
- clic et insertion où on veut
- scroll à la molette
- étoussa (popup-menu)

pas vu en mode 'i' d'indication en bas de fenêtre

Ouhlà, ça m'a pas l'air simple ... :-/



Le pdf de la doc(fr) pèse : 3,6Mo
(572 pages)

Supposons que vous avez ouvert un xterm. Dans xterm aucune fonction
souris ne fonctionne sauf celles héritée de X. Vous lancez vi(m) vous
vous mettez en mode insertion (il y a le mot "INSERTION en bas du
terminal), vous cliquez sur la molette et hop ça marche.



--
Stephane Moriaux et son [moins] vieux Mac


Avatar
Yves Lambert
ASM wrote:

Sous X11, si je sélectionne une commande puis que dans une autre fenêtre
je clic sur la molette, ça marche.
Mais sous X11 dans vim, ça ne marche pas ...



comment fait-on pour avoir vim dans X11 ?


C'était la question de Nicolas

Mon vim a l'air de fonctionner sous Mac OS X directement.


Mac OS X est un unix ceci explique cela

Quels sont les avantages de fonctionnement sous X11 ?


Pour vim en particulier aucun, sinon la compatibilité avec les
applications X11

oui, ça aide :-)
et la souris est alors complétement opérationnelle
- clic et insertion où on veut
- scroll à la molette
- étoussa (popup-menu)


ça veut dire que l'émulateur de terminal de mac OS X permet tout ça...
vim n'y est pour rien (vim est une application mode texte qui fonctionne
donc dans un émulateur de terminal)

pas vu en mode 'i' d'indication en bas de fenêtre


ça dépend de la version de vi(m). S'il n'y a aucune indication, une
astuce pas forcément standard mais qui marche toujours : toujours faire
<esc> avant chaque commande pour éviter d'insérer le texte de la
commande au lieu de l'effectuer.

Le pdf de la doc(fr) pèse : 3,6Mo
(572 pages)


la doc de vim ?



Avatar
ASM
ASM wrote:

Le pdf de la doc(fr) pèse : 3,6Mo
(572 pages)


la doc de vim ?


yeap,
du moins celle qu'un contributeur sur un autre ng m'a envoyée
et ... elle est en anglais :-(

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
Nicolas.MICHEL
Yves Lambert wrote:

Nicolas MICHEL wrote:



Sous X11, si je sélectionne une commande puis que dans une autre fenêtre
je clic sur la molette, ça marche.
Mais sous X11 dans vim, ça ne marche pas ...


Dans vim il faut être en mode insertion (touche i, ou a), sinon c'est
sûr que ça marche pas.


Euh, ...
sous X11 vim, mode insertion ou pas, je ne peux pas copier quoi que ce
soit. Je peux faire du "yank" par contre, mais ça ne sort pas du vim en
question. (Donc pas de yank-paste d'une fenêtre à l'autre)

En revanche le "paste" fonctionne, pour peu que j'aies copié quelque
chose ailleur que dans vim X11

Je devrais changer de "windows manager" dans X11 ou un truc comme ça ?


Non c'est plus simple. C'est pas le windows manager juste le terminal
emulator.

Ouhlà, ça m'a pas l'air simple ... :-/


Supposons que vous avez ouvert un xterm. Dans xterm aucune fonction
souris ne fonctionne sauf celles héritée de X. Vous lancez vi(m) vous
vous mettez en mode insertion (il y a le mot "INSERTION en bas du
terminal), vous cliquez sur la molette et hop ça marche. Vous prenez un
émulateur de terminal plus convivial au hasard je vous suggère
d'installer "gnome-terminal", "konsole" ou "Terminal"


fink install gnome-terminal ...
The following 103 additional packages will be installed: [snip]
T'ain, il est pas bien lui ;-)

Pour konsole, c'est un [virtual package] dans fink, donc il est plus ou
moins installé.

Bon, de toutes façon j'ai trouvé un truc très intéressant :
dans Terminal.app il y a une fonction alt-clic pour déplacer le curseur.
Et ça marche aussi dans vim. Je crois que je vais m'arrêter là, même si
la fonction de surlignage ne semble pas marcher.

Pour stephane, tu parles de Vim.app, alors que Yves parles de vi(m).
Le problème de vi(m) est qu'il n'est pas toujours exécuté avec les
bonnes variables dans le bon environnement. Donc il vas toujours
marcher, mais pas toujours avec toutes les fonctions. On peut donc
supposer que Vim.app est un exemple du meilleur environnment possible et
qu'en cherchant bien on devrait arriver au même niveau en tapant "vim"
dans un terminal.

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


Avatar
ASM

Pour stephane, tu parles de Vim.app, alors que Yves parles de vi(m).


ha ... je parle de ce que je peux ... et je peux peu :-)
(l'est marqué vim dans le sujet du post)

Le problème de vi(m) est qu'il n'est pas toujours exécuté avec les
bonnes variables dans le bon environnement. Donc il vas toujours
marcher, mais pas toujours avec toutes les fonctions. On peut donc
supposer que Vim.app est un exemple du meilleur environnment possible et
qu'en cherchant bien on devrait arriver au même niveau en tapant "vim"
dans un terminal.


Vi, dans le terminal ça fonctionne aussi,
mais on n'a pas les menus.

menus + ou - bien implémentés d'ailleurs :
exemple : chercher/remplacer est assez léger ...
(y a interet à bien connaître les raccourcis pour en faire qque chose)


--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Nicolas.MICHEL
ASM wrote:


Pour stephane, tu parles de Vim.app, alors que Yves parles de vi(m).


ha ... je parle de ce que je peux ... et je peux peu :-)
(l'est marqué vim dans le sujet du post)


Oui, vim et pas Vim.app :)
Note, c'est intéressant aussi.
Le problème est que ça fait vite complexe vu que c'est grosso-modo la
même application qui tourne différement suivant l'environnement où elle
est ... Alors si on ne précise pas on risque fort de ne pas se
comprendre.

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas


1 2