Візьміть відмінність двох вертикальних відкритих вікон у Vim


102

У мене відкрито два файли. Вони відкриваються у вертикальному режимі, поруч із наступним. Чи можу миттєво відрізняти ці два файли, не залишаючи або закриваючи Vim?

Відповіді:


154

Щоб почати відрізнятись від усіх видимих ​​вікон:

:windo diffthis

який виконується :diffthisна кожному вікні.

Для завершення режиму різниці:

:diffoff!

!марці diffoffзастосовується до всіх вікон поточної вкладки - було б непогано , якби diffthisмали таку ж функцію, але це не так.)


:windoКоманда робить його ще краще. Дякую. Я буду картати його, щоб було легше.
Фатих Арслан

1
Це гарна відповідь, але зауважте, що вікно minibufexplorer слід закрити перед цією операцією, якщо його відкрити. В іншому випадку diff показує неправильні результати.
лисини

Можна використовувати псевдонім :windo difft[this]. :help diff
Відгук

@FatihArslan,: windo diffthis нічого не робить у моєму випадку, а лише залишає в лівій частині сірий стовпчик поруч із номерами рядків. У мене відкрито два різні файли Vim.
earik87

22

у кожному з вікон ви хочете відрізняти тип:

:diffthis

Якщо ви хочете відрізняти всі відкриті вікна, ви можете зробити:

:windo diffthis

( windoзастосує команду до всіх відкритих вікон)


6

Слідкуючи за попередніми відповідями,

  • :windo difft (скорочено для diffthis ) запустить різний режим у всіх відкритих вікнах.
  • :windo diffo(скорочено для diffoff) зупинить режим різниці у всіх відкритих вікнах.

У мене є такі відображення, vimrcщоб полегшити:

command! Difft windo diffthis
command! Diffo windo diffoff

3

Дотримуючись попередніх відповідей, я адаптував відображення, надане @cxw. Наступне відображення автоматично закриває NERDTree і відрізняє відкриті вікна. Не має значення, чи NERDTree знаходиться поруч, він працює так само. Я роблю це досить часто, тому це врятувало мене досить багато часу.

command! Difft NERDTreeClose | windo diffthis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.