ビジュアル選択モードでのTabのデフォルトのvimの動作はわかりませんが、VSのデフォルトでは、選択がタブでインデントされ、Shift + Tabでインデントされないようにするのは良いことです(少なくともset vsvim_useeditordefaults
私のvimrcファイルにあります)。
報告してくれてありがとう!
ビジュアルモードの現在の動作は仕様によるものです。 ビジュアルモードでは、 TabキーとShift + Tabキーの両方がデフォルトで何もしません。 Visual Studioと同様の動作を実現したい場合は、シフト/シフト解除操作を実行するビジュアルモードのキーのバインディングを作成することができます。
:vmap <Tab> >>
:vmap <Shift+Tab> <<
これらのエントリを_vimrcファイルに配置するか、VsVim内で実行すると、 TabキーとShift + Tabキーが期待どおりの動作をします。
注: vsvim_useeditordefaults
設定はコマンドを参照しません。 代わりに、VsVimがtabstop
やshiftwidth
などの値に対してvimまたはVSのデフォルトを選択する必要があるかどうかを示します。
ああ、知っておくといい。 回避策と素晴らしい製品をありがとう!
コマンドはShift + Tabではなく、 :vmap <S-Tab> <<
である必要があることを指摘しておく必要があります。
@pckujawa doh! はい。 それは正しいです。
これは、「vsvimシフトタブ挿入モード」でのGoogleでの最初のヒットでした。したがって、挿入モード(ビジュアルモードではない)で機能したのは次のとおりです。
:inoremap <S-Tab> <C-d>
ps素晴らしいプラグインをありがとう!
これはクローズドな問題ですが、ビジュアルモードでタブを押すと、ビジュアルモードの選択が削除されるため、複数のタブを移動するには再選択する必要があります。 これを回避する方法はありますか?
編集:実際には、カーソルを奇妙な種類の挿入(オーバーライド)状態にします。
編集2:また、中央のタブコンテンツを削除し、タブの境界に再配置するVisualStudioのタブ機能を尊重していないようです。
タブ/ Shiftタブの後に選択を復元するには、次のバインディングを使用できます。
vmap <Tab> >gv
vmap <S-Tab> <gv
これにより、選択が失われる問題が修正されます。 これはグーグルでの最初のヒットなので、ロード間で持続するために.vsvimrcファイルに入れたものは次のとおりです...
:vmap <Tab> >>
:vmap <S-Tab> <<
:inoremap <S-Tab> <C-d>
:vmap <Tab> >gv
:vmap <S-Tab> <gv
.vsvimrcファイルの最初の2行は必要ありません。 3行目と4行目はそれを上書きします。
最初は:
で動作するかどうかわかりません。 .vsvimrcに次の行があります
" Un-\Ident in Normal mode with Shift\Tab
nnoremap <Tab> >>
nnoremap <S-Tab> <<
" Un-\Ident in Insert mode with Shift\Tab
inoremap <Tab> <C-t>
inoremap <S-Tab> <C-d>
" Un-\Ident in Visual mode with Shift\Tab
vnoremap <Tab> >gv
vnoremap <S-Tab> <gv
そしてそれはほぼ完璧に動作します😄
ああ、それらがどのように連鎖しているかどうかはわかりませんでした。 私はまだvimにかなり慣れていません。 ただし、フロントの:
では機能します。
Idealist1508が言及したコードを配置した後、VisualStudioに組み込まれているタブオートコンプリートが無効になっているようです。 タブを挿入する代わりに、行をインデントするだけです
最も参考になるコメント
.vsvimrcファイルの最初の2行は必要ありません。 3行目と4行目はそれを上書きします。
最初は
:
で動作するかどうかわかりません。 .vsvimrcに次の行がありますそしてそれはほぼ完璧に動作します😄