健兼
vim高级功能
jianzhang

多文件编辑

vim 1.txt 2.txt

  • 在vim命令后面跟多个文件名,即可同时编辑多个文件
  • 命令模式下,:n,切换到下一个文件
  • 命令模式下,:N,编辑上一个文件
  • :n!/:N,丢弃未保存的内容,强制切换
  • 命令模式下,:e 3.txt,编辑新文件“3.txt”
  • 命令模式下,:e#,回到上一次编辑的文件
  • 命令模式下,:ls,列出同时编辑的多个文件项目列表
  • 命令模式 下,:b 2.txt(文件名)/:b 2(编辑列表中的文件项目编号),可直接切换到指定的文件
  • 命令模式 下,:bd 2.txt(文件名)/:bd 2(编辑列表中的文件项目编号),将文件项目从编辑列表中删除
  • 命令模式下,:e! 4.txt,放弃未保存的内容,强制打开文件
  • 命令模式下,:f,显示正在编辑的文件名
  • 命令模式下,:f new.txt,重命名当前编辑的文件名为“new.txt”

可视模式/选择模式

  • 普通模式下,9G(大写),跳转到第9行
  • 普通模式下,v(小写),进入字符选择模式,然后利用光标移动键移动光标,光标走过的字符被选中,再次v(小写)取消选择
  • 普通模式下,V(大写),进入行选择模式,可以上下移动光标选择更多行,再次V(大写)取消选择
  • 普通模式下,ctrl+v(小写),进入区域选择模式,再次ctrl+v(小写)取消选择
  • 选择模式(字符/行/区域)下,d删除选取内容,y复制选取内容,>选中内容缩进

窗口命令(ctrl+w)

命令模式下,:sp 1.txt,横向打开视窗编辑1.txt文件

命令模式下,:vsp 1.txt,纵向打开视窗编辑1.txt文件

普通模式下,ctrl+w <以下命令>

  • s,水平分割窗口
  • v,垂直分割窗口
  • q,结束分割出来的新窗口,有未保存的内容则需要,q!
  • jkhl,移动到上下左右窗口
  • 大写jkhl,将窗口移动到上下左右
  • -+,减小/增加视窗的的高度

外部命令

命令模式下,!可执行外部shell命令,如:!ls显示当前目录的内容

多行编辑

ctrl +v 选取多行,shift+i进行插入,然后两次esc 退出

复制

  • 单行复制 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;
  • 多行复制 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2,

粘贴

在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

删除

x : 删除光标后一个字符 dd : 删除光标所在行,n dd 删除指定的行数

撤销

u : 一步一步撤销 Ctr-r : 反撤销

目录