Những gì bạn đang hỏi là một thiết bị đầu cuối có chiều rộng vô hạn, một phần trong đó đang được hiển thị. Đó không phải là cách các thiết bị đầu cuối truyền thống hoạt động cũng như cách các ứng dụng mong đợi chúng hoạt động.
Chẳng hạn, nếu thiết bị đầu cuối có chiều rộng vô hạn, các ứng dụng trực quan sẽ hoạt động như thế nào khi chúng muốn hiển thị một cái gì đó ở giữa màn hình?
Một cái gì đó tiếp cận mà bạn có thể làm là sử dụng GNU screen
(bạn được cho là có thể đính kèm một phiên màn hình từ một số thiết bị đầu cuối có kích thước khác nhau để màn hình biết cách hiển thị một cửa sổ nhỏ của thiết bị đầu cuối lớn hơn) và đặt screen
chiều rộng cửa sổ thành một cái gì đó rất lớn và sau đó lừa các ứng dụng trực quan nghĩ rằng chiều rộng màn hình là bản gốc.
Thích (trong screen
)
c=$COLUMNS # assuming your shell has that variable
screen -X width -w 1000
stty cols "$c"
Một số ứng dụng trực quan sẽ hoạt động tốt, một số ứng dụng không tốt (để cài đặt khi chúng định vị tương đối hoặc khi chúng dựa vào gói đầu cuối). vim
Có vẻ hoạt động tốt.
Sau đó, để di chuyển và sao chép dán dữ liệu, lựa chọn duy nhất là sử dụng screen
's bản sao chế độ. ( <prefix>]
) và di chuyển xung quanh con trỏ (xem info -f screen -n Movement
để di chuyển xung quanh trong chế độ sao chép ).
tmux
có thể có khả năng tương tự.
Trình terminator
giả lập thiết bị đầu cuối này (dựa trên java), không phải terminator
là đi kèm với ubfox cũng làm điều đó với chiều rộng thiết bị đầu cuối vô hạn:
- dòng không bao giờ được bọc
- các ứng dụng trực quan được cho biết chiều rộng màn hình là bất cứ thứ gì phù hợp trong cửa sổ, không phải vô cực.
- nó cũng sẽ hoạt động tốt hơn
screen
giải pháp dựa trên ở trên rằng mục terminfo của nó tuyên bố rằng nó không thực hiện ngắt dòng để các ứng dụng nhận thức được điều đó và BS ở đầu dòng không di chuyển đến cuối dòng trước đó.
ls
vàmcedit
hoạt động tốt trong đó, vì chiều rộng màn hình và chiều rộng bộ đệm được xử lý riêng.