vim 多窗口操作

一、打开文件

  1. vim  index.html index.php a.txt  :打开3个文件

2. vim -o index.html index.php a.txt :  水平分割打开3个文件  -O 垂直分割

  1. vim -p index.html index.php a.txt : 打开3个文件,有tab选项卡,tab卡第一个文件名为当前打开的文件

二、基本命令

:e# 或 Ctrl+ˆ      编辑上一个文档,用于两个文档相互交换编辑时使用。?# 代表的是编辑前一次编辑的文档

:n          编辑下一个文档。

:2n        编辑下两个文档。

:N          编辑上一个文档。注意,该方法只能用于同时打开多个文档。

:b          文档名或编号      移至该文档。

Ctrl+6    下一个文件

:bn         下一个文件

:bp        上一个文件

:f          或者 ctrl+g     :  显示当前文件的基本信息

:f         文档名         改变编辑中的文档名。(file) ,  保存后生成一个新文件, 原来文件内容不变

三、多窗口下

(1) :ls    查看打开的文件

  1.  %a  正在编辑的文件,  #a 上次编辑的文件的文件  a 正常

  2.  后面一个有一个 + 号,表示有修改,没有保存

(2) 切换窗口

  1.  ctrl+w w   依次切换窗口

  2.  ctrl+w  上下左右   hjkl   切换窗口

  3.  ctrl +w   HJKL  可以移动窗口

(3) 关闭窗口

  1. 多窗口下面 :

:q 关闭单个窗口

:qa 关闭所有窗口

  1. ctrl + w  q  : 关闭所处分屏

  2. :only 或者 ctrl+w  o   取消其他分屏,只保留当前分屏

(4) :e 文件 : 打开一个文件

(5) 新建分屏

:new 文件 : 水平分割,打开文件

:sp(split)  文件 : 水平分割,打开指定文件
:vsp(vsplit)  文件 : 垂直分割,打开指定文件

:sv  : 水平分割

:vs : 垂直分割

 

打开当前文件:

ctrl+w 和 s(split)

ctrl+w 和 v(vsplit)

(6) 改变分屏尺寸的操作了。

ctrl+w 和 < 左

ctrl+w 和 > 右

ctrl+w 和 + 上

ctrl+w 和 – 下

ctrl+w 和 = 恢复均等(

这里顺便简单提一下复制,剪切与粘贴操作命令

yy     复制光标所在行

dd     剪切光标所在行

d0  或者 d^   删除光标到行开始的内容

d$  删除光标到行结束的位置

5yy    复制从光标所在行开始计数的下五行文本

5dd    剪切从光标所在行开始计数的下五行文本

v(小写)      visual模式,通过上下左右键选择光标“扫过”的所有字符

V (大写)    visual line 模式,通过上下键选择光标“扫过”的所有行

ctrl + v        visual block 模式,通过上下左右键选择一个矩形文本

y    复制在visual模式, visual line模式和visual block 模式下选择的文本

d    剪切在visual模式, visual line模式和visual block 模式下 选择的文本

p(小写)  粘贴,  粘贴位置为光标所在行的下一行

P(大写)  粘贴,  粘贴位置为光标所在行的上一行

u: 撤销操作

r: 重做操作

提示:

(1) 假若我们通过vim打开了多个文件后,想在不关闭vim的情况下继续打开其他文件,如文件file,可在vim中使用如下命令:

:e  file   不会分割窗口

:sp  file  将会水平分割窗口

:vsp  file  将会垂直分割窗口

(2)  vim和shell之间切换

:shell   切换到shell,此时vim在后台运行,在shell中输入命令exit,切换回vim

(3)  在vim中执行shell命令(不切换到shell)

:!command        在执行的命令前加上!,如!ls ,!ls -a
 r  !command       将command命令的执行结果插入到文本当前行的下一行
 3  !command      将文本中第三行的内容输入到命令command中进行处理,并将第三行的内容替换为命令的执行结果
:1,3   !command    将文本中第一行到第三行的内容输入到命令command中进行处理,并将第一行到第三行的内容替换为命令的执行结果
 3  w !command      将文本中第三行的内容输入到命令command中进行处理,不改变当前编辑文件的内容.

:1,3  w  !command    将文本中第一行到第三行的内容输入到命令command中进行处理,不改变当前编辑文件的内容