web-dev-qa-db-ja.com

gvimのウィンドウ幅を80列のテキストと行番号を表示するために必要なものに設定するにはどうすればよいですか?

私はgvimを

set number

私の.vimrcしたがって、すべての行の前に行番号とスペースが表示されます。

ドキュメントの行数が10行未満の場合、これには2列かかり、10行を超える場合、3列になります。

入れたら

set lines=40 columns=80

.gvimrc、78列のコードと、行番号とペースの2、または77 +3などが表示されます。

ウィンドウ幅を80列+行番号を表示するために必要な列数に設定したいのですが。

動的である必要はありませんが、特定のファイルの行数を読み取り、それに応じてcolumnsを設定できるようにしたいと思います。 (もちろん、動的なソリューションは本当に素晴らしいですが、必須ではありません)

9
Elton Carvalho

〜/ .vimrcでこれを試してください:

au BufRead * let &numberwidth = float2nr(log10(line("$"))) + 2
          \| let &columns = &numberwidth + 80

最大の行番号を表示するために必要な列数を決定するバッファをロードする(つまり、ファイルを開く)たびに、それに応じて「numberwidth」オプションを設定し、「columns」をその数にテキストの80を加えた数に設定します。

9
garyjohn

私が使う

set lines=24 columns=84

私の$ HOME/.gvimrcで、あなたが欲しいものを私に与えてくれます。 999行より長いファイルを持っていることはめったにないので、うまくいきます。

たとえば、numberwidthを5に設定してから、列を85(80 + 5)に設定します。これは、0行から100万行のファイルに適しています。

これがあなたが入れなければならないかもしれないものです(デフォルト)〜/ .vimrcファイル

set numberwidth=5  "Good for files upto a million lines
set columns=85
set nu

行番号は、デフォルトの '%d'形式ではなく '%5d'(5は上記の番号幅)で形式化されており、行番号の前に少し不動産を浪費していますが、一貫性は維持されています。

2
isound