2011-01-22 8 views
5

こんにちはMacVim 7.3を使用しています 私はsmash into vimと呼ばれるPeepCodeチュートリアルに従っています。エラーをスローするvimのマッピング(E10:の後に/、?または&が続く)

トピックの1つは、特定のコマンドに対してさまざまな「マッピング」(ショートカットまたはエイリアスと考える)を割り当てることです。

たとえば、ここに私の一部です。 vimrcファイル(下記参照) ヘルプファイルは、デフォルトでバックスラッシュ(\)として割り当てられています。しかし、私がコマンドラインモードを入力して\ ttを入力すると、次のエラーが表示されます。

E10:\の後に/、?または&

私が間違っていることについての考えはありますか?私は私の.vimrcファイルがmacvim b/cによって使用されていることを知ることができます。セミコロンとコロンのバインディングを交換するためにファイルを使用しました。エディタはコマンドラインモードに入ります。

" Tab mappings. 
map <leader>tt :tabnew<cr> 
map <leader>te :tabedit 
map <leader>tc :tabclose<cr> 
map <leader>to :tabonly<cr> 
map <leader>tn :tabnext<cr> 
map <leader>tp :tabprevious<cr> 
map <leader>tf :tabfirst<cr> 
map <leader>tl :tablast<cr> 
map <leader>tm :tabmove 


" Controversial...swap colon and semicolon for easier commands 
nnoremap ; : 
nnoremap : ; 

vnoremap ; : 
vnoremap : ; 

答えて

9

あなたはそれが(:を使用して呼び出さ)コマンドモードではなく通常モードでは動作しません<leader>ttのようなものをマッピングしています。

\ttを入力しないと、:は表示されず、何が起こるかを確認するだけです。新しいタブがうまくいきます。

新しいマッピングを定義する際に<leader>の使用については、主な関心は、あなたが\の使用に満足していない場合、あなたはあなたの.vimrcの先頭にキーに以下の方法を再定義することができ、ということである:

:let mapleader = ","

、あなたはリーダーのキーは、後続のすべてのマッピングコマンドに変更されます:\ttが堪能Vimのユーザーになるためにあなたの方法に,tt

幸運になります!

+0

あなたは本当の、私の忠実で若い仲間です。ありがとう! – user141146

+0

いい仕事です、誰もコマンド(:)とノーマルモードを言及していません。リーダーを使用して説明するときには ':'を付けません。これは初心者にとって非常に役に立ちます –

2

は、次の2つの問題がある。一つはあなたが;tabnew<CR>;繰り返し前のT/T/F/Fのモーション、次aからta移動カーソル、n試行に実行するので、map <leader>tt :tabnew<CR>試行をmapを使用して、セミコロン再マッピングされていることです以前の検索を繰り返すなど)、動作しません。可能であれば、noremapを使用する必要があります。noreを使用しない場合は、noreを使わないでmapを使用しないでください。また、noremapからnnoremapに変更することをおすすめします。タブを視覚的、特にオペレータペンディングから変更する必要はありません。モード)。第2の問題は、noremapがコマンドを通常モードで再マップするため、で、:\ttまたは;\ttではなく、入力する必要があることです。

+0

あなたもありがとう。私はちょうど切り替えていた。私の.vimrcファイルが適切に使用されているかどうかを確認する機能はありますが、ここで指摘したニュアンスを十分に理解できていませんでした。 – user141146