2016-08-24 2 views
2

Когда я открываю файл в vim, давайте назовем его «file1.rb», этот файл открывается обычно с подсветкой синтаксиса ruby ​​и без проблем до этого момента.Открытие файла в Vim открывает vim diff?

Когда я открываю 'file2.rb' в новом буфере, он превращает оба буфера в vim diff.

Я могу переключать буферы назад и вперед, но то, что я увижу, - это vim diff файла, открытого в каждом буфере. Когда я удаляю один из буферов, я могу снова использовать vim снова без выделения цвета vim diff.

В настоящий момент у меня открыт только один буфер, поэтому я не сталкиваюсь с этой проблемой, но я бы хотел, чтобы оба этих буфера были открыты одновременно, показывая vim diff файлов.

Где я могу отключить это странное поведение или каким-либо образом я могу остановить это?

+0

Не могли бы вы разместить свой '.vimrc'? Кроме того, просто чтобы вы знали, вы можете использовать команду 'diffoff', чтобы исправить это, хотя я согласен, что было бы лучше, если бы вам никогда не понадобилось. – DJMcMayhem

+0

@DJMcMayhem, пожалуйста, отправьте это как ответ, чтобы я мог его пометить. Большое вам спасибо, 'diffoff' работал. Чтобы снова включить его, все, что мне нужно сделать, это 'diffthis'. Я могу опубликовать мой .vimrc, если вы все еще хотите его увидеть. – csebryam

+0

Несомненно, я могу опубликовать это как ответ, но это действительно больше, чем решение. Если vim автоматически открывается в режиме diff, тогда что-то не так (скорее всего, что-то с вашим. .vimrc') – DJMcMayhem

ответ

1

У Vim есть встроенная команда для отключения режима diff, diffoff. От :help diffoff:

      *:diffo* *:diffoff* 
:diffo[ff] Switch off diff mode for the current window. Resets related 
     options also when 'diff' was not set. 

Если вы хотите быстро исправить, вы можете сделать это всякий раз, когда вы открываете раскол, или даже сделать отображение или autocmd, чтобы сделать его проще. Возможно, что-то вроде

autocmd BufNew * diffoff 

Но это определенно не идеальное решение.

По-прежнему существует проблема того, что вызывает его. Быстрый взгляд на ваш показывает лотов плагинов, но я ничего не вижу в частности, что могло бы вызвать его. Я на 90% уверен, что проблема связана с одним из плагинов, поэтому я бы начал там, когда вы ищете проблему. Кроме того, этот пост более на специальном сайте VIM поможет вам много:

1

режим Diff включен либо одной из команд :diffthis или :diffsplit, или непосредственно :setlocal diff.

Для последнего случая :verbose setlocal diff? может сообщить вам, где он был установлен (при выполнении в одном из затронутых окон).

Для первого вы можете записать полный журнал сеанса Vim с помощью vim -V20vimlog. После выхода из Vim просмотрите файл журнала vimlog для подозрительных команд; т. е. искать «diff».

Смежные вопросы