サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC25
qiita.com/kefir_
RLogin, XTerm, iTerm2, TeraTerm, mltermなど、VT class 4の左右マージン機能(DECLRMM/DECSLRM)に対応した端末では、vimの出力コードであるt_CVを使って、縦分割スクロールを速くすることが可能です。 t_CVはvimに大昔から入っていたようですが、はたしてVT端末を意識して入ったものなのかどうか、ぐぐってみても経緯がよくわかりませんでしたし、ヘルプにも端末での設定方法は書かれていません。 少なくとも現代のVT互換端末でこれを使うためのノウハウをちゃんと説明しているところは@ttdodaさんによる解説くらいでした。 vimでの縦分割時のスクロール速度改善 ここでは、上記のページで例示されている設定を改良し、左右スクロールマージン対応端末の自動判定機能をつけたバージョンを提案します。 左右マージン機能を持たない端末でこの設定をしても
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事はVim Advent Calendar 2014の15日目の記事です。 14日目は haya14busa さんのincsearch.vimでVimの検索体験をリッチにするだったので、incsearch.vim入れてみたところかなり快適でした。しばらく使ってみます。 さてこの前あるvimmerとtwitterで話した時に、term.cという、端末との雑多なやりとりをする部分をneovimが捨てるという話を耳にしまして、私はneovimのことは全然知らないんですが、知らないなりにそれは非常にもったいないなあ、とか勝手に言ってたんで
Vimで画像を見る(DRCSのSIXEL拡張の話) ビデオ端末で画像を表現する試みはそこそこ古くから行われていたようで、 1970年代後半には世界各地でビデオテックスサービスが開始し、ベクタ図形やラスタ画像、 モザイク素片などで画像を表現するひととおりの方式が出揃っていました。 この流れの中でDEC社はVTシリーズに2つの機能を搭載しました。 SIXELとDRCS(Dinamically Redifined Character Set)です。 SIXELとDRCSについて SIXELはラスタ画像を出力する方式で、写真などの繊細な画像を表現するのに向いています。 カラーに対応した仕様もあり表現力は高いので、それ単体として使用するのであればとても便利なものなのですが、 ひとたびテキストと組み合わせて画像をレイアウトするプログラムを書こうとすると、再描画の挙動で詰んだりして非常にむずかしいです。
ここのところMinEdの端末判定・エンコーディング判定について調べているんですが、前提となる事項としてDA2(Secondary Device Attributes, 第2端末特性応答)を説明する必要が出てきました。そこでDA2についてのおおざっぱな解説を書いてみたところ少し長くなってしまうようなので、この話題を独立したポストとして分けてみます。これ自体の内容はあまり面白くないと思います。 またここではクエリ・応答という言葉を普通に使っていきますが、端末エミュレーションの文脈でクエリというと、アプリケーションから端末に対する特殊な問い合わせシーケンスをTTYデバイスの出力側に送ることを指します。それに対する端末からの応答(報告)は入力側からキーインプットと同じ要領で入ってきます。 具体的な応答の見方はTrachetのチュートリアルでも若干触れたので興味があれば読んでみてください。 DA2の
などとしても端末背景色を得ることができます。 Vim以外での使用例 この背景色取得シーケンスを実際に使用しているアプリケーションとしては、GNU EmacsやMinEdが挙げられます。 両者とも必ず出しているというわけではなく、端末特性応答などと絡めた複雑な条件でこの応答をつかうかどうかを決めています。 Xterm(ただしパッチレベル242以上279以下)上でのEmacs24.2や、mlterm(3.1.5以上)上でのMinEd2011.22、といった組み合わせでは、起動時にこの背景色の問い合わせ&応答のやりとりをばっちり観察することができます。 興味があればTrachetを利用して確認してみましょう。Trachetのチュートリアルはこちら。 backgroundオプションを動的に設定する さて、Vimにおいてはこの素敵なフィーチャーをどのように活かしていけばよいか。まず思いついたのは、b
GNU Screenには、プログラムが出力した特定の制御シーケンスを自動的にscreenコマンドとして再解釈し実行してしまうという、とても危険でありながらも魅力的な設定があります。実際にはこれを知っていてもあまり役に立ちませんが、なにかまじめに取り組んでいるふりをしながら暇を潰したりするにはちょうどよい機能かもしれません。 有効化 この設定は以下のscreenコマンドで有効化されます。 一見なにも変わったようにはみえませんが、これを有効化したら、あなたは端末へ出力されるシーケンスを適切に予測し続けなければいけません。 もし制御に失敗して出力に予測不可能な外部データが紛れ込もうものなら、SSH鍵などをぶっこぬかれたり端末を乗っ取られたりしてもおかしくない状態です。やばいですね。 使い方 遊び方の幅は無限大ですが、ここでは端末への安全な出力が特に(あえて?)考慮されていないように見受けられるプ
はじめに このポストでは、端末(VT互換端末)でおこる諸問題の診断、追跡を可能にするツール、Trachetの使い方をざっと説明してみようと思います。 じつのところ今回は第一・第二端末特性応答(DA1/DA2)の話を書こうとしていたのですが、やはり一般的にはあまり実体が知覚されていないものの話になってくるあたりからもうピンとこないどころか雲を掴むような印象になりがちで、つまり筆力の限界を感じざるを得なかったので、先にこれを紹介しておけばクエリ・応答シーケンスの話題をいくらか具体的なものとして感じてもらうことが可能なのではないか、と考えたのが、この話を書くきっかけです。 Trachetの概要 Trachetは特に、キーボードやマウス入力周りの不具合、描画周りがおかしくなる現象など、入出力を追跡・監視して対応する必要がある諸問題に対して、アプリケーションと端末の間の具体的な会話を見える化し、原因
はじめに 今回もまたxterm由来のクリップボードインテグレーション(PASTE64/OSC52)の話題なんですが、先日iTerm2がサポートしたことで、ほんのちょっとだけ認知度が上がったようですね。よかったです。 PASTE64/OSC52って何のことか知らないという人は、お先にこちらをどうぞ。 リモートの tmux でコピーした内容のローカルのクリップボードへの反映 iTerm2のクリップボードインテグレーション(OSC 52/PASTE64)のつかいかた Vimからの利用 この機能はXが無い環境からでもssh先とクリップボード連携できるという特性があり、なかなか使い勝手がよいものです。 tmuxだけにつかわせておくのはちょっともったいないですよね。 そこで今回は、VimにPASTE64/OSC52をインテグレートする設定例を書いてみました。 function! s:Paste64Co
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? =================== 本記事は Vim Advent Calendar 2012 の8日目です。 7日目は@yoshikawさんによる、Vimの背景色を環境変数で設定するでした。 私はunix端末版のvimをよく使っているのですが、元来そういうものをあまりうまく使いこなせる性質ではなく、エディタと言われても実感としてはある特定のパターンを持ったI/Oの流れとして見てしまいがちです。実際vimやemacs等をいじっていても表現レベルの挙動がやたらと気になってしまい全く集中できず苦慮することもあります。しかし端末とのI/O
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 端末や端末エミュレータから、コンソールアプリケーションに対してマウス位置を報告することを、マウストラッキングとよびます。 このエントリでは、このマウストラッキングの形式のひとつであるSGR(1006)形式の概要と、それを普及させる意義について述べたいと思います。 224桁問題と拡張マウストラッキングについて 拡張マウストラッキングは、xtermとそれを模倣するいくつかの端末において、224以上の座標をアプリケーションが取得できない仕様上の問題を回避するために考案されたものです。 現在広く普及しているxtermのノーマルトラッキングモード
このページを最初にブックマークしてみませんか?
『@kefir_のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く