screen + vim - vimファイル名を開くときに画面ウィンドウ名を自動的に設定する方法はありますか?

screen + vim - vimファイル名を開くときに画面ウィンドウ名を自動的に設定する方法はありますか?

ターミナルの下部にあるタブにほぼ似ている開いた画面ウィンドウを示す非常にクールな画面rcファイルがあります。現在のウィンドウ名は私のプロンプトに従って指定されますが、これはあまり役に立ちません。現在ウィンドウに開いているvimセッションのファイル名に基づいてウィンドウ名を自動的に指定する方法はありますか?可能であれば、これが最高のマルチウィンドウエディタになると思います。

答え1

設定titleオプション。これはxtermなどではデフォルトでは機能しますが、画面では機能しません。このトリックは動作します:

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

preexec別のアプローチは、ウィンドウタイトルを実行コマンドとして設定する関数をシェルに書き込むことです。 Zshはpreexecこれを基本的にサポートしていますバッシュもできます。以下はzshの例です。

答え2

私はハッカー方式を使用しました。 tcshを使用して.cshrcに次のものを入れました。

# 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'

ヘッダーが必要なときにvimの代わりにvisを使用することを覚えている限り動作します。

私も追加しました

set notitle

vimが実行中のウィンドウ画面のタイトルを設定しないようにするには、my .vimrcに追加してください。

関連情報