簡體   English   中英

如何在Vimdiff中展開/折疊差異部分?

[英]How to expand/collapse a diff sections in Vimdiff?

我今天開始使用vimdiff了,並希望在基於Windows的差異編輯器上做一些我認為理所當然的事情(比如擴展/折疊差異部分,有完整的文件擴展/只有差異,上面有3個上下文行或者以下等)。 我目前只知道以下命令:

鍵盤快捷鍵:

  • d o - 從其他窗口更改到當前窗口。

  • d p - 將當前窗口中的更改放入另一個窗口。

  • ] c - 跳轉到下一個更改。

  • [ c - 跳轉到之前的更改。

  • CTRL + Ww - 切換到另一個分割窗口( CTRL + WCTRL + W執行相同的操作,以防稍后松開CTRL鍵)

有人能指出我正確的方向,所以我可以復制類似的功能嗎?

例如,如果我可以擴展/折疊差異周圍的線條會很好。

除了你提到的那些之外,我只是在分析以下內容時經常使用:

  • :diffupdate :diffu - >重新計算diff,在進行多次更改后很有用vim不再顯示最小的更改。 請注意,只有在vimdiff中修改了文件后,它才有效。 否則,使用:
    • :e如果文件已在vimdiff之外修改,則重新加載文件。
  • :set noscrollbind - >暫時禁用兩個緩沖區上的同時滾動,重新啟用:set scrollbind和scrolling。

您要求的大多數是折疊: vim用戶手冊關於折疊的章節 在差異之外,我有時會使用:

  • zo - >打開折疊。
  • zc - >關閉折疊。

但你可能會更好地服務於:

  • zr - >降低折疊水平。
  • zm - >請多一個折疊級別。

甚至:

  • zR - >完全減少折疊,我說!
  • zM - >折疊最多!

您要求的另一件事,使用n行折疊,可以在選項vim參考手冊部分找到,通過diff部分

  • set diffopt=<TAB> ,然后更新或添加context:n

您還應該查看diff上的用戶手冊部分

設置vimdiff忽略大小寫

開始使用vim diff

 gvim -d main.sql backup.sql &

我發現令人討厭的是,一個文件的MySQL關鍵字是小寫的,另一個是大寫的,顯示了幾乎所有其他行的差異

:set diffopt+=icase

這會動態更新屏幕,您可以輕松地再次關閉它

實際上如果你做Ctrl+WW ,你不需要添加額外的Ctrl 做同樣的事情。

如上所述,ctrl + w,w可用於從窗格導航到窗格。

現在,您可以單獨選擇一個特定的更改並將其粘貼到另一個窗格,如下所示。我正在給出一個例如,好像我想將我的代碼片段從窗格1更改為窗格2,目前我的光標位於pane1

  • 使用Shift-v突出顯示一行,然后使用向上或向下鍵選擇所需的代碼段,並從下面的步驟3繼續將更改粘貼到另一個窗格中。

  • 使用可視模式,然后更改它

    1單擊“v”這將帶您進入可視模式2使用向上或向下鍵選擇所需的代碼3單擊,Esc'轉義鍵4現在使用'yy'復制或'dd'切換更改5 do' ctrl + w,w'導航到pane2 6單擊“p”將您的更改粘貼到您需要的位置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM