Jak zatrzymać terminal przed owijaniem linii

25

Czy istnieje sposób, aby powiedzieć terminalowi, aby nie owijał długich linii. Chciałbym zobaczyć linię w tym samym miejscu bez zawijania do następnej. Nie dbam o to, czy nie widzę końca linii tak długo, jak długo linia pozostaje w jednym. Poziomy zwój również byłby do tego odpowiedni, ale w tej chwili potrzebuję usunięcia opakowania.

Luis Alvarado
źródło
powiązane unix.stackexchange.com/questions/20493/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

30

To zależy od używanej aplikacji.

Jeśli przeglądasz dane wyjściowe pliku lub polecenia less, przekazanie -Sopcji (aka --chop-long-lines) spowoduje odcięcie wyniku zamiast zawijania do nowej linii. Możesz użyć poziomych klawiszy strzałek, aby wyświetlić resztę linii.

W przypadku ogólnych aplikacji nieekranowych możesz wyłączyć zawijanie linii, wysyłając odpowiednią sekwencję zmiany znaczenia do terminala:

tput rmam

Ten tryb można anulować za pomocą podobnego wyjścia:

tput smam

Szczegółowe informacje na temat dostosowywania zachowania kilku innych narzędzi wiersza poleceń można znaleźć tutaj:

http://tomayko.com/writings/StupidShellTricks

James Henstridge
źródło
Niezły link, choć nie spodziewałem się, że coś takiego zmieni zachowanie. +1.
Luis Alvarado
7
Bardzo interesujące. Próbowałem tego z terminalem gnome i to trochę działa, ale powoduje również odcięcie wyjścia. Wolę, aby terminal „udawał”, że ma nieskończoną szerokość linii, więc po prostu kontynuowałbym pisanie linii, a następnie mogłem retrospektywnie zobaczyć resztę linii, zmieniając rozmiar lub przewijając w oknie terminala. czy to możliwe?
wim
Czy to się automatycznie resetuje, gdy zostanie wykonane nowe bash / sh? Np. Czy to jest, czy nie jest; trwały?
ThorSummoner,
Jest to konfiguracja środowiska wykonawczego terminala, a nie konfiguracja użytkownika. Nie będzie więc przenoszony do nowej instancji terminala, ale powinien przejść do nowych rzeczy działających w terminalu, pod warunkiem, że zachowanie nie zostanie zresetowane.
James Henstridge
@JamesHenstridge Czy jest jakiś sposób na włączenie zawijania? Nie lubię przesuwać się w lewo i prawo, aby przeczytać resztę tekstu w trybie on-line.
Shayan
3

Aby wyłączyć zawijanie linii w terminalu bardziej ogólnie, możesz użyć:

setterm -linewrap off

Turgs
źródło