vim tips

Reading time ~1 minute

使用方法:

转载

1:使用vim -d file1 file2 直接打开两个文件对比
   或:使用vim file1打开第一个文件,然后使用vert diffsplit file2打开第二个文件进行对比;
       (vert表示垂直分割窗口,默认为水平分割窗口)
2:直接对比两个文件的不同:使用diffthis分别在两个窗口输入;
3:其他技巧:
    3.1:定位不同点:[c、]c 分别跳到前一个、后一个不同点;
    3.2:窗口跳转:ctrl-w w 跳到下一个窗口
            ctrl-w h/l 跳到左侧(右侧)窗口
            ctrl-w j/k 跳到上方(下方)窗口
    3.3:文档合并:dp将差异点的当前文档内容合并到另外一个文档(diff put)
            do 将差异点的另一个文档内容拷贝到当前文档
    3.4:打开文件折叠:(文本默认将部分内容折叠,扩大视野)
            zo 临时展开被折叠的相同内容
            zc 重新折叠

  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
         可以用简单的折叠命令来临时展开被折叠的相同的文本行:
         zo          (folding open, z这个字母看上去比较像折叠的纸)
    
         然后可以用下列命令来重新折叠:
         zc          (folding close)
    

taste是个玄学

Published on November 16, 2022

印度工人

Published on August 30, 2022