2016-07-06 29 views
1

私は時間JKリットルに慣れるのvimの私の矢印キーを無用にするためにしようとしています。リマップ矢印キーをvimの

.vimrcファイルに数行を追加した後、すべてが機能し、挿入モードの再マップが行われました。問題がある

nnoremap <Down> :echo "No down for you!"<CR> 
vnoremap <Down> :<C-u>echo "No down for you!"<CR> 
inoremap <Down> :<C-o> echo "No down for you!"<CR> 

nnoremap <Up> :echo "No up for you!"<CR> 
vnoremap <Up> :<C-u>echo "No up for you!"<CR> 
inoremap <Up> :<C-o>echo "No up for you!"<CR> 

nnoremap <Left> :echo "No left for you!"<CR> 
vnoremap <Left> :<C-u>echo "No left for you!"<CR> 
inoremap <Left> :<C-o>echo "No left for you!"<CR> 

nnoremap <Right> :echo "No right for you!"<CR> 
vnoremap <Right> :<C-u>echo "No right for you!"<CR> 
inoremap <Right> :<C-o>echo "No Right for you!"<CR> 

、それは私のファイルに次の文字列を挿入する1つの矢印キーを押すたびに:

:「エコーません****あなたのため

+1

hjklに慣れている方が良い理由は、デフォルトです。私はvimにはまだ新しいですが、hjklのデフォルトが本当に役立ちます。私は最近、jとkキーが 'evince'のpdfドキュメントをスクロールするためのデフォルトであることも発見しました。だから、習慣はvimの外で恩恵を受け、ここに慣れるには[楽しい方法です](http://vim-adventures.com/) –

+0

@Imranに感謝して、すでにvimのアドバイスをしました。それは始めるのがいい方法です。 –

+3

あなたの挿入モードのマッピングでは、 ''は ':'の後に来なければなりません。例えば、左のキーの正しいキーは 'inoremap です。 ' – dNitro

答えて

0

!私たちはVimの質問に対してvi.SEを持っていますが、直接そこに直接投稿する方がいいです。とにかく:

Sardorbekの答えは正しいです、<nop>にマッピングです。すなわち、この:まだ

noremap <Up> <nop> 
noremap <Down> <nop> 
noremap <Left> <nop> 
noremap <Right> <nop> 

inoremap <Up> <nop> 
inoremap <Down> <nop> 
inoremap <Left> <nop> 
inoremap <Right> <nop> 

、あなたのマッピングの先頭に:<c-o>を使用しなかったので、あなたがinoremapをファイルに行を印刷したことが理由である、されていたので、ノーマルモードのコマンド実行はe:echoではない)でした。 <c-o>は一つだけノーマルモードコマンドを可能にし、

:cho "No **** for you! 

しかもません

:echo "No **** for you! 

が、次の2つのものが必要です:私はあなたが見ていた行が実際にあったと信じているメッセージエコー、および矢印を否定しますキーの動き。

本質的には、次のとおりである恐ろしい(本当に恐ろしい、これを実行しないでください)が、働いているでしょう。一般的には

inoremap <Down> <esc>:echo "No down for you!"<CR>ki 
inoremap <Up> <esc>:echo "No up for you!"<CR>ji 
inoremap <Left> <esc>:echo "No left for you!"<CR>li 
inoremap <Right> <esc>:echo "No Right for you!"<CR>hi 

<esc><c-o>c-uに望ましい使用(ビジュアルモードで) 可能な限り。

関連する問題