6

ターミナルを使用すると、カーソルが設定どおりではないことに気付きました。

つまり、GUI ではカーソルは完璧に見えますが、ターミナルでは更新に時間がかかり、設定したようには見えません。

カーソルの設定は次のとおりです。

set guicursor=n-v-c:block-Cursor-blinkon0
set guicursor+=ve:ver35-Cursor
set guicursor+=o:hor50-Cursor-blinkwait175-blinkoff150-blinkon175
set guicursor+=i-ci:ver20-Cursor
set guicursor+=r-cr:hor20-Cursor
set guicursor+=sm:block-Cursor-blinkwait175-blinkoff150-blinkon175

設定と呼ばれていることに気づきましたguicursorが、ターミナルではこれらの一部が有効になり、完全には有効になりません。

また、カーソルがあまり更新されないようです。たとえば、挿入モードに入ると正しいカーソルが配置されますが、出ると、移動するまで同じカーソルが使用されるか、通常モードのカーソルに更新されます。

これに関するヒントはありますか?それとも我慢するしかないですか?

編集:

私のOSはMountain LionがインストールされたMac Miniです。ターミナルとしてiTerm2を使用しxterm-color256ています。

質問を言い換えると、ターミナルでカーソルの再描画を高速化するにはどうすればよいですか?また、上記の設定をどのように適用できますか? 私はすでに試しttyfastましlazyredrawた。

4

4 に答える 4

7

あなたの設定はGUI Vim用です。それらが CLI Vim で動作することは期待できません。CLI Vim の動作が気に入らない場合は、MacVim を使用してください。

私は私ので実行されたこの関数のわずかに異なるバージョンを持っています~/.vimrc:

" changes the cursor shape/color
" in the terminal depending on the mode
" see http://code.google.com/p/iterm2/issues/detail?id=710&q=cursor
function! SetCursorStyle()
  if &term =~ "xterm\\|rxvt"
    " use a | cursor in insert mode
    let &t_SI = "\<Esc>]50;CursorShape=1\x7"

    " use a rectangle cursor otherwise
    let &t_EI = "\<Esc>]50;CursorShape=0\x7"

    " reset cursor when vim exits
    autocmd VimLeave * silent !echo -ne "\<Esc>]50;CursorShape=0\x7"

  endif
endfunction
于 2012-12-25T13:58:03.877 に答える
1

Cygwin を使用しており、上記の設定を使用していますが、Cygwin の xterm は"\]50;CursorShape=1\x7"を認識できない場合があります。

だから私はこれを試してみました、そしてそれはうまくいきます

if &term =~ "xterm\\|rxvt"
  " use a | cursor in insert mode
  let &t_SI = "\<Esc>[5 q"

  " use a rectangle cursor otherwise
  let &t_EI = "\<Esc>[1 q"
endif

次に、これを .bashrc に追加して、カーソルという用語をブロックに変更します。これは私にとって完璧です。

# change cursor to blinking block
echo -ne "\x1b[1 q"
于 2016-02-25T06:35:15.497 に答える
0

これを試しましたか?

:help 'ttyfast'

カーソルに遅延がある場合は、これを試してください(有効にするにはttyfast

:set ttyfast
于 2012-12-25T13:30:57.483 に答える