Сравнение двух файлов в Vim

Можно использовать kill остановить процесс.

Для 'вежливой' остановки к процессу (предпочитают это для нормальной эксплуатации), отправьте SIGTSTP:

kill -TSTP [pid]

Для 'твердой' остановки отправьте SIGSTOP:

kill -STOP [pid]

Обратите внимание, что, если процесс Вы пытаетесь зайти, PID находится в таблице задания Вашей оболочки, это может остаться видимым там, но завершенный, пока процесс не fg'd снова.

Для возобновления выполнения процесса, отправил SIGCONT:

kill -CONT [pid]
65
29.06.2011, 01:40
4 ответа

Откройтесь рядом представление:

Ctrl+w v

Изменение между ними:

Ctrl+w h or l

Контроль команда vimdiff, часть пакета энергии, если Вы хотите подобное разности представление:

vimdiff file1.txt file2.txt
46
27.01.2020, 19:32

Можно также открыть энергию в режиме разделения экрана, с -O опция:-

vim -O file1 [file2 ...]

Чтобы затем включить различный режим необходимо работать :diffthis команда в каждой области.

Другой сценарий примера использования, то, если Вы уже получили один файл, открытый в энергии, и Вы хотите открыть и сравнить его с другим. Затем можно использовать следующие команды энергии:-

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

Можно затем выключить различный режим в каждой области с командой энергии :diffoff.

Править
И другой стандартный, который не был упомянут:-

vim -d file1 [file2 ...]

Это эквивалентно вызову vimdiff непосредственно.

43
27.01.2020, 19:32
  • 1
    :windo :diffthis может использоваться вместо последних трех команд. –  Bernhard 24.10.2012, 14:12

Или просто откройте первый файл в VIM, тогда :vert diffsplit file2 :vertразделит экран по вертикали.

diffsplitвыполняет сравнение и разбивает файлы, а прокрутка блокирует их.

17
27.01.2020, 19:32

Хотя уже был дан ответ, как запустить diff, также важно, как остановить его во всех окнах. Для полноты повторю комментарий от @Bernhard.

Запустить и Остановить различие двух файлов, открытых в 2 окнах (работает как в вертикальном, так и в горизонтальном разделении):

:windo diffthis
:windo diffoff

можно сократить до

:windo difft
:windo diffo

или

:windo difft
:diffo!

Имейте в виду, что открытые окна для отображения содержимого плагина могут привести к проблемам. Так что близкие вещи, такие как NERDtree, minibufexplorer++ и т. д. раньше.

Пользовательские команды:Чтобы упростить задачу, вы можете добавить пользовательские команды в свой~/.vimrc:

command! Difft [ClosePluginWindow |] windo diffthis
command! Diffo windo diffoff

с [ClosePluginWindow |]необязательным для закрытия окон плагинов, которые вы обычно используете. Например, для NERDtree. это будет NERDTreeClose |.

Кредиты идут @cxw и @Jordi Freixa .

3
05.10.2020, 12:57

Теги

Похожие вопросы