Vimで空白行に〜を表示しないことは可能ですか?
これはMacVimのスクロールバーを混乱させ、私はこれらのチルダがまったく好きではありません。
:hi NonText guifg=bg
このコマンドは、テキスト以外の文字の色を背景色と同じに設定する必要があります。
Vim 8.x:
これで、バッファの終わりだけの色を変更できます~
。
highlight EndOfBuffer ctermfg=black ctermbg=black
jamessanが言ったように、それらを無効にすることはできません。スクロール動作もMacVimに固有のものではありません。ターミナルでも、gvimでも同じように機能します。
これを問題として見る代わりに、あなたがすべきことは、これをVimの柔軟性の一部として見ることを学ぶことです。たとえば、ztコマンドを使用して、ファイル内のどこにあるかに関係なく、現在の行を画面の上部にスクロールできます。これにより、いくつかの作業を実行してから元の場所にスクロールして戻るマクロを簡単に作成できます。このため、オプションと同様に、コマンド<C-E>と<C-Y>が単純になり'scrolloffset'
ます。
必要に応じて、脳を再訓練して、Vimのスクロールバーを、画面一杯に表示されるのではなく、どの行が一番上にあるかをマッピングするものと考えるようにします。
これらを無効にすることはできませんが、NonTextハイライトグループがNormalハイライトグループと同じ色になるように配色を変更することはできます。ただし、これはドキュメントのチルダの終わりだけではありません。
それが実際にMacVimのスクロールバーを「混乱させている」とは思えません。もしそうなら、それはMacVimが行うパッチのバグです。
チルダ~
文字は、これらの行がバッファコンテンツの一部ではないことをユーザーに思い出させるためのものです。
上記のハイライトトリックは〜文字を非表示にしますが、それはまだそこにあります。一部の端末では、これでも機能しない場合があります。Neovimユーザーの場合は、fillchars
オプションを使用して、次のようにバッファーの終わりの記号を変更できます。
set fillchars=fold:\ ,vert:\│,eob:\ ,msgsep:‾
~
これにより、バッファの終わりではなくスペースが使用され、煩わしいが効果的に隠さ~
れます。
ここでの議論にも興味があるかもしれません。
NeoVimの場合、のfillchars
値をeob
スペース文字に設定すると、効果的に非表示になります。(これはプレーンなVimでは機能しない可能性があります)。
Lua(Nvim 0.5+):
vim.wo.fillchars='eob: '
VimScriptの場合:
set fillchars=eob:\
注:上記を呼び出すと、他のアイテムの値も上書きさfillchars
れるため(設定されている場合)、これを参照として使用して、複数の値を一緒に設定します。
set fillchars=eob:\ ,fold:\ ,vert:\│
またはset fillchars+=...
、既存の値を追加するために使用します。