この間からCygwin上でviを使おうとすると以下のようなエラーがでて操作できなくなってしまう問題が発生した。状況としてはvi自体は起動するのだけど、入力モードに固定されているっぽく、終了などを含む操作ができなくなってしまう。
$ vim Vim: Warning: Output is not to a terminal Vim: Warning: Input is not from a terminal
以前は、うまく動いていた気がするし、特に設定を触った記憶もないのだけど、いつの間にか同じ症状が出てしまう。過去にも同じ問題が出てしまったときは、原因がよくわからなかったのでCygwin自体の再インストールで乗り切った。
で、しばらく調子が良かったのだけど、再発。仕方ないのでもう少し調べてみる。と言ってもなんとなく以下でわかった感じ。
$ which vi /usr/bin/vi $ which vim /cygdrive/c/Program Files/Git/usr/bin/vim $ alias vi alias vi='vim'
要するに、viがvimにエイリアスされていて、vimがCygwin外のvimを使われていてと言う感じで変なことになっていたらしい。この辺いじった記憶はないのだけど、何かをインストールしたときにでも変わったのかも。
そもそもCygwinのviはvimなので謎のaliasが不要。削除したらうまく動くようになった。
わかってみるとたいしたことないな。