2

そこで、StackOverflow でこのソリューションを見つけました: Vim 80 列レイアウトの問題

ファイルに長い行を入力する場合、80 文字の制限を超える文字を強調表示したいと思います。多くの人はこの解決策がうまくいくと考えているようですが、私は vimrc ファイルにそれを入れており、何も変わっていないかのように動作します。長い行が強調表示されません。

highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/

参考までに、ここに私の全体.vimrcを示しますが、それほど長くはありません。

" You'll need to add the following to your ~/.vimrc so that pathogen will be loaded
" properly. Filetype detection must be off when you run the commands so its best to
" You'll need to add the following to your ~/.vimrc so that pathogen will be loaded
" execute them first:
"filetype off
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
"filetype on

syntax on

let mapleader = ","
let g:CommandTMaxHeight=25
imap ii <Esc>

map <S-Enter> O<Esc>
map <CR> o<Esc>

set guioptions-=T
set guioptions-=r

set hlsearch
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%79v.\+/
set nocompatible
set ruler
set number
set shellcmdflag=-ic
set list
set expandtab
set tabstop=4
set softtabstop=4
nmap <C-k> ddkP
nmap <C-j> ddp
vmap <C-k> xkP`[V`]
vmap <C-j> xp`[V`]

au! BufWritePost vimrc source %
colorscheme vividchalk
4

4 に答える 4

2

から: https://stackoverflow.com/a/10993757/1701170

augroup vimrc_autocmds
  autocmd BufEnter * highlight OverLength ctermbg=darkgrey guibg=#111111
  autocmd BufEnter * match OverLength /\%75v.*/
augroup END

これは私にとってはうまくいきますが、以前の解決策はそうではありません。正確な理由はわかりませんが、このページの別のコメント投稿者が、augroup行を開いたり閉じたりしない解決策に関して、「これは、特定のバッファーで最初に開いたファイルに対してのみ機能します」と述べたときにヒントを提供します。

開始行と終了行を追加することで、指定されたバッファー内の最初のファイルの問題が解決される理由と、そもそもその問題が存在する理由を誰かが説明できれば、私は啓発されたように感じるでしょう。

于 2012-10-25T02:47:04.730 に答える
1

以下は私のために働くようです:

highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9
match OverLength /\%79v.*/

それは基本的にあなたが持っているものと同じで、色\+が変わったばかりです。*何らかの理由で、回線を変更してもうまくいきませんでした。ひょっとしてキャラのどこかがおかしいのでは?

とにかく - この投稿からコピー: https://stackoverflow.com/a/395326/680238

vimrc で作業するときに使用したものだと思いますが、余談ですが、長すぎる行を強調表示するという考えを捨てて、81 列目に垂直線を配置することにしました。これを試して、どちらが好きかを確認してください。

" Highlight first oversize line
set colorcolumn=81
于 2012-10-25T00:23:10.503 に答える
0

私の意見では、使用する方がはるかにクリーンでtextwidthあり、colorcolumn. 機能の詳細については、ヘルプを参照してください。

set textwidth=80
set colorcolumn=+1

これは、80 列を超えた時点を強調するだけなので、目標を達成できない可能性がありますが、私の意見では、制限に従わないソースからファイルを頻繁にロードしている場合は読みやすくなります。

ColorColumn強調表示は、 highlight グループによって処理されます。

81に設定することもできますが、設定colorcolumnする必要はありませんがtextwidth、私はtextwidth他のいくつかのことにも使用しているので、とにかく設定しておいてください。これによりtextwidth、最大幅で色を変更して取得することができます。

于 2012-10-25T03:18:26.583 に答える