質問: ### 前提・実現したいこと dockerコンテナ内でtmux+vimを使用したい ### 発生している問題・エラーメッセージ ssh(teraterm)接続のubuntuホストで ubuntuイメージのdockerコンテナ内でtmuxを使用していたのですが vim使用時、改行すると 構文などのハイライトを行っているところで 行番号の部分が崩れてしまいます。 実際には行番号に限らず、左に表示している部分のスペースがエディタ部分の内容で上書きされてしまいます .vimrc ``` 11 ... 12 ... <-ここで改行 13 call hoge 14 15 " Requiered 16 set nocompatible ``` "o"で改行 ``` 11 ... 12 ... 13 14 call hoge 15 " Required set nocompatible ``` "u"でundo ``` 11 ... 12 ... 13 call hoge 14 " Required " Reset nocompatible ``` といったようになります。 ホスト側でtmuxを動かしてdockerコンテナ内に入る分には通常通り動きます。 設定を最小限に落としてみましたがそれでも崩れます。 そもそもコンテナ内でtmuxを使うのが何か間違っているのでしょうか? ### 該当のソースコード .vimrc ``` #行番号の追加 set number ``` .tmux.conf ``` 無し ``` ### 試したこと host上でのtmux + vim、 dockerコンテナ内vim、 host上でのtmux + dockerコンテナ内vim、 はそれぞれ問題なく動きました。 ちなみにtmux起動オプションは"tmux -u -2"です。 ### 再現?方法 ``` #ホストでのインストールなどは省略 sudo docker pull ubuntu sudo docker run -it ubuntu apt-get update apt-get install tmux apt-get install vim adduser test #適当なユーザ情報を入力 su test cd ~/ echo set number > ~/.vimrc tmux vim ~/.vimrc ``` 再現 ``` " call test set number ``` の状態にした後 call testの上の行から 改行連打すると 追加された行の行番号が空になっています。 ### 補足情報(言語/FW/ツール等のバージョンなど) それぞれ最新です。 2016/07/19 指摘ありがとうございます! 新PCにインストールしたてで怠けてしまいました。すみません 各バージョンは ``` vim 7.4.1689 tmux 2.1 teraterm 4.91 docker 1.10.3 ubuntu コンテナ、ホスト共に 16.04 ``` です 追記 みなさんの回答を参考に とりあえず改行毎に再描画するという解決方法を使わせていただきました! しかしもし、根本的に解決する(できそうな)方法がありましたら引き続き教えていただきたいです。
回答: vi系がうまくうごかないときのおまじない(Bourne Shell) ``` TERM=vt100 export TERM ``` bash なら ``` export TERM=vt100 ```