A. vim打開多個文件時,如何像UltraEdit那樣在同一個窗口上的多標簽形式打開
啟動vim的時候可寬斗以加參數。比如x0dx0agvim -p
B. Vim文件差異比較工具vimdiff和vim -d命令詳細
vimdiff命令是Vim提供的文件差異比較工具,其功能與使用-d啟動參數等價,即vimdiff file1 file2與vim -d file1 file2實現相同效果。本文以vimdiff工具為例,詳細闡述Vim在文件差異比較方面的功能。
啟動Vim diff模式時,默認為垂直分割窗口,若希望使用水平分割顯示結果,可輸入vimdiff -o file1 file2。關於Vim多窗口操作的切換等,更多詳情請參考Vim窗口分割方法。如果某個文件更改後重新進行diff操作,Vim會自動刷新結果。未啟動Vim時,可使用Vim命令行窗口的:diffupdate指令手動刷新。
已啟動Vim後,通過命令行命令:diffsplit、:diffthis或:diffpatch也可進入diff模式。打開Vim的diff窗口後,可使用:qa退出所有窗口,了解詳細退出方式,推薦閱讀14種退出Vim的方法及區別。
默認情況下,vimdiff中連續相同行被折疊,不同文件中存在行分別以藍色和綠色顯示,差異文本則以粉色背景突出,文字以紅色顯示。通過Vim命令行模式或配置文件使用:highlight命令,可個性化設置vimdiff的配色方案,如設置新增行顏色、差異文本顏色等。xterm支持256種顏色,可通過數字引用特定顏色,實現個性化設置。
在某個窗口移動游標時,另一側屏幕同步滾動。使用]c命令可正向跳轉至下一個差異點,[c命令反向跳轉至前一個差異點。通過指定次數,可重復執行跳轉命令,快速跳過多個差異點。例如,當前位於第1個差異點,執行2]c命令將跳至第3個差異點。
默認上下文行數為6行,可通過diffopt=context選項調整,如:set diffopt=context:10將上下文行數設為10。使用zo展開折疊文本,zc命令進行折疊關閉,za命令可同時打開或關閉Vim折疊。更多關於Vim代碼折疊的介紹,請參考相關文章。
對文件進行diff後通常會進行合並。針對當前游標所在差異點,使用dp命令將當前文件內容復制到另一個文件(dp為diff put),do命令將另一文件內容復制到當前行(do為diff get)。Vim配置文件.vimrc可針對diff模式進行個性化設置,詳細配置結構可見相關鏈接。