可能であれば、現在のモードに応じてvim(カラー、シェイプなど)のカーソルを変更する方法を知りたいです。挿入/通常モードでvimカーソルを変更するにはどうすればよいですか?
私は挿入モードではないことを常に忘れています。コードを入力すると、あらゆる種類の狂ったことが起こります。カーソルに何らかの視覚的な指示があった場合に役立ちます。
可能であれば、現在のモードに応じてvim(カラー、シェイプなど)のカーソルを変更する方法を知りたいです。挿入/通常モードでvimカーソルを変更するにはどうすればよいですか?
私は挿入モードではないことを常に忘れています。コードを入力すると、あらゆる種類の狂ったことが起こります。カーソルに何らかの視覚的な指示があった場合に役立ちます。
私は、通常、他のものの間で、ステータスライン上に現在のvimのモードがあります。シンプルさを求めるなら、only this information onto the statuslineを設定することができます。
しかし、通常は本当にクレイジーなことが起こるのは、キャップロックが押されてコマンドモードになっているときです(hjklは現在HJKLです。ちょうどJとKは、あなたが何かを理解していないときに私が何を意味するかについては、:h J
と:h K
を実行してください)。ちょうどbeware the caps lock keyとあなたはほとんどの時間IMOの大丈夫でしょう。
これはどのようにして質問に答えますか? –
@DavidRivers OPが自分の問題を解決することを要求していたXY問題のアプリケーションです(vimのノーマルモードであることを知らず、カーソルがそれを示すように変更することを知らない)が、代わりに(そしてIMO偉大な解決策ではありません)(状態と彼のステータスラインを高める) –
さまざまなモードでカーソルの形状を変更するには、次のものをvimrcに追加します。 gnome-terminalのために
(バージョン2.26)を編集
if has("autocmd")
au InsertEnter * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
au InsertLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block"
au VimLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
endif
あなたはgnome-terminalの中で複数のプロファイルを使用する場合は、あなたのプロファイルにこれを適応する必要がある場合があります。これは、複数のタブやウィンドウで動作しますKDE4Edit
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
でkonsoleのために
。
http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes
人気のオプション 現在の画面行が強調表示されているかどうかに責任があるcursorline
オプションをトグルしている(バックノーマル モードへと)挿入モードに切り替えることを示します。
:autocmd InsertEnter,InsertLeave * set cul!
または
:autocmd InsertEnter * set cul
:autocmd InsertLeave * set nocul
私はculをデフォルトのアンダーラインの代わりにhiglight bgに設定します:hi CursorLine cterm = NONE ctermbg = black –
これはcygwinのvimでは動作しませんか?私はエディタに入っていて、両方の行に入っていて、完全な列または行を超えてハイライトを設定することはできませんでした。 – TankorSmash
@Tankor: 'cursorline'オプションは、特定の能力。これは '+ syntax'機能でコンパイルされたあらゆるVimインスタンスで利用できます(通常はそうです)。 –
カーソルを挿入モードで点滅させ、他のモードでは静的にするだけで便利です。
set guicursor+=n-v-c:blinkon0
あなたがOSXにtmuxはとiTerm2を使用している場合は、
次はクレジット
if exists('$TMUX')
let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"
let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif
:autocmd InsertEnter * set cul
:autocmd InsertLeave * set nocul
をブロックからのカーソルにカーソルを変更し、現在の行をハイライトします: https://gist.github.com/andyfowler/1195581
これは* iTerm *に特有のものです。標準のものも実際には機能しますが、他のすべてのサポート端末でも機能するので、これはおそらく間違った答えです。ここをクリックしてください - > https://stackoverflow.com/a/42118416/340947 –
xterm/urxvt/...(Linux)の、iTerm2(マック)、ConEmuでのGit Bashの(Windowsの場合)、より(コメントを参照してください):
let &t_SI = "\e[6 q"
let &t_EI = "\e[2 q"
" optional reset cursor on start:
augroup myCmds
au!
autocmd VimEnter * silent !echo -ne "\e[2 q"
augroup END
あなたは tmuxのを使用する場合、あなたがこのようにそれを使用することが重要である(\<Esc>Ptmux;
エスケープなし) - ウィンドウ/ペインを切り替えると、tmuxは正しいカーソル形状を追跡します。 tmuxが動作しない場合は、tmuxを起動する前にTERM=xterm-256color
を設定する必要があります。
その他のオプション(\ Eの後に番号を交換[):
Ps = 0 -> blinking block.
Ps = 1 -> blinking block (default).
Ps = 2 -> steady block.
Ps = 3 -> blinking underline.
Ps = 4 -> steady underline.
Ps = 5 -> blinking bar (xterm).
Ps = 6 -> steady bar (xterm).
あなたはterminus vim pluginを試みることがあります。
挿入モードでは、細い垂直バーにカーソルの形状が変化します。置換モードでは、アンダーラインに変わります。ノーマルモードに戻ると、標準的な「ブロック」形状に戻ります。
私は1つのルールを学ぶことをお勧めします:打ち切り=>打ち込みモードを終了しました。そうすると、あなたが挿入モードになっていないことを忘れた状況は決して観察されません。 – ZyX