vimrcまとめ(一)

3637 ワード

マッピングの種類
5つのマッピングがあります.
  • 通常モード:コマンド入力時.
  • ビジュアルモード:ビジュアル領域がハイライトされ、コマンドが入力された場合.
  • オペレータ待機モード:オペレータ待機中(「d」,「y」,「c」などの後).
  • はモードを挿入するために使用されます.モードを置換するためにも使用されます.
  • コマンドラインモード:":"または"/"コマンドを入力した場合に使用します.

  • コマンドの組み合わせ
    Vimの他のコマンドと同様に、コマンドの名前はいくつかのセグメントから構成されることが多い.接頭辞はコマンド自体の修飾子として、コマンドの効果を微調整します.mapには、次のような接頭辞があるかもしれません.
  • noreは非再帰を表す.再帰的なマッピング.すなわち、キーaがbにマッピングされ、cがaにマッピングされ、マッピングが再帰的であれば、cがbにマッピングされることはよく理解される.
  • nは、通常モードで有効である
  • を示す.
  • vは、可視モードで有効であることを示す
  • .
  • iは、挿入モードで有効であることを示す
  • .
  • cは、コマンドラインモードで通常モードが有効となるマッピングコマンド
  • を示す.
    map
    コマンド形式:
  • :map{lhs}{rhs}は、mapが作用するモードでキー系列{lhs}を{rhs}にマッピングし、{rhs}はマッピング走査、すなわち再帰マッピングを行うことができることを意味する.例:map td:tabnew.意味:その作用モード(通常、可視、オペレータ)では、tdを入力:tabnew.と等価に入力します.通常モードではtabnew.と入力します.現在のディレクトリを開くことです.バインド:map ts tdを再定義すると、その作用モードでtsをtdに等価に入力することです.つまり、現在のディレクトリを開くことです.ただし、特別な必要がなければ、再帰マッピングは推奨されません.
  • noremap:noremapと:mapコマンドは相対的に、作用モードとコマンドフォーマットは同じであるが、{rhs}をマッピングスキャンすることは許されない.すなわち{lhs}定義後のマッピングは{rhs}のキーシーケンスであり、{rhs}キーシーケンスに対してスキャンを再解釈することはできない.通常、コマンドを再定義するために使用されます.もちろん、mapが再帰マッピングを必要としない場合は、noremapを使用することをお勧めします.たとえば、noremap ts tdは、その作用モードでtsを入力することはtdを入力することを意味しますが、mapとは異なり、このときtdはスキャン解釈を一歩進めません.tdは既に定義されているが、tdをスキャンすることはない.
  • unmap:unmapはキャンセル:mapバインド{lhs}に対応し、動作モードは同じで、コマンドフォーマット:unmap{lhs}です.例えば、unmap tdは、その作用モードにおけるtdのバインドを解除するものであり、例えば、前のtdがtabnewにバインドされていた.このバインドは消えます.
  • mapclear:mapclearの場合、すべてのmapバインドをキャンセルします.慎重に使用してください.通常モードのみの
  • nmap:nmapはmapの通常モードボードであり、すなわち、そのバインドされたキーは通常モードにのみ作用する.例えば:nmap td:tabnew.和:map td:tabnew.通常モードでの等価
  • :nnoremap:nnorempaと:nmapの関係と:noremapと:mapの関係は同じですが、nmapの非再帰版
  • です.
  • :nunmap:nunmapおよび:nmapの関係および:unmapおよび:mapの関係と同様に、:nmapのバインドを解除します.
  • :nmapclear:nmapclearはすべてキャンセルします:mapバインド、慎重に使用します!

  • さらに
    {rhs}以前に特殊な文字が表示される場合があります.再マッピング不可であることを示します.スクリプトのみを示すローカルマッピングを再マッピングできます.@バッファを表すローカルマッピングを示します.
    キーテーブル
    -キーボード0~9 Shift+キーControl+キーAlt+キーまたはmeta+キーEscapeキーカーソル上移動キー挿入スペース挿入Tabと等しい
    特殊パラメータ
    一部の特殊なパラメータは、コマンドの後ろに、他の任意のパラメータの前にマッピングする必要があります.
  • これらのマッピングコマンドの最初のパラメータがマッピングは、現在のバッファ(つまり、編集中のファイル)に限定されます.たとえば、map,w/aという意味で現在のバッファでキーバインドを定義し、「,w」という文字aを現在のバッファで検索します.同様に、他のバッファで定義できます::map,w/bたとえば、私はよく複数のラベル(:tabedit)を開きます.それぞれのラベルに「,w」キーバインドを定義するには、各ラベルページでそれぞれ定義すればよいし、その役割ドメインもそれぞれのラベルにのみ存在する.これらのバッファをクリアするキーバインドにもパラメータを追加します.たとえば、
  • :unmap ,w
  • :mapclear
  • とは、キーバインドを実行するときにコマンドラインに表示されないことを意味します.たとえば、map、w/abcdを入力し、wがabcdを検索すると、コマンドラインには/abcdは表示されず、パラメータがなければ表示されます.
  • は一般に、特殊なキーが副作用を恐れる場合を定義するために用いられる.例:map/Header
  • . 新しいマッピングの最初のパラメータが定義場合、パラメータは式として計算され、結果はinoremapなどの実際の使用が使用されます.InsertDot()これは、カーソルの前のテキストをチェックし、一定の条件下で全能(omni)補完を開始するために使用できます.一例:
  • inoremap   ListItem() 
    inoremap   ListReset() 
    
    func ListItem() 
    let g:counter += 1 
    return g:counter . '. ' 
    endfunc 
    
    func ListReset() 
    let g:counter = 0 
    return '' 
    endfunc
    

    挿入モードでは、CTRL-Lは順序のリスト番号を挿入し、戻る.CTRL-Rはリスト番号を0にリセットし、空に戻ります.
  • は、一般に、新しいキーマッピングまたは省略コマンドを定義しながら、キーがマッピングされているかどうかを確認するために使用されます.マッピングまたは省略がすでに存在する場合、コマンドは失敗します.mapleader変数mapleader変数は、すべてのmapマッピングコマンドに有効です.パラメータをmapleader変数の値に置き換える役割を果たします.たとえば、map A oanother line mapleader変数が設定されていない場合は、デフォルトのスラッシュで置き換えるため、このマッピングは、mapA oanother lineの意味でAキーを入力した場合、次の行でanother lineを入力して通常モードに戻るのと同じです.mapleader変数(let mapleader=")などが設定されている場合、map,A oanother line
  • と同等です.
  • とmaplocalleader変数は類似していますが、バッファにのみ作用します.したがって、mapleaderとmaplocalleaderを設定するときは、衝突しないように区別したほうがいいです.