cygwin vimコマンドは通常のvimと異なりますか?


28

cygwinでvimを使用してテキストファイルを編集できません。

iテキストを挿入するには何度も押す必要があります。時にはそれは機能し、時には機能しません。カーソルを上下に移動するたびに、何度も押す必要があります。

何が問題なのでしょうか?いbackspacecygwinの中で仕事を?


ネイティブWindowsコンソール内、ネイティブアプリケーションとして実行されている別のターミナルエミュレーター、Xの下で実行されているターミナルエミュレーターで実行していますか?Windowsのバージョンは何ですか?押すESCと押す間の遅延はi問題ですか?
ジル 'SO-悪である停止

回答:


34

Cygwin vimにはvimのデフォルト設定が付属しており、vimをvi互換モードのままにして、元のviを可能な限りエミュレートしようとします。他の制限の中でも、矢印キーはそのモードでは機能せず、バックスペースは文字を消去するのではなく、カーソルを左に移動するだけです。

~/.vimrcvi互換モードを無効にするには、空を作成するだけで十分です。

touch ~/.vimrc

とはいえ、i挿入モードに入ることはとにかく動作するはずです。vimを実行している場所と方法に関する詳細を提供する必要があります。また、実際にCygwinに付属のvim、またはvimのネイティブWindowsバージョンを実行していますか?

更新

〜/ .vimrcに以下のセットを追加して、デフォルトのvimと同様にすることができます。

set nocompatible
set backspace=indent,eol,start
set backup
set history=50
set ruler
set background=dark
set showcmd
set incsearch
syntax on
set hlsearch

vimがvimrcファイルを取得しない場合.virc代わりにファイルを探している可能性があります。この場合、ファイルの名前を変更すると、変更が適用されます。


互換性をオフに設定する方法を言っていたら良かったでしょう。
ギデオン

cygwinのデフォルトのホームロケーションはどこにあるか知っていますか?cygwinの代わりにGUIで.vircを作成したい
アレックス

13

最も簡単な方法は、Cygwin VIMのサンプルvimrcファイルをコピーすることです

cp /usr/share/vim/vim*/vimrc_example.vim /etc/vimrc

これにより、システム上のすべてのアカウントの問題が修正されます。何らかの理由で、特定のユーザーに対してのみ変更したい場合は、

cp /usr/share/vim/vim*/vimrc_example.vim ~/.vimrc

こちらのリファレンスをご覧ください


1
この例では実際にデフォルトで構文の強調表示がオンになっているため、これは受け入れられた答えであるはずです。
ジョンアイ

PCを再起動するまで機能しませんでした。しかし、それは機能します!
3bdalla

優れた答え、シンプル、新しいcygwinインストールで見たさまざまな問題をすべて解決し、構文強調表示は予想外のボーナスでした
crobicha

これが最高の答えです!!
セオドアR.スミス

1
そのファイルはどこにありますか?/ usr / share /でそれを検索していましたが、vimというディレクトリが表示されません。
neo33

3

cygwinを使用してWindows 8.1内でvimを試行しているときに、矢印キーに問題がありました。問題は、挿入モードで矢印キーでナビゲートしているときにA / B / C / Dを印刷することでした。私のために働いた解決策は次のとおりです:

cp vimrc_example.vim ~/.vimrc

基本的に、上記のコマンドはvimrc_example.vimファイルをにコピーします/home/<user name>/.vimrc


それは私のためにそれを修正しました。挿入キーと矢印がvimで機能しないという同じ問題がありました。これは、Windows 10上にあった
Yanick Girouard


1

この方法を試してください:

  • 最初:

    cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc
    
  • 次に、この行を./.bashrcファイルに追加します。

    alias vi="vim"
    

0

いいえ、コマンドはまったく同じです。入力に問題があるようです。キーボードが台無しになっているか、端末がフリッツか何かに乗っています。


0

端末プログラムの特性に応じて、カーソルキーを押すと、ESCキーで始まる一連の文字が送信されます。たとえば、上矢印キーはESC [Aの3文字を送信します。vimが入力モードの場合、カーソルキーを押すとESCが表示されたときに入力モードが終了し、後続の文字がvimコマンドとして解釈されます。入力モードを終了するため、テキストの挿入を続行するには、もう一度iを押す必要があります。おそらくこれはあなたのために起こっていることです。

端末にVT-100、VT-220などのエミュレーションを変更できるオプションがあるか、BackspaceキーまたはDelキーが押されたときに送信される内容を指定する設定があるかどうかを確認します。これらの設定を変更すると、必要な動作が得られる場合があります。ネイティブのWindowsコマンドコンソールを使用している場合、おそらくこれらのオプションは表示されません。

入力モードではカーソルキーの使用を避けなければならない場合があります。ESCを押して入力モードを終了し、カーソルを移動してから、もう一度入力するためにもう一度iを押します。これが、vimが入力モードでカーソルキーを解釈するのに十分なほどスマートになる前に、私たちが昔からやっていたことです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.