webdevqa.jp.net

UbuntuとCentOSでviの動作が異なるのはなぜですか?

私は日常的にviを使用することにますます快適になっていますが、Ubuntuで使用すると、CentOS(およびおそらく他の場所)で使用する場合とは動作が異なることが気になります。私は実際、CentOSでの動作方法を好みます。

Ubuntuで私を本当に悩ませている3つのことがあります:

  1. CentOS挿入モードでは、下部にINSERTモードであるという大きな太字の通知がありますが、Ubuntuでは通知がないため、どのモードになっているのかわかりません。

  2. CentOS挿入モードでは、上下のキーを押すとカーソルが上下に移動します。しかし、Ubuntuにいるときは、上下に押すと、それぞれAとBの文字が新しい行に挿入されます。

  3. CentOS挿入モードではバックスペースキーを使用でき、カーソルの前にある文字が削除されますが、Ubuntuではビープ音が鳴るだけで何も起こりません。コマンドモードでDeleteキーを押すことはできますが、バックスペースキーを押すことはできます。

これらの違いは私が一緒に暮らさなければならないものですか、それとも簡単に修正できますか?

32
Adam Plumb

Ubuntuでは、デフォルトのvimインストールはパッケージvim-tiny、それだけではありません。

あなたはおそらくしたい:

apt-get install vim

または

apt-get install vim-full

他の問題のいくつかは、バックスペースキーなどの問題のように聞こえます。フルバージョンのvimを入手したら、これらを.vimrcに追加してみてください。

set nocompatible

set t_kb=^H
fixdel

(重要な注意:^ Hはリテラルのctrl-H文字であり、挿入モードでCtrl-V Ctrl-Hを実行することで取得できます)

39
Jeremy Smyth

以前に提供された回答は私にはうまくいきませんでした。

私は、OSのインストールをできるだけストックのままにし、構成ファイルをできるだけシンプルに保つことを好む傾向があります。 Ubuntu 12.04でこれら3つの問題を修正するために、私は次のことを行いました。

「〜/ .vimrc」に行を挿入します-
set nocp
set bs = 2

6
Daved

Vim-fullのインストールに加えて、まだ~/.vimrcを持っていない場合:

$ cp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc

この例.vimrcはすでに最も重要な設定を行っており、カスタマイズの良いスタートです。

4
0x89

VIM VIと言うときは?そして少なくとも2番目のポイントはVIM/termコンボのコンソール/ターミナルの問題のようです。以下のページはいくつかの修正を提案していますが、私が仕事をすることができたものはありません(私はUbuntu開発ボックスにPuTTYを介してvimを使用します)

http://vim.wikia.com/wiki/Fix_broken_arrow_key_navigation_in_insert_mode

.vimrcで以下を使用すると、3番目のポイントを上書きできます。

set backspace = indent、eol、start

1
Svend

私の.vimrcでこれを設定することは私のために働いた。

set term=builtin_ansi
0
Daantje

私の場合、.vimファイルは次のように作成されます。

set nocompatible

fixdel

set t_kb=^Hを追加すると、バックスペースキーは削除キーとして機能します。

0
Eric Zhou

CentOSでは、viは別のプログラムvimのエイリアスですが、最近のバージョンのUbuntuでは、viはvimではなくviだけを意味します。 2つの異なるプログラムviとvimの違いがわかる違い。

Vimが好きなら、viではなくvimを実行してください。これはUbuntuでも機能します

0
dmityugov

私はDebian7を内蔵したWDMyCLoudを持っており、次のように使用しています。

cp /usr/share/vim/vimcurrent/debian.vim ~/.vimrc
0
Imran Nababan

(1)showmodeの設定が両方で異なるかどうかを確認します。

(2)これについてはわかりません。これはVi自体よりも端末に関係していると思います。

(3):map <BS> :normal dを使ってみてください?

0
Swaroop C H