民宿网站建设,百度网页版入口在线登录,做淘宝联盟必须要有网站吗,河源网站开发我们在用vim编辑文件时#xff0c;有各种需求。如有时需要在多个文件之间来回操作#xff0c;一会关闭一个文件#xff0c;一会再打开另外一个文件#xff0c;这样来回操作显得太笨拙。有时#xff0c;vim编辑多行的大文件#xff0c;来回查看、编辑前面一部分及最后一部…我们在用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 左边新建一个窗口仍是打开file1v是vertical的简写 :vnew file2 左边新建一个窗口仍是打开file2 :new窗口名(保存后就是文件名) (3) ctrlw s/v
前两种方法是在底行模式下录入命令创建新窗口本方法是利用快捷键新建窗口因方法简单仅能创建原文件的新窗口。 ctrlw s 水平分割 ctrlw v 垂直分割
这里的w是window的意思。快捷键ctrlw后面会多次用到再加不同的选项产生不同的功能与效果。
每个窗口可以继续被无限分割看屏幕是否足够大。
c.继续创建新窗口
在前述方法的基础上可以创建需要的窗口。可以使用:sp/vs也可以用:new/vnew。通过此方法可以创建三个窗口:可以是上方一个窗口、下方两个窗口或者是上二下一、一左二右、二左一右。
由此类方法创建的窗口与一次创建多个窗口不同各有利弊。 二、窗口位置大小的调整
可以用鼠标先调整xshell会话的窗口大小再调整vim中各窗口大小。
1.窗口大小变化 a.均分 ctrlw 使所有窗口等宽、等高 b.调高 ctrlw _ 最大化活动窗口的高度 [n]ctrlw _ 把活动窗口的高度设置为n行如40ctrlw _ ctrlw 把活动窗口的高度增高1字符 ctrlw n 把活动窗口的高度增高n字符 nctrlw 把活动窗口的高度增高n字符 ctrlw - 把活动窗口的高度减少1字符 ctrlw n- 把活动窗口的高度减少n字符 nctrlw - 把活动窗口的高度减少n字符 c.调宽 ctrlw | 最大化活动窗口的宽度 [N]ctrlw | 把活动窗口的宽度设置为N列 ctrlw 把活动窗口的宽度增宽1字符 ctrlw n 把活动窗口的宽度增宽n字符 nctrlw 把活动窗口的宽度增宽n字符 ctrlw 把活动窗口的宽度减少1字符 ctrlw n 把活动窗口的宽度减少n字符 nctrlw 把活动窗口的宽度减少n字符
(此由可见先按n与先按ctrlw效果相同)
2.窗口位置调换
窗口位置调换实际上就是把左边的窗口调整到右边或上边的窗口调整到下边等等。
在vim中hjkl是移动光标的快捷键与Ctrlw相结合可以对多个窗口进行窗口位置调换。 Ctrlw H[JKL] 多窗口调换 CtrlwL 当前窗口移动到最右边H当前窗口移动到最左边 Ctrlwx 在只有两个窗口的情况下通过此快捷键可以对调窗口位置
如何把上下排列的两个窗口调整为左右排列
按CtrlwH当前窗口将调整为左边另一窗口为右边排列。其他窗口位置调换可以自行测试。
三、切换当前窗口
光标所在的窗口称为当前窗口。通过快捷键可以切换到需要的窗口。
1.循环切换窗口 Ctrlw w
按住Ctrl再按w就可以切换窗口。再按一次w从当前窗口切换到下一个窗口顺时针变化。
案例
当前窗口在左边我们记为窗口中。按一次Ctrlw w光标移动到右上窗口中。如果还想切换再按一次Ctrlw w光标移动到右下窗口中。
所有的vim文件编辑都是对当前窗口有效。执行底行命令也是针对当前窗口。 2.根据方向键切换窗口 Ctrlw ↑↓→←
此方法不受限于顺时针切换窗口可以从当前窗口切换到另一窗口未到需要的窗口可以多次按Ctrlw 方向键一次只能按一个方向键。
3.按字母键切换窗口 Ctrlw h j k l
此方法与上一方法基本相同。在vim中hjkl就是方向键。
操作简单不作演示。
四、退出窗口(文件)
文件内容的修改、保存与文件多少、窗口多少关系不大与单文件单窗口方法相同不再讨论。
跨文件跨窗口的复制与粘贴在理解剪切板的情况下会切换窗口就可以顺利完成操作此处也不作赘述。
仅讨论如何保存退出、强制退出等案例。
一般地讲退出文件就是关闭窗口。但有时关闭窗口并不能退出文件编辑。
为了保证文件能正常退出在编辑完文件后及时保存。
1.单个文件窗口退出
a.退出文件就是关闭窗口
退出文件命令是 :wq:q:q!:x:ZZ
b.关闭窗口就是退出文件
关闭当前窗口的命令是 :close
快捷键 Ctrlwq
2.所有文件的退出
所有文件的退出也是所有窗口关闭。
关闭多个窗口可以用qa!也可以使用close最后一个窗口不能使用close关闭。使用close只是暂时关闭窗口其内容还在缓存中只有使用q!、w!或x才能真正退出。
对于打开文件数与打开窗口数不一致的情况比较复杂我们将在vim多文件多窗口编辑的文章中展开讨论。