Vim / Cygwin: Pas de sauts de ligne dans:! sortie


3

J'utilise Vim via MinTTY sous Cygwin. Quand je lance une commande comme

:!ls -la

la sortie affichée ne montre pas correctement les nouvelles lignes. Cela saute plutôt à la colonne virtuelle de la ligne suivante, où se terminait la sortie précédente, comme ceci:

This is line 1
              This is line 2
                            This line wraps
around
      Line 4 starts here

Quelqu'un a-t-il une idée de la cause de ce comportement? Quelques réglages:

:set sh?
sh=/bin/bash

:set shellpipe?
shellpipe=2>&1| tee

ils n'ont jamais été touchés par moi. Vim est lancé avec '-X -T xterm-256color', mais cela ne semble pas jouer de rôle.

Réponses:


1

Il me semble que c'est à cause des différences de fin de ligne. Vim utilise par défaut les fins de ligne CR / LF de style DOS. Mais lorsque vous exécutez les commandes, vous ne voyez que le LF.

Je sais que cela n'a aucun sens.

Mais je serais intéressé de voir ce qui se passe si vous :set shellpipe?=2>&1\|unix2dos\|teeet ensuite:!ls -la


Je suis sous Linux en ce moment, mais je le testerai dès que je serai de retour sur une machine Windows.
Boldewyn

0

J'ai vu quelque chose de similaire lorsque vim tente de faire une mise en retrait intelligente. Essayez d’utiliser le tampon de collage :!acar cela n’entraîne pas d’indentation intelligente.


Hm. Cela ressemble plus à un problème MinTTY + écran + bash. J'ai testé sous Debian avec les mêmes versions .vimrc et vim, et tout fonctionne bien. D'un autre côté, même le commandant de minuit a ce comportement étrange lorsque j'en publie un ls -la.
Boldewyn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.