- ベストアンサー
Cygwinのminttyでvimがエラーで起動しない問題について
- Windows vista 32bitで,Cygwinからminttyを使用してvimを起動するとエラーが発生し、解決方法がわかりません。
- vimの起動時にエラーメッセージ「bash: vim: コマンドが見つかりません」と表示されます。また、vimの挙動もおかしく、Backspaceキーが効かずカーソルキーも正常に動かないなどの問題が発生しています。
- アンインストールしようとしてもエラーメッセージ「Package manifest missing, cannot remove vim. Exiting」と表示されてしまい、アンインストールができません。インターネットで検索しても解決策が見つからず、困っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その状態で、vimでもviでも起動できますが、その二つはコンパイル時の条件が違います。 vi は small feature, vim はHuge featureでコンパイルされています。 vi は、 「本来のvi」に近い動作をするようになっています。 vim として拡張された機能を使いたいのなら、vim で起動してください。(あるいは、 alias でviでvimを起動するようにしてください) > ・カーソルキーで移動できず,AとかBが入力されてしまう. これは、挿入モードでの話だと思われます。 # vi , vim の「モード」については、おわかりですね? 「本来のvi」では、挿入モードではカーソルキーは使いません。 > ・画面下のコンソール(?)が表示されない.「:wq」等のコマンド自体は使えます 「本来のvi」では普通です。 http://ja.wikipedia.org/wiki/Vi の画像を見てください。 > ・Backspaceが聞かない 2通り考えられますが、どちらでしょうか? (1) カーソルは戻るが、字が消えない。 挿入モードから戻ると、カーソルの位置まで消える。 (2) ^? とか ^H とか表示される。 1なら「本来のvi」ではよくある挙動です。 コマンドラインでも、同様のことが起こります。bashのコマンドラインだと、多機能なのでわかりませんで、 ash 等を使えば、わかると思います。 2 なら、minttyと端末との不一致です。 BaskSpaceキーを押したときに、BS(^H)かDEL(^?)のどちらを送信するか、minttyで設定できたはずです。 stty -a とbashのコマンドを入力すれば、現在の端末の設定がわかります。 このerase が、上記のキー設定と一致しているか確認してください。
その他の回答 (2)
- ac4tweet
- ベストアンサー率0% (0/1)
それは .xz 形式のパッケージに対応してないバージョンの apt-cyg を使っているのが原因です。 公式ページでは Github に作ったリポジトリを fork して修正版を使うよう案内されています。 有志による修正版が多数ありますので適当なのを選んでください。 https://github.com/transcode-open/apt-cyg/network
お礼
回答有難うございます。 そちらからのDLを試してみたいと思います。 お礼が遅くなり申し訳ありませんでした。
- kmee
- ベストアンサー率55% (1857/3366)
まず、その vi が何物なのか、確認しましょう。 which vi で、判ります。 /usr/bin/vi.exe だったとして。 vimをインストールしても、vi はインストールされません。 http://cygwin.com/cgi-bin2/package-cat.cgi?file=x86%2Fvim%2Fvim-7.4.135-1 vim-minimal の方をインストールしたのではないでしょうか? http://cygwin.com/cgi-bin2/package-cat.cgi?file=x86%2Fvim-minimal%2Fvim-minimal-7.4.135-1
補足
回答ありがとうございます. which vi をすると,仰る通り「/usr/bin/vi.exe」が返ってきました. また,apt-cygではなく,setup.exeから,Reinstallを行ったところ,再インストールができ,「vi」でも「vim」でも実行できるようにはなりました. しかし,依然として ・Backspaceが聞かない ・カーソルキーで移動できず,AとかBが入力されてしまう. ・画面下のコンソール?(挿入モードだと「挿入」と表示されてるところ)が表示されない. が未解決です. 回答よろしくお願いします.
お礼
ご丁寧なご回答有難うございます。 試してみたいと思います。 お礼が遅くなり申し訳ありませんでした。