Linux?CentOS7?vim多文件與多窗口操作方式
窗口是可視化的分割區(qū)域。Windows中窗口的概念與linux中基本相同。連接xshell就是在Windows中新建一個(gè)窗口。而vim打開一個(gè)文件默認(rèn)創(chuàng)建一個(gè)窗口。同時(shí),Vim打開一個(gè)文件也就會(huì)建立一個(gè)緩沖區(qū),打開多個(gè)文件就會(huì)創(chuàng)建多個(gè)緩沖區(qū)。
本文討論vim中打開多個(gè)文件與多個(gè)窗口情況下,如何操作。
對(duì)于vim多文件的編輯與操作,可以參考《Linux CentOS7 vim多文件編輯》。
對(duì)于vim多窗口編輯,可以參考《Linux CentOS7 vim多窗口編輯》。
一、創(chuàng)建多個(gè)窗口
我們用vim打開文件時(shí),默認(rèn)是打開一個(gè)文件,一個(gè)窗口。我們首先討論如何打開多個(gè)文件和多個(gè)窗口。
1.一次打開多個(gè)窗口
在用vim打開文件時(shí),可以添加選項(xiàng),設(shè)置打開多少文件,多少窗口。
其中,-on可以指定上下排列n個(gè)窗口,而-On可以指定左右排列n個(gè)窗口。
o是英語(yǔ)單詞open的首字母;n是一個(gè)整數(shù),指定打開窗口的數(shù)量。
a.多個(gè)窗口與一個(gè)文件
基本格式
vim -on file 上下排列 vim -On file 左右排列
案例
vim -o3 create_win
效果
打開上下排列的三個(gè)窗口,只有一個(gè)窗口中打開一個(gè)文件
b.窗口數(shù)與文件數(shù)一致
基本格式
vim -on file1 file2…filen 上下排列 vim -On file1 file2…filen 左右排列
案例
vim -o3 demo.txt demo_1 demo1.txt
效果
打開上下排列的三個(gè)窗口,每個(gè)窗口中打開一個(gè)文件
案例
vim -O4 demo.txt demo_1 test1.txt test2.txt
效果
打開左右排列的三個(gè)窗口,每個(gè)窗口中打開一個(gè)文件
c.文件多于窗口數(shù)
一般格式
vim -o3 file1 file2 file3 file4 上下排列 vim -O3 file1 file2 file3 file4 左右排列
案例
vim -O3 demo.txt demo_1 test1.txt test2.txt
效果
打開三個(gè)窗口,每個(gè)窗口有一個(gè)文件;因?yàn)槊钍谴蜷_4個(gè)文件,故有一個(gè)文件隱藏,不能顯示
d.窗口多于文件數(shù)
一般格式
vim -o4 file1 file2 file3 上下排列 vim -O4 file1 file2 file3 左右排列
案例
vim -o4 demo.txt demo_1 test1.txt
效果
打開四個(gè)窗口,前3個(gè)窗口都有一個(gè)文件;因?yàn)槊钍谴蜷_四個(gè)窗口,故多出一個(gè)窗口,是空白,沒有打開文件
2.逐步打開多個(gè)窗口
我們先打開一個(gè)文件(或多個(gè)文件),單一窗口。在底行模式下,運(yùn)用命令增加窗口。可以多次重復(fù)操作打開任意多窗口。
操作目標(biāo)
打開三個(gè)文件,分布在三個(gè)窗口中!
a.先打開一個(gè)窗口
vim file1 file2 file3
案例
vim demo.txt for1.sh test1.sh
效果
打開窗口后,利用命令buffers查看打開文件列表
b.再創(chuàng)建一個(gè)新窗口
在當(dāng)前窗口,有三類命令創(chuàng)建新的窗口,功能相同,可根據(jù)愛好使用。
- sp/vs [files] 水平/垂直
- new/vnew [files] 水平/垂直
- ctrl+w+s/v 水平/垂直
案例
我們應(yīng)用:vs for1.sh命令在當(dāng)前窗口的左側(cè)新建一個(gè)窗口,且打開文件for1.sh
c.繼續(xù)創(chuàng)建新窗口
在前述方法的基礎(chǔ)上,可以創(chuàng)建需要的窗口。
案例
使用new test1.sh 在當(dāng)前窗口的上方再創(chuàng)建一個(gè)新窗口,同時(shí)打開文件test1.sh
由此類方法創(chuàng)建的窗口,與一次創(chuàng)建多個(gè)窗口不同,可以設(shè)計(jì)多個(gè)窗口的排列位置。
二、窗口內(nèi)文件處理
關(guān)于窗口大小的調(diào)整及位置的變化,我們不作討論,可以參考前述文章《Linux CentOS7 vim多窗口編輯》。
我們關(guān)注在當(dāng)前窗口中,如何添加文件、切換文件、查看文件等操作。后續(xù)討論窗口間的文件復(fù)制與粘貼。
1.添加文件
在窗口中再添加新的文件,或打開文件,有多種方法。可根據(jù)習(xí)慣選擇合適的。
a.o[pen]
底行模式下,錄入命令
:o file
后跟文件名,將打開該文件。如果該文件在當(dāng)前目錄下存在,將打開;如果文件不存在,將新建該文件。(如o后面不加文件名,將會(huì)打開當(dāng)前文件,相當(dāng)于沒有變化)。
b.e[dit]
底行模式下,錄入命令
:e file
后跟文件名,將打開該文件。如果該文件在當(dāng)前目錄下存在,將打開;如果文件不存在,將新建該文件。
前兩個(gè)添加或打開文件的命令,是打開后即可以編輯。
c.badd
底行模式下,錄入命令
:badd file
后跟文件名,將打開該文件。如果該文件在當(dāng)前目錄下存在,將打開;如果文件不存在,將新建該文件。
該命令是添加一個(gè)文件到緩沖區(qū)內(nèi),并不進(jìn)行編輯。與前兩個(gè)添加或打開文件的命令完全不同。
如果該命令添加的文件在其他窗口中打開,執(zhí)行該命令將沒有效果。
利用ls命令查看緩沖區(qū)存在的文件
2.查看文件
在當(dāng)前窗口的底行模式下,可以用命令查看緩沖區(qū)存在的文件,也可以用快捷鍵循環(huán)查看存在的文件。
a.命令查看
底行模式下,可以用命令ls、files和buffers任意一個(gè)查看緩沖區(qū)存在的文件。如下圖:
在文件列表中,第一列,是文件編號(hào),可以在底行模式下使用該編號(hào)。如果有文件被刪除,編號(hào)將會(huì)不連續(xù)。
第二列,有多種符號(hào)同,代表不同的含義,其中最常用的是%a表示正在編輯的文件;#是前一個(gè)編輯的文件。
第三列,是文件名。
第四列,表示光標(biāo)所處的行數(shù)。如是第0行,表示文件未被編輯過(guò)。
b.快捷鍵循環(huán)查看
底行模式下,可以用命令:b 再按Tab鍵,循環(huán)查看緩沖區(qū)存在的文件。如下圖:
再按一次Tab鍵,顯示2號(hào)文件for1.sh…
如果顯示某一文件后,按回車確認(rèn)鍵,將在當(dāng)前窗口中打開此文件。
在使用b命令時(shí),如果b后沒有空格,直接按Tab鍵,將瀏覽以b開頭的命令:
如:bNext badd ball…
如果顯示某一命令后,按回車確認(rèn)鍵,將執(zhí)行該命令。
如執(zhí)行ball,將按文件數(shù)打開窗口,每個(gè)窗口一個(gè)文件:
c.隱藏文件
底行模式下,錄入命令
:hide
該文件將隱藏,同時(shí),在多窗口情況下,將關(guān)閉該窗口。
3.切換文件
- :b+next b+n n [n];激活列表中的下一個(gè)文件,n后面有文件名時(shí),激活該文件
- :b+previous b+p;激活列表中的前一個(gè)文件
- :b+f b+l 激活列表中的第一個(gè)和最后一個(gè)文件
- :b+# 激活最近訪問(wèn)的文件
- :bulffer+編號(hào);:b+編號(hào);:buffer+文件名;:b+文件名;激活相應(yīng)編號(hào)的文件
給窗口重命名也是一種重新打開文件的方式:
:f file
如果文件存在,將打開文件;文件不存在,將新建文件。
4.刪除文件
刪除文件是在當(dāng)前窗口中的底行模式下,利用bd命令刪除緩沖區(qū)的文件。
:bd[elete] 刪除當(dāng)前正在編輯的文件
:bd n/file
d是delete的首字母,執(zhí)行bdelete與bd命令一樣。
n是緩沖區(qū)文件的編號(hào),如:bd 2 將刪除2號(hào)文件;
file是緩沖區(qū)的文件名,如:bd demo.txt 將刪除demo.txt文件。
5.關(guān)閉文件
關(guān)閉窗口不是退出緩沖區(qū)的文件,而是不在當(dāng)前窗口顯示。如退出某一窗口的文件,該窗口將自動(dòng)關(guān)閉。
有4種關(guān)閉窗口的方式,分別是:離開(quit)、關(guān)閉(close)、隱藏(hide)、關(guān)閉其他窗口。
- ^代表Ctrl鍵
- ^Wq 離開當(dāng)前窗口
- ^Wc 關(guān)閉當(dāng)前的窗口
- ^Wo 關(guān)閉當(dāng)前窗口以外的所有窗口
- quit 離開當(dāng)前窗口
- exit 退出當(dāng)前窗口
- q 或close #關(guān)閉當(dāng)前窗口
- only #保留當(dāng)前窗口,關(guān)閉其它所有窗口
- qall(qa) #退出所有窗口
- wall #保存所有窗口
6.瀏覽文件
在多窗口情況下,可以執(zhí)行命令瀏覽當(dāng)前目錄下的所有文件。此功能不常用,僅供參考。
- :ex 開啟目錄瀏覽器,可以瀏覽當(dāng)前目錄下的所有文件,并可以選擇
- :Sex 水平分割當(dāng)前窗口,并在一個(gè)窗口中開啟目錄瀏覽器,此命令與前述ex基本一樣。S是split的首字母,水平分隔窗口。
- :Vex 垂直分割當(dāng)前窗口,并在窗口中開啟目錄瀏覽器
三、窗口間文件操作
光標(biāo)所在的窗口,稱為當(dāng)前窗口。通過(guò)快捷鍵可以切換到需要的窗口。
1.當(dāng)前窗口命令模式下的復(fù)制
命令模式下:
- yy 復(fù)制當(dāng)前行
- dd 刪除當(dāng)前行
切換窗口,仍在命令模式下:
- p 在當(dāng)前行后粘貼
- P在當(dāng)前行前粘貼
2.當(dāng)前窗口編輯模式下的復(fù)制
可用鼠標(biāo)選擇多行內(nèi)容或字符,按ctrl+insert復(fù)制
切換窗口,仍在編輯模式下:
按shift+insert復(fù)制
3.當(dāng)前窗口底行模式下的刪除或復(fù)制
在當(dāng)前窗口底行模式下,錄入:
2,4d #將刪除2-4行內(nèi)容,內(nèi)容存入無(wú)名寄存器
切換窗口,仍在底行模式下:
錄入:
put
無(wú)名寄存器內(nèi)容將粘貼到當(dāng)前行的后面
切換到命令模式下:
- 按p,無(wú)名寄存器內(nèi)容將粘貼到當(dāng)前行的后面
- 按P,無(wú)名寄存器內(nèi)容將粘貼到當(dāng)前行的前面
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Windows的Apache服務(wù)器上配置對(duì)PHP和CGI的支持
這篇文章主要介紹了在Windows的Apache服務(wù)器上配置對(duì)PHP和CGI的支持,其中CGI腳本文中演示的為Perl示例,需要的朋友可以參考下2015-07-07Linux一個(gè)增強(qiáng)的截圖及分享工具:ScreenCloud
今天小編就為大家分享一篇關(guān)于Linux一個(gè)增強(qiáng)的截圖及分享工具:ScreenCloud,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10BT寶塔Linux服務(wù)器管理助手架設(shè)VPS面板(安裝及初始設(shè)置應(yīng)用)
這篇文章主要介紹了BT寶塔Linux服務(wù)器管理助手架設(shè)VPS面板也是就是BT寶塔助手安裝及初始設(shè)置應(yīng)用演示,需要的朋友可以參考下2017-04-04Jexus開機(jī)自動(dòng)啟動(dòng)配置方法
這篇文章主要為大家詳細(xì)介紹了Jexus開機(jī)自動(dòng)啟動(dòng)的配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06centos7系統(tǒng)部署k8s集群詳細(xì)介紹
大家好,本篇文章主要講的是centos7系統(tǒng)部署k8s集群詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Linux上虛擬機(jī)顯示網(wǎng)絡(luò)不可用的解決方法
這篇文章主要介紹了Linux上虛擬機(jī)顯示網(wǎng)絡(luò)不可用的解決方法,文中通過(guò)圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家解決問(wèn)題有一定的幫助,需要的朋友可以參考下2024-12-12