screen + vim - Có cách nào để tự động đặt tên cửa sổ màn hình để mở tên tệp vim không?


10

Tôi có một tệp RC màn hình khá đẹp cho tôi thấy các cửa sổ màn hình mở gần giống như các tab ở dưới cùng của thiết bị đầu cuối. Hiện tại các cửa sổ được đặt tên theo lời nhắc của tôi không hữu ích lắm. Có cách nào để tự động đặt tên cho các cửa sổ dựa trên tên tệp của phiên vim đang mở trong cửa sổ không? Tôi nghĩ rằng điều này sẽ làm cho một trình soạn thảo đa cửa sổ tối cao nếu có thể.

Câu trả lời:


5

Đặt titletùy chọn . Điều này hoạt động ra khỏi hộp cho tôi trong xterm và tương tự nhưng không phải trong màn hình. Mẹo này hoạt động :

if &term == "screen"
  set t_ts="\ek"
  set t_fs="\e\\"
  set title
endif

Một cách tiếp cận khác là viết một preexechàm trong shell của bạn để đặt tiêu đề cửa sổ cho lệnh đang được chạy. Zsh hỗ trợ preexectự nhiên và bash cũng có thể làm điều đó . Đây là một ví dụ zsh .


Chào. Điều đó không làm việc cho tôi nhưng tôi nghĩ đó là do cách tập tin .screenrc của tôi được thiết lập. 1 termcapinfo xterm * ti @: te @ 2 hardstatus alwayslastline 3 chuỗi hardstatus '% {gk} [% {G}% H% {g}] [% =% {wk}%?% - Lw%?% {= B kR} (% {W}% n *% f% t%? (% u)%?% {= b kR})% {= kw}%?% + Lw%?%?% =% {g}] [% {Y}% l% {g}]% {= b C} [% m /% d% c]% {W} '
dùng4785

@ user4785: Nếu lời nhắc của bạn có thể đặt tiêu đề Cửa sổ màn hình, Vim cũng có thể làm điều đó. Lời nhắc của bạn là gì? .vimrcĐoạn trích của tôi có hoạt động mà không có bạn .screenrckhông?
Gilles 'SO- ngừng trở nên xấu xa'

1

Tôi đã sử dụng một chút cách thức hackier: Sử dụng tcsh Tôi đặt phần sau vào .cshrc của tôi

# escape sequence to set the screen title
alias stitle 'echo -n "^[k\!*^[\\"'
# shorthand to set the screen title to the hostname
alias H stitle `hostname -s`
# shorthand to set the screen title to the filename, launch vim, and then set it back
alias vis 'stitle \!* ; vim \!* ; H'

Miễn là bạn nhớ sử dụng vis thay vì vim khi bạn muốn tiêu đề ở đó nó hoạt động.

Tôi cũng đã thêm

set notitle

đến .vimrc của tôi để ngăn vim đặt tiêu đề của màn hình cửa sổ đang chạy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.