1. 程式人生 > >使用Vim -d 比較兩個檔案的內容

使用Vim -d 比較兩個檔案的內容

1. 使用vim的比較模式開啟兩個檔案:
vim -d file1 file2

vimdiff file1 file2


2. 如果已經打開了檔案file1,再開啟另一個檔案file2進行比較:
:vert diffsplit file2
如果沒有用vert命令,diffsplit則會分上下兩個視窗。


3. 如果已經用split方式打開了兩個檔案file1,file2,又想比較兩檔案的不同。
分別在兩個窗口裡面輸入命令:
:diffthis


4. 如果更改了某個視窗的內容,vim又沒有自動更新diff檢查,可以使用如下命令更新:
:diffupdate


5. 定位到不同點:
[c     跳到前一個不同點
]c     跳到後一個不同點


6. 在視窗間跳轉:
ctrl-w w    跳到下一個視窗
ctrl-w h    跳到左側視窗
ctrl-w l    跳到右側視窗
ctrl-w j    跳到下方的視窗
ctrl-w k    跳到上方的視窗


7. 合併文件:
dp          將差異點的當前文件內容應用到另一文件(diff put)
do          將差異點的另一文件的內容拷貝到當前文件(diff get)


8. 上下文的展開和檢視
比較和合並檔案的時候經常需要結合上下文來確定最終要採取的操作。Vimdiff 預設是會把不同之處上下各 6 行的文字都顯示出來以供參考。其他的相同的文字行被自動摺疊。如果希望修改預設的上下文行數為3行,可以這樣設定:
:set diffopt=context:3


zf   建立摺疊(使用數字表示建立有當前行到下多少行的摺疊,比如3j就建立包括4行的摺疊)
    zo   開啟摺疊(l也可以開啟摺疊)
    zc   關閉當前摺疊
    zm   關閉所有摺疊
    zr   開啟所有摺疊
    zE   刪除所有摺疊
    zd   刪除當前摺疊
    za   若當前開啟則關閉,若當前關閉則開啟
    zj   到下一折疊的開始處
    zk   到上一折疊的末尾

相關推薦

使用Vim -d 比較檔案內容

1. 使用vim的比較模式開啟兩個檔案: vim -d file1 file2 或 vimdiff file1 file2 2. 如果已經打開了檔案file1,再開啟另一個檔案file2進行比較: :vert diffsplit file2 如果沒有用vert命令,diff

Python使用difflib模組比較檔案內容異同,同時輸出html易瀏覽

因工作需求,需要對比連個檔案異同,並輸出html格式來對比。 #!/usr/bin/python # -*- coding: utf-8 -*- import sys import difflib def read_file(filename): try: with open(f

.NET CORE下最快比較檔案內容是否相同的方法

最近專案有個需求,需要比較兩個任意大小檔案的內容是否相同,要求如下: 專案是.NET CORE,所以使用C#進行編寫比較方法 檔案大小任意,所以不能將檔案內容全部讀入到記憶體中進行比較(更專業點說,需要使用非快取的比較方式) 不依賴第三方庫 越快越好 為了選出最優的解決方案,我搭建了一個簡單的命令列工程,

.NET CORE下最快比較檔案內容是否相同的方法 - 續

在上一篇博文中, 我使用了幾種方法試圖找到哪個是.NET CORE下最快比較兩個檔案的方法.文章釋出後,引起了很多博友的討論, 在此我對大家的支援表示由衷的感謝. 其中也有博友提出了對於我最後使用ReadOnlySpan的方法的結果的懷疑, 認為它的結果快的不正常, 幾乎超出了磁碟IO速度的限制. 對此我要深

vim比較檔案的不同

本文轉自: 使用vim的比較模式開啟兩個檔案: vim -d file1 file2 或 vimdiff file1 file2 如果已經打開了檔案file1,再開啟另一個檔案file2進行比較: :vert diffsplit file2 如

檔案輸入輸出 c++ 比較文字內容

先看一個小程式: #include <fstream> #include <iostream> using namespace std; int main(){ ofstream op("text1.txt"); o

iOS 對比檔案內容是否相同 MD5摘要 與 直接比較

直接比較兩個檔案的內容 NSString *path = [[NSBundlemainBundle] bundlePath]; NSString *filePath1 = [path str

判斷檔案內容是否相同

package cn.bl.file; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.math.B

實現檔案內容逐行進行對比的shell指令碼

寫一個實現兩個檔案內容逐行進行對比的shell指令碼,將兩個檔案相同的內容輸出到一個檔案中。 程式碼實現如下: #!/bin/bash #output is the same line in file1 andfile2 for line1 in $(cat $1) do

使用grep完成檔案內容的匹配

linux的使用過程中會經常使用到匹配兩個檔案的操作 如果檔案足夠大,就無法通過人手動完成兩個檔案的匹配工作,這時候可以使用grep工具來幫助我們完成對檔案的匹配工作。 grep檔案匹配時用到的引數 grep進行檔案內容匹配工作是用到的引數主要有兩個,分

Linux比較檔案之間的不同

最近在寫一個對比/etc/dhcpd檔案的配置IP和arp -n獲取的IP比對的指令碼。這就要找出兩個輸出檔案之間的差別——即在檔案1中有而在檔案2中沒有部分,或者在檔案2中有而在檔案1中沒有的部分。實現該功能,網上常見的有四種方法,不過在實際測試中發現有一種方法的結果

Linux中比較檔案的差別

linux中比較檔案差異命令diff用法簡介: linux系統的diff命令功能說明如下: diff將以逐行的方式,比較指定文字檔案的不同處。如果要比較目錄,則diff會比較目錄中相同檔名的檔案,但不會比較其中子目錄。 用法: diff [options] from-file to-file 語  法:dif

(巨集程式碼)Execl 中 比較Sheet內容是否一致

自己整理的,但方法Idea是來源【TOO-布丁 (ExcelHome)http://club.excelhome.net/thread-914641-1-1.html】,故稱轉載 CompareSheets.bas 內容如下: Option Explicit Sub C

vimdiff比較檔案

http://blog.csdn.net/zcube/article/details/42298529 實用的vim下比較兩個檔案命令:   1、 vimdiff file1 file2   終端下輸入該命令進入vim,垂直分隔視窗進行比較   2、 vimdiff

java快速比較檔案是否相同

像百度網盤有秒傳的功能,其實他的原理主要是比較需要上傳的檔案和網盤中的檔案是否一樣,如果不一樣則上傳,如果一樣就沒必要上傳檔案,只是將網盤中的檔案指向你的使用者名稱即可,從而實現了秒傳。 通過計算檔案

perl指令碼比較檔案的相同行和不同行

這個指令碼diff.pl用於求兩個檔案相同的行和不同的行所構成的差集(即A中存在而B中不存在的行,及B中存在而A中不存在的行)。 #!/usr/bin/perl use 5.010; use strict; use warnings; use diagnostics;#w

DOS下比較檔案的大小

首先建立一個批處理檔案,命名為comparesize.bat. @echo off rem 比較兩個檔案的大小,返回較大檔案的編號,相同返回0. set file1=%1 set file2=%2 dir /-c %file1%>comparetemp1.txt di

vim檔案之間內容複製貼上

大家都知道在一個檔案中怎麼複製貼上 (yy & p) 現在介紹個簡單的從檔案a中把內容copy 到內容b 1. 在檔案a中選中你要複製的檔案,進入vision模式 通過上下按鍵選中 2 進入命令模式 w! ./txt 就是把檔案copy到txt中了 3 切到目標檔

DOS命令比較文字檔案txt的內容差異

將需要比較的文字檔案放置在同一個資料夾下。 如把a.txt、b.txt、c.txt放在資料夾/home/q/compare下。 1、開啟windows,輸入cmd,開啟DOS視窗。進入檔案目錄/home/q/compare下。 2、如果比較a.txt和b.txt兩個檔案。輸

用python比較文件中內容的不同之處, 並輸出行號和內容.

exist file diff pre ffline += == list cmp 代碼部分: ‘‘‘cmpfile.py - 比對兩個文件, 如果有不同之處, 打印內容和行號‘‘‘ import os class cmpFile: def __init__(