开发者

Linux CentOS7 vim多文件与多窗口操作方式

开发者 https://www.devze.com 2023-11-19 12:51 出处:网络 作者: qq_36142959
目录一、创建多个窗口1.一次打开多个窗口2.逐步打开多个窗口二、窗口内文件处理1.添加文件2.查看文件3.切换文件4.删除文件5.关闭文件6.浏览文件三、窗口间文件操作1.当前窗口命令模式下的复制2.当前窗口编辑模式下的
目录
  • 一、创建多个窗口
    • 1.一次打开多个窗口
    • 2.逐步打开多个窗口
  • 二、窗口内文件处理
    • 1.添加文件
    • 2.查看文件
    • 3.切换文件
    • 4.删除文件
    • 5.关闭文件
    • 6.浏览文件
  • 三、窗口间文件操作
    • 1.当前窗口命令模式下的复制
    • 2.当前窗口编辑模式下的复制
    • 3.当前窗口底行模式下的删除或复制
  • 总结

    窗口是可视化的分割区域。Windows中窗口的概念与linux中基本相同。连接xshell就是在Windows中新建一个窗口。而vim打开一个文件默认创建一个窗口。同时,Vim打开一个文件也就会建立一个缓冲区,打开多个文件就会创建多个缓冲区。

    本文讨论vim中打开多个文件与多个窗口情况下,如何操作。

    对于vim多文件的编辑与操作,可以参考《Linux Centos7 vim多文件编辑》。

    对于vim多窗口编辑,可以参考《Linux CentOS7 vim多窗口编辑》。

    一、创建多个窗口

    我们用vim打开文件时,默认是打开一个文件,一个窗口。我们首先讨论如何打开多个文件和多个窗口。

    python

    1.一次打开多个窗口

    在用vim打开文件时,可以添加选项,设置打开多少文件,多少窗口。

    其中,-on可以指定上下排列n个窗口,而-On可以指定左右排列n个窗口。

    o是英语单词open的首字母;n是一个整数,指定打开窗口的数量。

    a.多个窗口与一个文件

    基本格式

    vim -on file  上下排列
    vim -On file  左右排列

    案例

    vim -o3 create_win

    效果

    打开上下排列的三个窗口,只有一个窗口中打开一个文件

    Linux CentOS7 vim多文件与多窗口操作方式

    b.窗口数与文件数一致

    基本格式

    vim  -on  file1 file2…filen  上下排列
    vim  -On  file1 file2…filen  左右排列

    案例

    vim  -o3  demo.txt demo_1 demo1.txt

    效果

    打开上下排列的三个窗口,每个窗口中打开一个文件

    Linux CentOS7 vim多文件与多窗口操作方式

    案例

    vim  -O4  demo.txt demo_1 test1.txt test2.txt

    效果

    打开左右排列的三个窗口,每个窗口中打开一个文件

    Linux CentOS7 vim多文件与多窗口操作方式

    c.文件多于窗口数

    一般格式

    vim -o3 file1 file2 file3 file4  上下排列
    vim -O3 file1 file2 file3 file4  左右排列

    案例

     vim -O3 demo.txt demo_1 tes编程客栈t1.txt test2.txt

    效果

    打开三个窗口,每个窗口有一个文件;因为命令是打开4个文件,故有一个文件隐藏,不能显示

    Linux CentOS7 vim多文件与多窗口操作方式

    d.窗编程客栈口多于文件数

    一般格式

    vim  -o4  file1  file2 file3  上下排列
    vim  -O4  file1  file2 androidfile3  左右排列

    案例

    vim  -o4 demo.txt demo_1 test1.txt

    效果

    打开四个窗口,前3个窗口都有一个文件;因为命令是打开四个窗口,故多出一个窗口,是空白,没有打开文件

    Linux CentOS7 vim多文件与多窗口操作方式

    2.逐步打开多个窗口

    我们先打开一个文件(或多个文件),单一窗口。在底行模式下,运用命令增加窗口。可以多次重复操作打开任意多窗口。

    操作目标

    打开三个文件,分布在三个窗口中!

    a.先打开一个窗口

    vim file1 file2 file3

    案例

    vim demo.txt for1.sh test1.sh

    效果

    打开窗口后,利用命令buffers查看打开文件列表

    Linux CentOS7 vim多文件与多窗口操作方式

    b.再创建一个新窗口

    在当前窗口,有三类命令创建python新的窗口,功能相同,可根据爱好使用。

    • sp/vs [files]     水平/垂直
    • new/vnew [files]     水平/垂直
    • ctrl+w+s/v     水平/垂直

    案例

    我们应用:vs for1.sh命令在当前窗口的左侧新建一个窗口,且打开文件for1.sh

    Linux CentOS7 vim多文件与多窗口操作方式

    c.继续创建新窗口

    在前述方法的基础上,可以创建需要的窗口。

    案例

    使用new test1.sh 在当前窗口的上方再创建一个新窗口,同时打开文件test1.sh

    Linux CentOS7 vim多文件与多窗口操作方式

    由此类方法创建的窗口,与一次创建多个窗口不同,可以设计多个窗口的排列位置。

    二、窗口内文件处理

    关于窗口大小的调整及位置的变化,我们不作讨论,可以参考前述文章《Linux CentOS7 vim多窗口编辑》。

    我们关注在当前窗口中,如何添加文件、切换文件、查看文件等操作。后续讨论窗口间的文件复制与粘贴。

    1.添加文件

    在窗口中再添加新的文件,或打开文件,有多种方法。可根据习惯选择合适的。

    a.o[pen]

    底行模式下,录入命令

    :o file

    后跟文件名,将打开该文件。如果该文件在当前目录下存在,将打开;如果文件不存在,将新建该文件。(如o后面不加文件名,将会打开当前文件,相当于没有变化)。

    Linux CentOS7 vim多文件与多窗口操作方式

    b.e[dit]

    底行模式下,录入命令

    :e file

    后跟文件名,将打开该文件。如果该文件在当前目录下存在,将打开;如果文件不存在,将新建该文件。

    前两个添加或打开文件的命令,是打开后即可以编辑。

    c.badd

    底行模式下,录入命令

    :badd file

    后跟文件名,将打开该文件。如果该文件在当前目录下存在,将打开;如果文件不存在,将新建该文件。

    该命令是添加一个文件到缓冲区内,并不进行编辑。与前两个添加或打开文件的命令完全不同。

    如果该命令添加的文件在其他窗口中打开,执行该命令将没有效果。

    Linux CentOS7 vim多文件与多窗口操作方式

    利用ls命令查看缓冲区存在的文件

    Linux CentOS7 vim多文件与多窗口操作方式

    2.查看文件

    在当前窗口的底行模式下,可以用命令查看缓冲区存在的文件,也可以用快捷键循环查看存在的文件。

    a.命令查看

    底行模式下,可以用命令ls、files和buffers任意一个查看缓冲区存在的文件。如下图:

    Linux CentOS7 vim多文件与多窗口操作方式

    在文件列表中,第一列,是文件编号,可以在底行模式下使用该编号。如果有文件被删除,编号将会不连续。

    第二列,有多种符号同,代表不同的含义,其中最常用的是%a表示正在编辑的文件;#是前一个编辑的文件。

    第三列,是文件名。

    第四列,表示光标所处的行数。如是第0行,表示文件未被编辑过。

    Linux CentOS7 vim多文件与多窗口操作方式

    b.快捷键循环查看

    底行模式下,可以用命令:b 再按Tab键,循环查看缓冲区存在的文件。如下图:

    Linux CentOS7 vim多文件与多窗口操作方式

    再按一次Tab键,显示2号文件for1.sh…

    如果显示某一文件后,按回车确认键,将在当前窗口中打开此文件。

    在使用b命令时,如果b后没有空格,直接按Tab键,将浏览以b开头的命令:

    如:bNext badd ball…

    如果显示某一命令后,按回车确认键,将执行该命令。

    如执行ball,将按文件数打开窗口,每个窗口一个文件:

    Linux CentOS7 vim多文件与多窗口操作方式

    c.隐藏文件

    底行模式下,录入命令

    :hide

    该文件将隐藏,同时,在多窗口情况下,将关闭该窗口。

    3.切换文件

    •  :b+next b+n n [n];激活列表中的下一个文件,n后面有文件名时,激活该文件
    •  :b+previous b+p;激活列表中的前一个文件
    • :b+f  b+l 激活列表中的第一个和最后一个文件
    • :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 垂直分割当前窗口,并在窗口中开启目录浏览器

    Linux CentOS7 vim多文件与多窗口操作方式

    三、窗口间文件操作

    光标所在的窗口,称为当前窗口。通过快捷键可以切换到需要的窗口。

    1.当前窗口命令模式下的复制

    命令模式下:

    • yy  复制当前行
    • dd  删除当前行

    切换窗口,仍在命令模式下:

    • p 在当前行后粘贴
    • P在当前行前粘贴

    2.当前窗口编辑模式下的复制

    可用鼠标选择多行内容或字符,按ctrl+insert复制

    切换窗口,仍在编辑模式下:

    按shift+insert复制

    3.当前窗口底行模式下的删除或复制

    在当前窗口底行模式下,录入:

    2,4d  #将删除2-4行内容,内容存入无名寄存器

    切换窗口,仍在底行模式下:

    录入:

    put

    无名寄存器内容将粘贴到当前行的后面

    切换到命令模式下:

    • 按p,无名寄存器内容将粘贴到当前行的后面
    • 按P,无名寄存器内容将粘贴到当前行的前面

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号