1

ここで取得した.vimrcにこの関数があります

function! SetExecutableBit()
  let fname = expand("%:p")
  checktime
  execute "au FileChangedShell " . fname . " :echo"
  silent !chmod a+x %
  checktime
  execute "au! FileChangedShell " . fname
endfunction
command! Xbit call SetExecutableBit()

を実行する:call SetExecutableBit()と、期待どおりに動作します。しかし、 を実行する:Xbitと、用語からすべての文字が消えます (Gvim では消えません)。これを gnome-terminal と urxvt の両方で再現しました。マウスまたは でテキストを強調表示しようとするとggVG、そのテキストが再び表示されます。

「前」のスクリーンショット:

実行後の用語のスクリーンショット:Xbit:

テキストを選択した後のスクリーンショット:


更新、このエラーは で発生しますが、では発生し--nopluginないため、.vimrc ファイルにあるものでなければなりません: https://gist.github.com/dbb/5373175-u NONE

4

1 に答える 1

1

おそらく、画面を再描画するだけの問題です。関数に a を追加してみて:redrawください。!必要に応じて、このコマンドにa を追加すると、最初に画面がクリアされます。

function! SetExecutableBit()
  let fname = expand("%:p")
   ...
  execute "au! FileChangedShell " . fname
  redraw
endfunction

:h :redraw

于 2013-04-12T16:29:29.133 に答える