問題タブ [iterm2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - ファイルを開くためのiTerm2「Cmd + Click」がTmuxセッションで機能しない
localhost Tmux サーバーに接続する Tmux セッションで iTerm2 を使用しています。通常の iTerm2 ウィンドウ/タブではCmd + Click
、既定のアプリでファイルを開くために使用できます。ただし、Tmux セッションでは機能しません。デフォルトのアプリでファイルを開く代わりに、iTerm2 は常にデフォルトのブラウザで URL としてファイルを開きます。
誰もこれに対する修正を知っていますか? または、Tmux の構成に何か問題がありますか?
growl - iTerm2 のコマンド ラインから Growl をトリガーできない
iTerm2 ページからリンクされた記事では、次のように述べています。
Growl 通知をトリガーする必要がありますが、そうではありません。
私はたくさんのことをしましたが、それを機能させることはできません。
グロール通知は設定で確実に有効になっています。iTerm2 からの Growl 通知を見たことがないので、リンクが壊れている可能性がありますが、それをデバッグする方法がわかりません。
何か案は?
terminal - iterm2 またはターミナルで 256 色のマッピングを変更できますか?
たとえば、このチャートにある「52」の色をもっと濃い赤に変更したいと思います。
明確にするために、カラーテーマを作成する方法を探しているわけではありません。標準の 256 色にマッピングされている下線の色を再定義したいと考えています。
vim - 私のvimのバックグラウンドの問題
vim エディタで灰色のハイライトを取り除くにはどうすればよいですか? 何も選択していません。これは、VI をロードしたときに表示されるものです。
ありがとうございました。
macos - ANSIエスケープコードを尊重するようにTerminal.appを作成できますか?
TERM
環境変数をxterm
またはに設定すると、Mac OS X の Terminal.app ユーティリティはほとんどの ANSI エスケープ コードを尊重することに気付きましたxterm-256color
。少なくともそれらのエスケープ コードがテキストの色の変更に関係する場合はそうです。
例えば:
プロデュース:
しかし、私は ANSI エスケープ コードによって提供されるカーソル位置操作機能にもっと興味があります。残念ながら、このタイプのコードは、Terminal.app ではあまりうまく機能していないようです。たとえば、私がやりたいことは次のようなものです。
ESC[s
現在のカーソル位置を保存しESC[u
、最後に保存した位置を復元します。上記のスクリプトを実行した結果、カーソルの位置が変更された後、「G'day」の 5 文字が「Hello」の 5 文字を上書きし、次のようになると予想されます。
実際、これはまさに iTerm2.app、ConEmu for Windows (MinGW または MSYS Git の bash.exe のコピーを実行) などで得られるものです。
Terminal.app が単にこれらのコードをサポートしていないことを除けば、これには理由がありますか? この機能を有効にする方法はありますか? 何か設定が間違っている可能性はありますか?私のTERM設定?他の何か?
私はどこでも検索してきましたが、特に Terminal.app に関連するものは見つかりませんでした。ANSI エスケープ コードを介して色付きのテキストをサポートしているのに、まったく同じテクノロジを使用してカーソルの再配置をサポートしていないのは奇妙だと思います。これは、かなり明確に定義された標準のかなり恣意的なサブセットのようです。それが、Terminal.app のせいではなく、何かが間違っていると私が考える理由です...しかし、単にそれができない可能性があると思います。(おそらく、そもそも iTerm2 が存在する理由の 1 つですか?)
誰かがこの状況に光を当てることができれば、それは大歓迎です!
アップデート
それで、私はもう少し読んで実験をして、次の奇妙なことを発見しました:
以下の nm の回答を調べた後、返されたバイトをファイルに書き出してtput
、通常の ANSI 命令とどのように異なるかを確認することにしました。
シーケンスESC
7
とを送信すると、すべてが期待どおりに機能するように見えますが、 と を送信するとESC
8
そうではありません。これは、ANSI SCP コードと RCP コードのより典型的な表現であると理解しています (それぞれ、カーソル位置の保存とカーソル位置の復元)。 )。ASCII 10 進文字またはエスケープされた 8 進バイト表現の隣に配置することは不可能であるため ( != )、依存を避けるために代わりに環境変数を使用できます。ESC
[s
ESC
[u
7
8
\0337
ESC
tput
これがなぜなのかわかりません。ESC
7
およびESC
8
が ANSI SCP および RCP の何らかの独自のコードまたはカスタム コードであり、端末の実装ごとに異なる可能性がある場合、最初に が作成された理由を説明できますtput
。
残念ながら、tput
bash 環境だけで作業しているわけではないため、現在取り組んでいるものには使用できません。生のバイトが端末ごとにどのように解釈されるか、より具体的には、Terminal.app に、私が試した他のすべての端末エミュレータと同じ ANSI エスケープ コードを尊重させる方法があるかどうかについて、もっと興味があります。で問題ないようです。それは可能ですか?この時点で、そうではないかもしれないと思い始めていますが、それは問題ありませんが、確実に知り、おそらくその理由も知ることができればうれしいです.