vim:

vim 从 vim7 开始加入了多标签切换的功能, 相当于多窗口. 之前的版本虽然也有多文件编辑功能, 但是总之不如这个方便啦。用法:
:tabnew [++opt选项] 〔+cmd〕 文件            建立对指定文件新的tab
:tabc       关闭当前的tab
:tabo       关闭所有其他的tab
:tabs       查看所有打开的tab
:tabp      前一个
:tabn      后一个
标准模式下:
gt , gT 可以直接在tab之间切换。
还有很多他命令, 看官大人自己, :help table 吧。

多窗口创建及焦点切换:

在Vim中开多窗口其实比较简单,也有不只一种方法,直接使用命令:new默认就是打开一个水平分割的新窗口。另外一个命令就是:split(sp)

但是默认水平分割多少有点不爽,因为本来屏幕就是宽屏的,代码几乎不会写那么长了,而真正缺少的垂直空间,所以这个时候就要用到垂直分割了,命令是:vsplit(vs),很简单了一目了然。

打开了这么多窗口不知道如何切换肯定不行啦。切换也很简单,组合键ctrl+w,然后通过j/k,来定位窗口,注意看好窗口光标变化。不过个人感觉这样比较麻烦,每切换一次窗口都要先按组合键才行。还好还有另一种方法,那就是直接连续按两次ctrl+w组合键,vim会自动跳到下一个窗口。

另外更改窗口宽度的命令是: Crtl+w > 将当前窗口向右边扩展一行,将 > 换成 < 就是向左边扩展一行。也可以在之前使用数字代表扩展的行数, 5 Ctrl+w > ,向右边扩展5行。

更改窗口高度类似,只是命令是Ctrl+w + ,增加高度,- 减小高度。

vimdiff:

启动vimdiff

方法一:# vimdiff  FILE_LEFT  FILE_RIGHT

方法二:# vim -d  FILE_LEFT  FILE_RIGHT

方法三:# vim FILE_LEFT 之后打开vim后输入:vertical diffsplit FILE_RIGHT

窗口布局切换

Ctrl-w K(把当前窗口移到最上边)

Ctrl-w H(把当前窗口移到最左边)

Ctrl-w J(把当前窗口移到最下边)

Ctrl-w L(把当前窗口移到最右边)

窗口焦点切换,即切换当前窗口

CTRL-w h 跳转到左边的窗口

CTRL-w j 跳转到下面的窗口

CTRL-w k 跳转到上面的窗口

CTRL-w l 跳转到右边的窗口

CTRL-w t 跳转到最顶上的窗口

CTRL-w b 跳转到最底下的窗口

CTRL-w w 跳转到另一个窗口

CTRL-w CTRL-w 跳转到另一个窗口,同CTRL-w w

光标移动

移动光标,切分窗口会同步移动,使用:set noscrollbind命令可取消同步

]c 跳到下一个不同的地方

[c 跳到上一个不同的地方

上下文折叠

默认情况下,vimdiff会将文件中不同之处上下6行之外的相同文本折叠隐藏,可通过 :set diffopt=context:3 修改显示的上下文行数。

zo 打开折叠

zc 关闭折叠

其他折叠

zf   创建折叠(使用数字表示创建有当前行到下多少行的折叠,比如3j就创建包括4行的折叠)
    zo   打开折叠(l也可以打开折叠)
    zc   关闭当前折叠
    zm   关闭所有折叠
    zr   打开所有折叠
    zE   删除所有折叠
    zd   删除当前折叠
    za   若当前打开则关闭,若当前关闭则打开
    zj   到下一折叠的开始处
    zk   到上一折叠的末尾

文件合并

dp 将当前窗口光标位置处的内容复制到另一窗口

do 将另一窗口光标位置处的内容复制到当前窗口

diffupdate 重新比较两个文件,如果手动修改文件的话有时不会自动同步

文件操作

yy 复制当前行

nyy 复制当前行开始的n行

dd 删除当前行

ndd 删除当前行开始的n行

p 粘贴

u 撤销

CTRL-r 重复(即取消撤销)

wa 全部保存

wqa 全部保存后退出

qa 全部退出

qa! 全部强制退出,不保存文件修改

diff:

diff [option] file1 file2

下边是diff出来的结果:表示file1与file2的从60到63之间4行的比较结果!!

60,63c60,63

< ^[[00;34m malloc|^[[0m      45953       55944474              0^[[00;00m

< ^[[00;34mrealloc|^[[0m       5921         241437              0^[[00;00m   (in place: 1363, dec: 52)

< ^[[00;34m calloc|^[[0m       2171         323352              0^[[00;00m

< ^[[00;34m   free|^[[0m      54747       55682454

---

> ^[[00;34m malloc|^[[0m      47899       55961673              0^[[00;00m

> ^[[00;34mrealloc|^[[0m       8551         283037              0^[[00;00m   (in place: 1411, dec: 52)

> ^[[00;34m calloc|^[[0m       2433         341968              0^[[00;00m

> ^[[00;34m   free|^[[0m      58869       55759829

下边是diff添加选项-crN出来的结果:只发生+或-操作合并显示;发生修改则分开显示!!

*** 37,42 ****
--- 37,43 ----
  #define ENABLE_TOUCH_EVENTS @ENABLE_TOUCH_EVENTS_VALUE@
  #define ENABLE_VIDEO @ENABLE_VIDEO_VALUE@
  #define ENABLE_WEB_SOCKETS @ENABLE_WEB_SOCKETS_VALUE@
+ #define ENABLE_WML @ENABLE_WML_VALUE@
  #define ENABLE_WORKERS @ENABLE_WORKERS_VALUE@
  #define ENABLE_XHTMLMP @ENABLE_XHTMLMP_VALUE@
  #define ENABLE_XPATH @ENABLE_XPATH_VALUE@

*** 126,130 ****
          ENDIF ()
      ENDFOREACH ()

!     SOURCE_GROUP("DerivedSources" REGULAR_EXPRESSION "${DERIVED_SOURCES_WEBCORE_DIR}")
  ENDMACRO ()
--- 126,130 ----
          ENDIF ()
      ENDFOREACH ()

!     SOURCE_GROUP("DerivedSources" REGULAR_EXPRESSION "${DERIVED_SOURCES_DIR}")
  ENDMACRO ()

下边是diff添加选项-uarN出来的结果:从file1的第1225行开始的7行之内有删除,从file2的第1159行开始的6行之内有添加或修改!!

@@ -1225,7 +1159,6 @@
  XPATH support                                            : $enable_xpath
  XSLT support                                             : $enable_xslt
  Spellcheck support                                       : $enable_spellcheck
- Animation API                                            : $enable_animation_api

GTK+ configuration:
  GTK+ version                                             : $with_gtk
diff -uarN r85406/GNUmakefile.am r82327/GNUmakefile.am
--- r85406/GNUmakefile.am   2011-06-20 13:27:54.000000000 +0800
+++ r82327/GNUmakefile.am   2011-06-20 10:23:56.000000000 +0800

vim vimdiff diff 使用及命令相关推荐

  1. 学会使用 diff 和 patch 命令协同开发

    本文我们就来聊聊,怎么使用 diff 和 patch 命令进行协作开发. 之前我在公司上班的时候,需要经常跟外国同事一起协同开发(之前在外企上班).由于是异地协作,所以沟通几乎全部是通过邮件. 我们有 ...

  2. vim查找关键字_vim常用命令及操作

    [1]光标移动 h 光标左移,同 <Left> 键 j 光标下移,同 <Down> 键 k 光标上移,同 <Up> 键 l 光标上移,同 <Up> 键& ...

  3. vim编辑器操作和配置命令大全

    学习链接: vim命令大全 http://blog.csdn.net/scaleqiao/article/details/45153379 vim命令小技巧 http://www.codeceo.co ...

  4. Linux之vim中翻页的命令

    Linux之vim中翻页的命令 当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页 ctrl-f ctrl-b ctr ...

  5. vi/vim的选中/复制/粘贴命令

    原文: https://www.cnblogs.com/GlassHour/p/5503973.html GlassHour vi/vim的选中/复制/粘贴命令 选自http://blog.csdn. ...

  6. linux rcs文件中的ip,linux学习笔记之diff和patch命令

    关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...

  7. vim 删除一行_Vim 日常命令

    vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode) 和  底线命令模式(Last line mode).这三种模 ...

  8. Vim、Shell及Linux命令的高效使用

    文章目录 防火墙添加白名单 查看隐藏文件 FinalShell 文件编码 vim iconv enconv convmv 文件权限 字符串替换.赋值 统计shell脚本耗时 解压tar文件 Linux ...

  9. linux more 乱码,Linux 中vim/more/cat/tail/head 命令查看文件显示乱码

    Linux 中 vim/more/cat/tail/head 命令查看文件显示乱码,乱码原因:Linux默认字符集码为 UTF-8 ,有些其它字库未安装 解决方法: 1)临时解决方法将当前文件强制使用 ...

最新文章

  1. mysql第四章_MySQL必知必会--第二章~第四章--MySQL简介
  2. 如何用纯 CSS 创作气泡填色的按钮特效
  3. Redis 的性能幻想与残酷现实(转)
  4. java大文件 索引_JAVA 大文件上传解决方案(500M以上)
  5. Qt 获取文件夹下所有文件
  6. bzoj1046[HAOI2007]上升序列
  7. windows10小鹤双拼注册表
  8. 【Detectron2】使用 Detectron2 训练基于 coco 数据集的目标检测网络
  9. [html] 你知道什么是反向链接吗?它有什么应用场景呢?
  10. linux系统无root权限lua库安装,liunx系统中安装lua以及torch
  11. json与jsonp应用及其他ajax数据交互方式
  12. alidata mysql 卸载_mysql相关(一)、基本知识
  13. docker-compose的一些理解
  14. Futter基础第12篇: 实现TabController定义顶部tab切换,并介绍生命周期函数
  15. 运维工程师最容易出的状况,咋就找不到问题根因呢?
  16. 听一下牛人是怎样自学MIT计算机系全部课程的[转]
  17. Unity 3D DevLog-WebGL
  18. 智力题------赛马问题
  19. 基于Element UI Calendar实现日程提醒功能
  20. 汉字 计算机 坟墓,让汉字跨越数字化鸿沟

热门文章

  1. MSDN如何找到和打开
  2. 算法的时间复杂度的计算
  3. swfobject1.5
  4. 远景能源 2021 嵌入式笔试题
  5. python-根据语音识别让无字幕视频自动生成字幕,附srt字幕文件
  6. 米家电磁炉显示e10_米家电磁炉深度使用解析 这才是我想要的
  7. Docker —— 用于统一开发和部署的轻量级 Linux 容器【转】
  8. extjs调试错误 TypeError:p is null 或 TypeError: el is null
  9. YoloV5 + deepsort + Fast-ReID 完整行人重识别系统(三)
  10. Go 离线安装依赖包