Linux CentOS7 vim多文件编辑方式

 更新时间:2023年11月08日 10:56:49   作者:qq_36142959  
这篇文章主要介绍了Linux CentOS7 vim多文件编辑方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

我们在用vim编辑文件时,有各种需求。如有时需要在多个文件之间来回操作,一会关闭一个文件,一会再打开另外一个文件,这样来回操作显得太笨拙。有时,vim编辑多行的大文件,来回查看、编辑前面一部分及最后一部分,一个窗口也不好编辑。又比如,想对一个文件修改,多次复制粘贴,一个窗口也不方便。

还好,linux提供了多文件多窗口的模式,让我们在多个窗口中打开一个文件,或打开多个文件,可以对照修改与处理。

窗口是可视化的分割区域。Vim打开一个文件就会建立一个缓冲区,其也可以分割成多个窗口。

为了简化讨论的复杂度,不考虑一个窗口打开多个文件的情况。感兴趣的读者可以参考《Linux CentOS7 vim多文件编辑》。

一、创建窗口

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

1.一次打开多个窗口

在用vim打开文件时,可以添加选项,设置打开多个文件、多个窗口。其中,-on可以指定上下排列n个窗口,而-On可以指定左右排列n个窗口。o是英语单词open的首字母;n是一个整数,指定打开窗口的数量。

a.两个窗口1个文件

基本格式:

  • vim  -o2  file1  上下排列

案例:

  • vim  -o2  demo.txt

基本格式:

  • vim  -O2  file1  左右排列

案例:

  • vim  -O2  demo.txt

b. 多个窗口多个文件(文件多)

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

结果是有一个文件是隐藏的,未显示

c.多个窗口多个文件(窗口多)

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

结果是有一个窗口是空白

2.逐步打开多个窗口

我们先打开一个文件,单一窗口。在底行模式下,添加命令,增加窗口。可以按要求打开任意窗口。

a.先打开一个窗口

vim  file1      

  

(此处打开一个文件与打开多个文件影响不大)

案例:

vim demo.txt

b.再创建一个新窗口

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

(1)sp/vs

  • :sp 上方新建一个窗口,仍是打开file1

  • :vs  左边新建一个窗口,仍是打开file1

如果命令后添加文件名,新建窗口中打开的将是新文件。

  • :sp  file2  上方新建一个窗口,打开文件file2
  • :vs  file2  左边新建一个窗口,打开文件file2

sp是split分隔单词的前两个字符;而vs,有时写作vsp,是vertical split的首字母。

(2)new/vertical new

  • :new  上方新建一个窗口,仍是打开file1
  • :new file2 上方新建一个窗口,仍是打开file2

new命令,将在当前窗口的上方创建一个新窗口,有文件名时,新窗口中打开该文件。

  • :vnew  左边新建一个窗口,仍是打开file1(v是vertical的简写)
  • :vnew file2 左边新建一个窗口,仍是打开file2
  • :new+窗口名(保存后就是文件名)

(3) ctrl+w s/v

前两种方法是在底行模式下,录入命令创建新窗口,本方法是利用快捷键,新建窗口(因方法简单,仅能创建原文件的新窗口)。

  • ctrl+w s 水平分割
  • ctrl+w v 垂直分割

这里的w是window的意思。快捷键ctrl+w后面会多次用到,再加不同的选项,产生不同的功能与效果。

每个窗口可以继续被无限分割(看屏幕是否足够大)。

c.继续创建新窗口

在前述方法的基础上,可以创建需要的窗口。可以使用:sp/vs,也可以用:new/vnew。通过此方法可以创建三个窗口:可以是上方一个窗口、下方两个窗口,或者是上二下一、一左二右、二左一右。

由此类方法创建的窗口,与一次创建多个窗口不同,各有利弊。

二、窗口位置大小的调整

可以用鼠标先调整xshell会话的窗口大小,再调整vim中各窗口大小。

1.窗口大小变化

a.均分

  • ctrl+w = 使所有窗口等宽、等高

b.调高

  • ctrl+w _ 最大化活动窗口的高度
  • [n]ctrl+w _ 把活动窗口的高度设置为n行,如40ctrl+w _
  • ctrl+w + 把活动窗口的高度增高1字符
  • ctrl+w n+ 把活动窗口的高度增高n字符
  • nctrl+w + 把活动窗口的高度增高n字符
  • ctrl+w - 把活动窗口的高度减少1字符
  • ctrl+w n- 把活动窗口的高度减少n字符
  • nctrl+w - 把活动窗口的高度减少n字符

c.调宽

  • ctrl+w | 最大化活动窗口的宽度
  • [N]ctrl+w | 把活动窗口的宽度设置为N列
  • ctrl+w > 把活动窗口的宽度增宽1字符
  • ctrl+w n> 把活动窗口的宽度增宽n字符
  • nctrl+w > 把活动窗口的宽度增宽n字符
  • ctrl+w < 把活动窗口的宽度减少1字符
  • ctrl+w n< 把活动窗口的宽度减少n字符
  • nctrl+w < 把活动窗口的宽度减少n字符

(此由可见先按n与先按ctrl+w效果相同)

2.窗口位置调换

窗口位置调换实际上就是把左边的窗口调整到右边或上边的窗口调整到下边等等。

  • 在vim中,hjkl是移动光标的快捷键,与Ctrl+w相结合,可以对多个窗口进行窗口位置调换。
  • Ctrl+w+ H[JKL]  多窗口调换
  • Ctrl+w+L 当前窗口移动到最右边;+H当前窗口移动到最左边

Ctrl+w+x 在只有两个窗口的情况下,通过此快捷键可以对调窗口位置

如何把上下排列的两个窗口调整为左右排列?

按Ctrl+w+H,当前窗口将调整为左边,另一窗口为右边排列。其他窗口位置调换可以自行测试。

三、切换当前窗口

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

1.循环切换窗口

  • Ctrl+w + w

按住Ctrl,再按w,就可以切换窗口。再按一次w,从当前窗口切换到下一个窗口(顺时针变化)。

案例:

当前窗口在左边,我们记为窗口中。按一次Ctrl+w + w,光标移动到右上窗口中。如果还想切换,再按一次Ctrl+w + w,光标移动到右下窗口中。

所有的vim文件编辑,都是对当前窗口有效。执行底行命令,也是针对当前窗口。

2.根据方向键切换窗口

  • Ctrl+w + ↑↓→←

此方法不受限于顺时针切换窗口,可以从当前窗口切换到另一窗口,未到需要的窗口,可以多次按Ctrl+w +方向键(一次只能按一个方向键)。

3.按字母键切换窗口

  • Ctrl+w + h j k l

此方法与上一方法基本相同。在vim中,hjkl就是方向键。

操作简单,不作演示。

四、退出窗口(文件)

文件内容的修改、保存与文件多少、窗口多少关系不大,与单文件单窗口方法相同,不再讨论。

跨文件跨窗口的复制与粘贴,在理解剪切板的情况下,会切换窗口就可以顺利完成操作,此处也不作赘述。

仅讨论如何保存退出、强制退出等案例。

一般地讲,退出文件就是关闭窗口。但有时关闭窗口并不能退出文件编辑。

为了保证文件能正常退出,在编辑完文件后,及时保存。

1.单个文件(窗口)退出

a.退出文件就是关闭窗口

退出文件命令是:

  • :wq;:q;:q!;:x;:ZZ

b.关闭窗口就是退出文件

关闭当前窗口的命令是:

  •  :close

快捷键

  • Ctrl+w+q

2.所有文件的退出

所有文件的退出也是所有窗口关闭。

关闭多个窗口可以用:qa!,也可以使用:close,最后一个窗口不能使用close关闭。使用close只是暂时关闭窗口,其内容还在缓存中,只有使用q!、w!或x才能真正退出。

对于打开文件数与打开窗口数不一致的情况,比较复杂,我们将在vim多文件多窗口编辑的文章中展开讨论。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux多线程中fork与互斥锁过程示例

    Linux多线程中fork与互斥锁过程示例

    大家好,本篇文章主要讲的是Linux多线程中fork与互斥锁过程示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦
    2021-11-11
  • 一文教你如何快速排查Windows和Linux系统是否被黑

    一文教你如何快速排查Windows和Linux系统是否被黑

    这篇文章主要为大家详细介绍了如何实现快速排查Windows和Linux系统是否被黑,文中通过图文进行了详细介绍,需要的小伙伴可以参考一下
    2023-08-08
  • 详解linux 看门狗驱动编写

    详解linux 看门狗驱动编写

    本篇文章主要介绍了详解linux 看门狗驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • centos通过yum安装php的教程

    centos通过yum安装php的教程

    这篇文章主要介绍了centos通过yum安装php的教程,本文给大家提到了CentOS 7下Yum安装PHP7.2步骤,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Linux常用命令之grep命令用法详解

    Linux常用命令之grep命令用法详解

    这篇文章主要介绍了Linux常用命令grep命令用法详解,grep命令用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。对此感兴趣可以了解一下
    2020-07-07
  • 详解Linux查看实时网卡流量的几种方式

    详解Linux查看实时网卡流量的几种方式

    本篇文章中主要介绍了详解Linux查看实时网卡流量的几种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 详解如何实现Linux服务Crash后自动重启

    详解如何实现Linux服务Crash后自动重启

    近期碰到了一个 Linux Systemd 服务 Crash, Crash 后需要人工介入重启. 那么, 有没有办法如何实现 Linux 服务 Crash 后自动重启,下面就来和大家分享一下
    2023-08-08
  • Linux磁盘配额管理图文案例

    Linux磁盘配额管理图文案例

    在本篇文章里小编给各位分享了关于Linux磁盘配额管理的相关图文案例内容,有需要的朋友们可以学习下。
    2019-08-08
  • 详解Linux获取线程的PID(TID、LWP)的几种方式

    详解Linux获取线程的PID(TID、LWP)的几种方式

    这篇文章主要介绍了详解Linux获取线程的PID(TID、LWP)的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • linux系统安装iso文件方法

    linux系统安装iso文件方法

    在本篇文章中小编给大家整理了关于linux系统下怎么安装iso文件的解决方法和步骤,有需要的朋友们学习下。
    2019-05-05

最新评论