2011-07-12 12 views
0

私はVimを数週間しか使用していませんでしたが、これまでいくつかのことで私の経験は非常に興奮していました。 1つは、いくつかのキーシーケンスをコマンドにマッピングするのに問題があります。Vim/GVimのキーマッピング

のCtrl-:私はシフトと非シフトコントロールキー配列の間Ctrlキー + Shiftキー + Z<C-R>:redo<CR>にまたは交互に、どうやらVim is not able torecognize the differenceをマッピングしたい

bとCtrl-Bは同義であり、両方とも0x02を意味します。これは、 に変更することはできません。これは、7ホール紙のテープ (パリティはカウントされません)にまでさかのぼるASCIIに戻ります。

これはちょうど私にとって愚かなようです。私たちは7穴の紙テープから長い道のりを歩んできました。私の経験ではMANYプログラムは<C-S-Z><C-Z>の違いを認識しています。確かに、MacVimは違いを認識しています!しかし、GVimやGNOMEターミナルでは喜びはありません。これを回避する方法はありますか?たぶん、プラグインかコンパイル時のオプションですか?

私はとのトラブルを抱えている他のキーのコンボははCtrl +(コントロール+カンマ)です。 .vimrcに何か設定が間違っているのか、それともVimの本当の問題なのか分かりませんが、マッピング後に応答するために<C-,>を得ることはできません(例:map <C-,> :TComment<CR>)。 FWIW、リーダーキーを;に再マッピングしました。私はそれを間違っているのですか?または、Vimが<C-,>のキーコンボを認識しない理由がいくつかありますか?

私は、グーグルマップを使ってグーグルで過ごす時間を過ごしました。私は、Vimが私に信じられているほどフレキシブルではないと宣言する寸前です。私が慣れ親しんだキーマッピングで設定してください。そのうちのいくつかは、私が毎日使っている他のプログラムで働いているので、再読み込みすることには消極的です。

+2

なぜVimのやり方にしないのですか?私はした、と私はそれがはるかに容易に見つける。例えば、 'u'を押すことはCtrl-zよりはるかに容易であり、' r'はCtrl-Shift-zよりずっと簡単です。また、既定のキーバインディングを既に使用している場合は、他のユーザーのコンピュータをピックアップしてvimを使用する方がはるかに簡単です。 – tjameson

+8

あなたはそれを間違っている。 VIMキーバインディングを使用するために、他のすべてのプログラムを再マッピングする必要があります。 – janm

+2

あなたの修正オプションが与えられたら、Emacs:D –

答えて

4

投稿したリンクが、<C-b><C-B>の間の質問に既に回答しているようです。 the FAQによれば、<C-,>で運が悪いようですが、このキーの組み合わせはVimが検出できるCtrl-printable-keyコードのリストにないためです(印刷可能なASCIIコードでもない可能性があります)。

<C-S-w>などのキーの組み合わせは、非常にun-Vim-likeのように、モーダルエディタの効率を損なう点で異なります。もちろん、<CTRL>のエスケープされた組み合わせが必要な場合があります(たとえば、omnicompletionの場合は<C-x>-<C-o>のようなインサートモードのマッピング)。ただし、元に戻すややり直しなどの操作はそうではありません。

この返信があなたを満足させないことは申し訳ありませんが、長期的には、Vimをあなたの意志に曲げようとするよりも、「Vimのやり方をすること」から得られるべきことがたくさんあります。

+0

Bummerを試してみたいと思うかもしれませんが、私はVimに大きな期待を持っていましたが、これは私のための対処法です。私は、他のすべてのプログラムがVimのように動作することを望む標準とはまったく異なる何かに私の脳を再プログラミングすることには興味がありません。率直に言って、Vimは設定可能なエディタではないというのは驚きです。とにかく正直な答えをくれてくれてありがとう。 – millerdev

0

あなたのvimrcにset nocompatableを追加してみてください。これがなければ、基本的にはvimよりはるかに制限されたviを実行しています。これにより、<C-S-r>または<F11>などの任意のマップを割り当てることができます。 Tjamesonは完全に正しいです。それらが存在するところでデフォルトのマッピングを使用する方がはるかに優れています。

+0

'set nocompatible'は' 'と' 'の同値には何の影響も与えません。少なくとも私のためではない。 –

+0

私はいくつかの追加テストを行いましたが、ascii文字に違いはありませんが、シフト修飾子を使用してASCII以外の文字をマッピングすることができます。私はマップしました: 'map :tabnext' ' map :tabprev' これは正しく動作します –

+0

それは私のためにそれを修正するようです。 –

関連する問題