房产网站cms,凡科网是做什么的,加盟网站建设公司,sae wordpress主题窗口是可视化的分割区域。Windows中窗口的概念与linux中基本相同。连接xshell就是在Windows中新建一个窗口。而vim打开一个文件默认创建一个窗口。同时#xff0c;Vim打开一个文件也就会建立一个缓冲区#xff0c;打开多个文件就会创建多个缓冲区。
本文讨论vim中打开多个文…窗口是可视化的分割区域。Windows中窗口的概念与linux中基本相同。连接xshell就是在Windows中新建一个窗口。而vim打开一个文件默认创建一个窗口。同时Vim打开一个文件也就会建立一个缓冲区打开多个文件就会创建多个缓冲区。
本文讨论vim中打开多个文件与多个窗口情况下如何操作。
对于vim多文件的编辑与操作可以参考《Linux CentOS7 vim多文件编辑》。
对于vim多窗口编辑可以参考《Linux CentOS7 vim多窗口编辑》。
一、创建多个窗口
我们用vim打开文件时默认是打开一个文件一个窗口。我们首先讨论如何打开多个文件和多个窗口。
1.一次打开多个窗口
在用vim打开文件时可以添加选项设置打开多少文件多少窗口。其中-on可以指定上下排列n个窗口而-On可以指定左右排列n个窗口。o是英语单词open的首字母n是一个整数指定打开窗口的数量。
a.多个窗口与一个文件
基本格式 vim -on file 上下排列 vim -On file 左右排列
案例 vim -o3 create_win
效果
打开上下排列的三个窗口只有一个窗口中打开一个文件 b.窗口数与文件数一致
基本格式 vim -on file1 file2…filen 上下排列 vim -On file1 file2…filen 左右排列
案例 vim -o3 demo.txt demo_1 demo1.txt
效果
打开上下排列的三个窗口每个窗口中打开一个文件 案例 vim -O4 demo.txt demo_1 test1.txt test2.txt
效果
打开左右排列的三个窗口每个窗口中打开一个文件 c.文件多于窗口数
一般格式 vim -o3 file1 file2 file3 file4 上下排列 vim -O3 file1 file2 file3 file4 左右排列
案例 vim -O3 demo.txt demo_1 test1.txt test2.txt
效果
打开三个窗口每个窗口有一个文件因为命令是打开4个文件故有一个文件隐藏不能显示 d.窗口多于文件数
一般格式 vim -o4 file1 file2 file3 上下排列 vim -O4 file1 file2 file3 左右排列
案例 vim -o4 demo.txt demo_1 test1.txt
效果
打开四个窗口前3个窗口都有一个文件因为命令是打开四个窗口故多出一个窗口是空白没有打开文件 2.逐步打开多个窗口
我们先打开一个文件或多个文件单一窗口。在底行模式下运用命令增加窗口。可以多次重复操作打开任意多窗口。
操作目标
打开三个文件分布在三个窗口中
a.先打开一个窗口 vim file1 file2 file3
案例 vim demo.txt for1.sh test1.sh
效果
打开窗口后利用命令buffers查看打开文件列表 b.再创建一个新窗口
在当前窗口有三类命令创建新的窗口功能相同可根据爱好使用。 sp/vs [files] new/vnew [files] ctrlws/v
案例
我们应用:vs for1.sh命令在当前窗口的左侧新建一个窗口且打开文件for1.sh c.继续创建新窗口
在前述方法的基础上可以创建需要的窗口。
案例
使用new test1.sh 在当前窗口的上方再创建一个新窗口同时打开文件test1.sh 由此类方法创建的窗口与一次创建多个窗口不同可以设计多个窗口的排列位置。
二、窗口内文件处理
关于窗口大小的调整及位置的变化我们不作讨论可以参考前述文章《Linux CentOS7 vim多窗口编辑》。
我们关注在当前窗口中如何添加文件、切换文件、查看文件等操作。后续讨论窗口间的文件复制与粘贴。
1.添加文件
在窗口中再添加新的文件或打开文件有多种方法。可根据习惯选择合适的。
a.o[pen]
底行模式下录入命令 o file
后跟文件名将打开该文件。如果该文件在当前目录下存在将打开如果文件不存在将新建该文件。(如o后面不加文件名将会打开当前文件相当于没有变化)。 b.e[dit]
底行模式下录入命令 e file
后跟文件名将打开该文件。如果该文件在当前目录下存在将打开如果文件不存在将新建该文件。
前两个添加或打开文件的命令是打开后即可以编辑。
c.badd
底行模式下录入命令 badd file
后跟文件名将打开该文件。如果该文件在当前目录下存在将打开如果文件不存在将新建该文件。
该命令是添加一个文件到缓冲区内并不进行编辑。与前两个添加或打开文件的命令完全不同。
如果该命令添加的文件在其他窗口中打开执行该命令将没有效果。 利用ls命令查看缓冲区存在的文件 2.查看文件
在当前窗口的底行模式下可以用命令查看缓冲区存在的文件也可以用快捷键循环查看存在的文件。
a.命令查看
底行模式下可以用命令ls、files和buffers任意一个查看缓冲区存在的文件。如下图 在文件列表中第一列是文件编号可以在底行模式下使用该编号。如果有文件被删除编号将会不连续。
第二列有多种符号同代表不同的含义其中最常用的是%a表示正在编辑的文件;#是前一个编辑的文件。
第三列是文件名。
第四列表示光标所处的行数。如是第0行表示文件未被编辑过。 b.快捷键循环查看
底行模式下可以用命令:b 再按Tab键循环查看缓冲区存在的文件。如下图 再按一次Tab键显示2号文件for1.sh…
如果显示某一文件后按回车确认键将在当前窗口中打开此文件。
在使用b命令时如果b后没有空格直接按Tab键将浏览以b开头的命令
如bNext badd ball…
如果显示某一命令后按回车确认键将执行该命令。
如执行ball,将按文件数打开窗口每个窗口一个文件 c.隐藏文件
底行模式下录入命令 hide
该文件将隐藏同时在多窗口情况下将关闭该窗口。
3.切换文件 :bnext bn n [n]激活列表中的下一个文件,n后面有文件名时激活该文件 :bprevious bp激活列表中的前一个文件 :bf bl 激活列表中的第一个和最后一个文件 :b# 激活最近访问的文件 :bulffer编号:b编号:buffer文件名:b文件名激活相应编号的文件
给窗口重命名也是一种重新打开文件的方式 :f file
如果文件存在将打开文件文件不存在将新建文件。
4.删除文件
删除文件是在当前窗口中的底行模式下利用bd命令删除缓冲区的文件。
:bd[elete] 删除当前正在编辑的文件 :bd n/file
d是delete的首字母执行bdelete与bd命令一样。
n是缓冲区文件的编号如:bd 2 将删除2号文件
file是缓冲区的文件名如:bd demo.txt 将删除demo.txt文件。
5.关闭文件
关闭窗口不是退出缓冲区的文件而是不在当前窗口显示。如退出某一窗口的文件该窗口将自动关闭。
有4种关闭窗口的方式分别是离开quit、关闭close、隐藏hide、关闭其他窗口。 ^代表Ctrl键 ^Wq 离开当前窗口 ^Wc 关闭当前的窗口 ^Wo 关闭当前窗口以外的所有窗口 quit 离开当前窗口 exit 退出当前窗口 q 或close #关闭当前窗口 only #保留当前窗口关闭其它所有窗口 qall(qa) #退出所有窗口 wall #保存所有窗口
6.浏览文件
在多窗口情况下可以执行命令浏览当前目录下的所有文件。此功能不常用仅供参考。 :ex 开启目录浏览器可以浏览当前目录下的所有文件并可以选择 :Sex 水平分割当前窗口并在一个窗口中开启目录浏览器,此命令与前述ex基本一样。S是split的首字母水平分隔窗口。 :Vex 垂直分割当前窗口并在窗口中开启目录浏览器 三、窗口间文件操作
光标所在的窗口称为当前窗口。通过快捷键可以切换到需要的窗口。
1.当前窗口命令模式下的复制
命令模式下 yy 复制当前行 dd 删除当前行
切换窗口仍在命令模式下 p 在当前行后粘贴 P在当前行前粘贴
2.当前窗口编辑模式下的复制
可用鼠标选择多行内容或字符按ctrlinsert复制
切换窗口仍在编辑模式下
按shiftinsert复制
3.当前窗口底行模式下的删除或复制
在当前窗口底行模式下录入
24d #将删除24行内容内容存入无名寄存器
切换窗口仍在底行模式下
录入 put
无名寄存器内容将粘贴到当前行的后面
切换到命令模式下
按p无名寄存器内容将粘贴到当前行的后面
按P无名寄存器内容将粘贴到当前行的前面