Gnu screenで作成した新しいウィンドウに意味のある名前を設定しましたが、「cd」またはvimを開くと、たとえばその名前が「pwd」に変更されます。画面がタイトルを変更しないようにする方法はありますか? tmuxにそのような設定があることは知っていますが、何らかの理由で、複数の垂直分割があるtmuxではvimのスクロールが非常に遅いため、それを放棄する必要がありました(tmux)。アイデアは大歓迎です!
gnu screenには、この機能をオフにする方法がないようです(いずれの場合も、これを選択的に適用します)。これを修正する方法は、Shellとvimの動作を変更することです。
Prompt_COMMAND
特殊変数で実行します。 XTerm Title How-To には、そのトピックに関する一般的な情報があります。 ターミナルウィンドウのタイトルを現在のディレクトリに設定します 質問にも役立つ情報があります。title
モード/設定を使用してこれを行います。 set notitle
に.vimrc
が含まれている場合は、それで十分です。私にとって問題だった/ etc/screenrcの行は
ハードステータス文字列 "[画面%n%?:%t%?]%h"
それが特定されたら、システムファイルを編集する必要はありませんでした。画面のタイトル変更を回避できます
CTRL-A:hardstatusは常に無視します
現在のウィンドウの場合、または将来のウィンドウの場合は〜/ .screenrcに以下を追加します。
hardstatusは常に無視します
(bashプロンプトからターミナルウィンドウのタブとウィンドウタイトルを設定して、有用な情報を含めましたが、画面が役に立ちませんでした。)
Centosでは、これはデフォルトの/ etc/bashrcによって実行される/ etc/sysconfig/bash-Prompt-screenを作成することで修正されます。もし、あんたが
touch /etc/sysconfig/bash-Prompt-screen
chmod +x /etc/sysconfig/bash-Prompt-screen
exec bash
次に、実行されますが、(空であるため)何も実行せず、ウィンドウのタイトルはそのままにしておきます。 (現在のシェルでこれをトリガーするためにbashを再起動するexec bashに注意してください。)
hardstatus alwaysignore私には機能しませんでした
あなたはどんな「窓」について話しているのですか?
Screenと、おそらくShellとvimは、これらのことのために用語エスケープコードを端末に送信します。一部の端末エミュレーターは、それらすべてをキャッチするのがあまり得意ではなく、本質的にfubarになります。しかし、私がそれが起こるのを見たので、それは何年も経っています。
Screenでは、ウィンドウのタイトルをtitle <title>
で設定し、プログラムで(キーまたは特別なESCシーケンスにバインドすることにより)設定できます。最終的に、これらのプログラムは端末にシーケンスを送信します。 Prompt_COMMAND
環境変数を使用して、たとえばcwdに応じてこれを動的に変更できます。これが私のシステムの/ etc/bashrcによって設定されているようです。
printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
タイトルを完全になくすには、(少なくとも)次の3つのことを行う必要があります。
~/.profile
がロードされた後の/etc/bashrc
でPrompt_COMMANDの設定を解除します。title
コマンドを使用します。 Ctrl-A
、次に:
、次にtitle ""<CR>
を押します。これは.screenrc
でも設定できます。シェルからnullシーケンスを送信します。
printf "\033]0;\033\\"
他の何か(vim
など)が設定している場合は、さらに調査する必要があります。
スクリーンのマニュアルページには、タイトルに関するセクションがあり、そこで詳細に説明されています。
関連して、ウィンドウタイトルを設定した後(そしてPrompt_COMMANDが設定されておらず、PS1に問題がないことを確認した後)、一部のシステムで画面を起動するとウィンドウタイトルが変更されることがわかりました。多くの実験とフラストレーションの後、私はついに、この問題が発生していないシステムからスクリーンパッケージのインストール済みファイル/ etc/screenrcを取得し、それを使用して問題が発生したシステム上の同じファイルを置き換えることで、問題。 screenはウィンドウタイトルを変更しなくなりました。正確には、/ etc/screenrcのどの行が実行しているのかわかりません。 2つのscreenrcの違いは非常に大きいので、わざわざ調べようとはしませんでした。