2009-08-11 12 views
8

VIMでは、水平と垂直のウィンドウ分割を宗教的に使用しています。最近まで、水平分割を効果的に隠す(または最小限に抑える)2つのコマンドの快適さを楽しんでいました。上下に行くことによって、水平分割によってControl-jまたはControl-kナビゲートを叩く垂直VIMウィンドウの分割を最小限にする

set winminheight=0 
map <C-J> <C-W>j<C-W>_ 
map <C-K> <C-W>k<C-W>_ 

:私は私の.vimrcファイルに次の行を追加し、それらを設定します。私が達成したいのは、Control-Shift-hControl-Shift-lを使って左または右の分割を表示または非表示にすることで、垂直分割の場合と同じことです。 hは左に移動し、lは右に移動します。一度

set winminwidth=0 
map <S-C-L> 500<C-W>h<C-W>_ 
map <S-C-H> 500<C-W>l<C-W>_ 

アクションだけ左に完全に縦割りを動かし、Control-w-<Control-w->を利用することに似ているか書くと、1つのだけでなく行:ノー成功に少しで次のことを試してみました。

これを達成するためのアイデアはありますか?ありがとう。

答えて

11

最初にコード内で< S-C-(シフト+コントロール)を使用することはできません(下記参照)。しかし、あなたはあなたの "シフト"として "メイプレーダー"を使用して、< C-h>と< C-l>を好きなように使うことができます。このように:vimの中

set winminwidth=0 
nmap <Leader><C-h> <C-W>h500<C-W>>    
nmap <Leader><C-l> <C-W>l500<C-W>>    

共通リーダーキーコンマとバックスラッシュです:

:let mapleader = "," 

しかし、あなたは、これは、このための3つのキーストロークを必要とするために迷惑を取得することを見つけることができますので、あなたにかもしれませんよくコントロールキーのストロークをドロップしてください。この方法で(あなたのリーダーがコンマであれば)あなただけ押して「H」と自分の左右に分割に行く「L」することができます

set winminwidth=0 
nmap <Leader>h <C-W>h500<C-W>>    
nmap <Leader>l <C-W>l500<C-W>>  

" (FTW) :D 

...

という名前の男あなたがコントロール+シフトを使用することはできませんなぜトニー・チャップマンanswers

VimはASCIIに応じてそのCtrl+printable_key の組み合わせをマッピングします。この が「Ctrl+lowercase letter」であることを意味 対応する「Ctrl+uppercase letter」と同じこと Ctrl+<key><key>範囲0x40-0x5F、小文字 文字がである場合にのみ定義されている(<key>が印刷可能 鍵です)、または疑問符。また Ctrl-[Escと同じであることを意味し、 Ctrl-MEnterCtrl-Iと同じである Tabと同じです。

はそうです、Ctrl-s及びCtrl-S(すなわちCtrl-sCtrl-Shift-s)は のVimに同じです。これは仕様によるもので、 は変更されません。

2

これは(それが<C-W>H<C-W>Lだ)、左または右に完全にウィンドウを移動しない、それだけ左にカーソルを移動(または右)

set winminwidth=0 
map <S-C-L> <C-W>h<C-W>| 
map <S-C-H> <C-W>l<C-W>| 

を試してみてウィンドウと水平にそのウィンドウを最大化。

:help CTRL_W_barを参照してください。

関連する問題