0

Vim で 80 文字を超える行を識別したいのですが、この解決策を見つけました。

match ErrorMsg '\%80v.\+'

これは、html ファイルまたは .vimrc ファイルでは機能しますが、php ファイルでは機能しません。これもphpファイルで直接試しましたが、どちらも機能しませんでした

/\%>80v.\+

問題を特定するための提案はありますか?

4

2 に答える 2

2

:match(および関連する:2match, )の問題:3matchは、パターンが 1 つしかないことです。次のコマンドは前のものをクリアします。matchadd()(それが機能が導入された理由です。)

あなたの定義(それが持っている'id': 1)がまだアクティブであるかどうかを確認することができます

:echo getmatches()
于 2013-05-22T10:42:27.210 に答える
1

トグル可能な関数を使用して、80 文字を超える文字だけを強調表示する、より柔軟なソリューションを次に示します。最初の行を任意のキーバインドに置き換えます。

nnoremap <leader>h :call ToggleOverLengthHighlight()<CR>
let g:overlength_enabled = 0
highlight OverLength ctermbg=black guibg=#212121

function! ToggleOverLengthHighlight()
    if g:overlength_enabled == 0
        match OverLength /\%79v.*/
        let g:overlength_enabled = 1
        echo 'OverLength highlighting turned on'
    else
        match
        let g:overlength_enabled = 0
        echo 'OverLength highlighting turned off'
    endif
endfunction
于 2013-05-22T11:28:08.753 に答える