一、如果在终端中开没有打开vim,可以:
横向分割显示:
$ vim -o filename1 filename2
纵向分割显示:
$ vim -O filename1 filename2
二、如果已经用vim打开了一个文件,想要在窗口中同时再打开另一个文件:
横向分割显示:
:vs filename
纵向分割显示:
:sp filename
其中,vs可以用vsplit替换,sp可以用split替换。
如果finename不存在,则会新建该文件并打开。
三、关闭窗口
关闭光标所在的窗口:
:q 或 :close
关闭除光标所在的窗口之外的其他窗口:
:only
关闭所有窗口:
:qa
四、切换窗口
打开了多个窗口,需要在窗口之间切换时:
ctrl + w w
即按住ctrl键,再按两下w键。
或者ctrl + w <h|j|k|l>
即按住ctrl键,按一次w键,再按一次表示方向的h或j或k或l,则光标会切换到当前窗口的 左|下|上|右 侧的窗口
vi file1 file2 file3
:n 切换到下一个文件 (n=next)
:N 切换到上一个文件
2、在不同窗口中打开多个文件:
如果已经打开一个了一个文件,
则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名,
如此就可以在一个窗口打开多个文件了。
或者用 vi -o file1 file2 file3....用分割屏幕窗口方式同时打开多个文件。
可以使用 ctrl + 两次按 w 或者 ctrl + w 然后按 上下键在上下窗口间切换。
*先使用vi打开一个文件,例如vi actinia_proenrule.sh
*分割窗口打开另外的文件
命令行模式下输入 sp 另外一个文件 就可以水平分割继续打开第二个文件,如果想纵向分割,可以使用vsp 文件名
注:sp=split,vsp=vsplit. 上面的写法是vi支持的简略写法,v实际就是vertical,从中我们可以看出改命令的含义,另外vi不仅仅支持两个文件,还支持更多个文件同时在一个 大的窗口中显示编辑,同时还支持同时打开的两个文件是同一个文件。
*窗口切换
可以使用 ctrl +两次按 w,这样就可以在各个文件中切换
:ls 展示全部的打开文档
:xn 切换到向下的第x个文档
n ctrl+6 : 切换到第n个buffer
ctrl+6 或 :e# 回到前一个编辑文件
分屏
:new xxx
ctrl+w s 对当前文档内容分屏显示
ctrl+w q 关闭所处分屏
ctrl+w o 仅显示当前分屏内容
ctrl+w j k 上下选择分屏
个人觉得最值得用的命令就是ctrl+w w 快速在分屏的两个屏幕中切换
下面写的还没用过~看了大家的分享觉得这几个还不错
:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d: 将 n1行到n2行之间的内容删除
:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,
若不指定n1,n2,则表示将整个文件内容作为command的输入
方式2的优点在可以直接使用nyy和pp命令在各个窗口的文件之间进行拷贝和粘贴,操作比较方便。