Vim / Cygwin: nessuna interruzione di riga in:! produzione


3

Sto usando Vim tramite MinTTY sotto Cygwin. Quando emetto un comando come

:!ls -la

l'output visualizzato non mostra correttamente le newline. Preferisce semplicemente saltare alla colonna virtuale della riga successiva, dove l'output precedente è terminato, in questo modo:

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

Qualcuno ha un'idea, che cosa provoca questo comportamento? Alcune impostazioni:

:set sh?
sh=/bin/bash

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

non sono mai stati toccati da me. Vim è stato avviato con '-X -T xterm-256color', ma sembra che non abbia un ruolo.

Risposte:


1

Mi sembra che sia a causa delle differenze di fine linea. Vim è l'impostazione predefinita per le terminazioni di linea CR / LF in stile DOS. Ma quando esegui i comandi, stai vedendo solo la LF.

So che questo non ha alcun senso.

Ma sarei interessato a vedere cosa succede se tu :set shellpipe?=2>&1\|unix2dos\|tee e poi :!ls -la


Sono sotto Linux in questo momento, ma lo verificherò non appena tornerò su una macchina Windows.
Boldewyn

0

Ho visto qualcosa di simile quando Vim sta cercando di fare un rientro intelligente. Prova a usare il buffer paste :!a perché questo non fa indentazione intelligente.


Hm. Sembra essere più come un problema di MinTTY + screen + bash. Ho provato su Debian con la stessa versione di .vimrc e vim, e tutto funziona bene. D'altra parte, anche il comandante di mezzanotte ha questo strano comportamento quando emetto un ls -la Là.
Boldewyn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.