2016-05-07 12 views
0

を埋めるために、私は私の.vimrcに次の行を持って、私はCTRL + 時間JKリットルでウィンドウを切り替えることができます:Vimの:マッピングウィンドウを切り替えると、画面

nnoremap <C-h> <C-W>h 
nnoremap <C-j> <C-W>j 
nnoremap <C-k> <C-W>k 
nnoremap <C-l> <C-W>l 

これらは私のデスクトップコンピュータにとっては問題ありませんが、ネットブックでは、アクティブなウィンドウを小さな画面に完全に埋めたいと思っています。これはCTRL +_ ワットCTRL +ワットを入力する意味|各ウィンドウの変更後に。論理的なステップは、得マッピングにそれらのキーストロークを追加することです:

nnoremap <C-h> <C-W>h<C-W>_<C-W>| 
nnoremap <C-j> <C-W>j<C-W>_<C-W>| 
nnoremap <C-k> <C-W>k<C-W>_<C-W>| 
nnoremap <C-l> <C-W>l<C-W>_<C-W>| 

をしかし、それは、私は単純に必要なキーを入力すると作業にもかかわらず、マッピング時に、一貫して、失敗しました。 (私が 'showcmd'を設定したので)それは末尾に残るようです<C-W>。 wincmd:

は私も使って試してみました

nnoremap <C-h> :wincmd h<cr>:wincmd _<cr>:wincmd |<cr> 
nnoremap <C-j> :wincmd j<cr>:wincmd _<cr>:wincmd |<cr> 
nnoremap <C-k> :wincmd k<cr>:wincmd _<cr>:wincmd |<cr> 
nnoremap <C-l> :wincmd l<cr>:wincmd _<cr>:wincmd |<cr> 

しかし、それは私のvimrcが供給されるたびに<cr>末尾について不平を言うので、私はより多くの研究なしでそれをさらに追求するつもりはありません。

アイデア?

+1

あなたのネットブックでは全くウィンドウを使用したくないようですが、どうして気になるのですか?代わりにバッファを使用してください。 – romainl

答えて

1

|の代わりに<Bar>を試してみてください。すなわち:

nnoremap <C-h> <C-W>h<C-W>_<C-W><Bar> 
nnoremap <C-j> <C-W>j<C-W>_<C-W><Bar> 
nnoremap <C-k> <C-W>k<C-W>_<C-W><Bar> 
nnoremap <C-l> <C-W>l<C-W>_<C-W><Bar> 
1

|は、1行に複数回のコマンドを持っているために使用され、文字通り使用したときは、バックスラッシュでエスケープする必要があります。

nnoremap <C-h> <C-W>h<C-W>_<C-W>\| 
nnoremap <C-j> <C-W>j<C-W>_<C-W>\| 
nnoremap <C-k> <C-W>k<C-W>_<C-W>\| 
nnoremap <C-l> <C-W>l<C-W>_<C-W>\| 

を一方|に役立つことができます:

nnoremap xxx :if 1 == 2 | echom "hello" | endif 
+0

私は '|'について知らなかった。これは将来明らかになるはずの別の問題を解決します。 –

+1

@ZoeyHewllどのようにコマンドをチェーンすることができますか? :-) – andlrc

関連する問題