通常モードg combinationsではgg、以外は使用しません。g一度押すだけで十分になるようにするにはどうすればよいですか?
nnoremap g ggコマンドの継続を3秒ほど待機させます。マッピング解除g、私はにマップすることはできませんので予めことは、どちらか動作しません。gg私はアンマップ場合g。私はそうではないすべての組み合わせのマッピングを解除する必要がありggますか?
gます。
gv約90秒ごとに使用します
通常モードg combinationsではgg、以外は使用しません。g一度押すだけで十分になるようにするにはどうすればよいですか?
nnoremap g ggコマンドの継続を3秒ほど待機させます。マッピング解除g、私はにマップすることはできませんので予めことは、どちらか動作しません。gg私はアンマップ場合g。私はそうではないすべての組み合わせのマッピングを解除する必要がありggますか?
gます。
gv約90秒ごとに使用します
回答:
新しいバージョンのVim(7.3.1261+)があるとすると、 <nowait>
nnoremap <nowait> g gg
ただし、一部のgマッピングの有用性は強調できません。以下は、有用なgマッピングの短いリストです。
gE -単語の動きの逆方向の終わりg_ -行の最後の非空白文字までgt&gT-タブナビゲーションg,&g;-変更リストを行き来するgu&gU-ケースの変更gn -現在のパターンを視覚的に選択gv -前のビジュアル選択を再選択しますgi -挿入モードを最後に停止したのと同じ位置で挿入モードを開始しますgf -カーソルの下のファイルに移動(私の個人的なお気に入り):h gすべてのgマッピングのリストについては、を参照してください。
個人的にはgg、それが良い習慣であり、優れたVi / Vimエミュレーターであるとは知られていないため、使い方を学ぶだけです。
詳細については、以下を参照してください。
:h g
:h :map-nowait
giまた、かなり素晴らしいです(以前に残した場所から挿入モードに入ります)。コード行を入力している最中はいつもそれを使用しており、ファイルの他の場所をチェックする必要があります。
wに:w<CR>してqまで:qall<CR>、それはだから「速いです。」あなたはvimの利点を自分から奪っているだけです。
w、q、およびgすべてのオファー編集中に頻繁に使用する必要がありますが、あなたが保存ときに、第2の画分をオフに剃るために抑制されていることを非常に広範囲な機能。私はあなたのことは知りませんが、一言進めるよりも保存の頻度ははるかに少ないです!
ちょうど1つのキーが本当に必要な場合-引き続き使用できます... 別のキー(つまり、それほど必要としないキー)を使用できます!このようにして、有用なgプレフィックスをそのままにしておくことができます。
たとえば、「オーバーロード」0して機能を切り替え0たり^、繰り返し押すと、^代わりに使用したりできます(直感的な上昇文字であるため)。
これは完璧ではないに違いありませんが、以下にクイック・アンド・ダーティーの概念実証があります。
function! ToStartOrNonBlankToggle(mode)
if (a:mode == 'x')
normal! gv
endif
let sp = col('.')
normal! ^
let ep = col('.')
if (sp == ep)
normal! 0
endif
endfunction
nnoremap <silent> 0 :<c-u>call ToStartOrNonBlankToggle('n')<cr>
onoremap <silent> 0 :<c-u>call ToStartOrNonBlankToggle('o')<cr>
xnoremap <silent> 0 :<c-u>call ToStartOrNonBlankToggle('x')<cr>
noremap <silent> ^ gg
上記はまだ0をモーションとして使用でき、ビジュアルモードからも使用できます。インデントされた行で、y0カーソル位置から最初の空白以外の文字にコピーするようになりました。代わりに開始列にコピーする場合は、視覚的に行う必要があります。v00y
を使用13^して、13行目に移動することもできます。
g現在マッピングを使用していないからといって、将来使用しないという意味ではありません。中にはかなり便利なものがいくつかあります。例えばgE、g_、gt、gT、g,、g;、gu、gU、gn、、私の個人的に好きなgf。:h gすべてのgマッピングのリストについては、を参照してください。