質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

1回答

2506閲覧

Vimを起動するとバッファーの高さが変わる

Alice1017

総合スコア24

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2016/12/13 05:56

Vimを起動するとバッファーの高さが変わる

環境

  • uname -a: Linux xxxx 3.13.0-105-generic #152-Ubuntu SMP Fri Dec 2 15:37:11 UTC 2016 x86_64 x86_6
  • OS: Ubuntu trusty 14.04 64bit
  • vim: 7.4

問題

SSHでサーバーにログインし、vimを起動すると、ターミナルのバッファーが半分に固定されてしまいます。
画像の方が分かりやすいと思うので画像を貼ります

イメージ説明

Vim起動前はターミナルウィンドウの最後までバッファがあるのですが、Vimを起動するとターミナルウィンドウの中央あたり(--INSERT--部分)でバッファーが固定されてしまい、Vimを終了しても固定されたママになってしまいます。

やってみたこと

TERM環境変数が悪いのかなと思い、TERM環境変数をxterm-256colorにしてみましたが何もかわりませんでした。

Googleで検索してみましたが、解決できる情報はありませんでした。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

端末エミュレータをリサイズすると pty に SIGWINCH というシグナルが飛びます。アプリケーションはそのイベントを受けて行の高さを更新しますが、そのシグナルが来ない場合デフォルトの 25 行、もしくは環境変数 $LINES の値が高さになります。

  • 端末エミュレータは何をお使いでしょうか
  • vim 以外の他のアプリケーションでも同様の現象が発生するでしょうか

投稿2016/12/13 06:21

mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Alice1017

2016/12/13 06:48

回答ありがとうございます。 端末エミュレータはConEmuを使っておりますが、Teratermを使っても同じようになります。 Vim以外のアプリケーションではこのような現象は起きません。 環境変数`$LINES`はログイン直後は24で、vimを起動した後でも24で変わりません。
mattn

2016/12/13 07:08 編集

通常は、端末エミュレータをリサイズしたタイミングで bash がシグナルを受け取り変数 LINES が変わる様になってるはずなのです。 http://i.imgur.com/EpitmMU.gif もしリサイズしないのであれば 以下を実行してから vim を起動してみて下さい。 eval `resize`
Alice1017

2016/12/14 23:48

eval `resize` すると -bash: resize: command not found と出力されてしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問