Вы можете попробовать это:
autocmd CursorMoved * :if filewritable(@%)==1 |
\ call matchadd('IncSearch', '\V\<'.escape(expand('<cword>').'\>', '\'), 10, 1) |
\endif
Это сделает подсветку, только если текущее имя буфера является записываемым файлом (не каталогом).Это не удастся, если вы редактируете что-то, что использует BufWriteCmd
для выполнения сохранения (например, если вы редактируете файл внутри zip-архива).
Кстати, вы можете указать эти ошибки?Мне удалось получить ошибку, когда я использовал :e .
, но это не было связано с тем, что вы наблюдаете каталог, оно появилось только потому, что вы забыли сделать экранирование .Если вы написали escape(expand('<cword>'), '\/')
вместо expand('<cword>')
, такая ошибка не появится.