11 vim 檔案測試 組合條件測試

2021-08-13 19:17:53 字數 4167 閱讀 2432

文字編輯型別

基本模式

編輯模式|命令模式(預設開啟後的模式)

輸入模式

末行模式

內建的命令列介面

開啟檔案:

vim [potion]... file...

+#:開啟檔案後,游標處於第#行的行首

+:開啟檔案後,游標處於最後一行的行首

+/pattern:開啟檔案後,游標處於第乙個被pattern匹配行的行首

模式轉換

編輯模式-->輸入模式

i:在游標所在處前面轉換為輸入

a:在游標所在處後面轉換為輸入

o:在游標所在行下方開啟乙個空行

i:在游標所在行行首輸入

a:在游標所在行行尾輸入

o:在游標所在行上方開啟乙個空行

c:c:

輸入模式-->編輯模式

esc編輯模式-->末行模式

:末行模式-->編輯模式

esc關閉檔案

:q    退出

:q!    強制退出,丟棄做出的修改

:wq    儲存退出

:x    儲存退出

:w /檔案    把文字內容儲存到乙個檔案,檔案存在的話需要w!強制覆蓋

zz:編輯模式下儲存退出

游標跳轉

字元間跳轉

h:向左乙個字元

l:向右乙個字元

#h:向左#個字元

單詞間跳轉

#w:跳轉到下#個單詞詞首

行首行尾跳轉

^:跳轉到行首的第乙個非空白字元

0:跳轉到行首

$:跳轉到行尾

行間跳轉

#g:跳轉到第#行

g:跳轉到最後一行

gg:第一行

句間移動)(

段落間移動}{

字元編輯

x:刪除游標處的字元

#x:刪除游標處起始的#個字元

xp:刪除字元並貼上,實現游標所在字元跟後面乙個字元換位

替換命令

r:替換當前游標所在字元,輸入r再輸入換成的字元

刪除命令

d:可結合游標跳轉字元,實現範圍刪除

d^:刪除游標前所有字元

d$:刪除游標後所有字元

3dw:游標所在及後面3個單詞

dd:刪除一行

#dd:刪除向下#行

貼上命令

p:緩衝區存的如果為整行,則貼上到游標所在行下方;否則則貼上到游標所在處後面

p:緩衝區存的如果為整行,則貼上到游標所在行上方;否則則貼上到游標所在處前面

複製命令

y:複製,可結合游標跳轉字元,yy,#yy

改變命令

c:刪除並進入輸出模式,可結合游標跳轉字元,cc,#cc

視覺化模式

v:按字元選定

v:按行選定

選中結合d,y使用

撤消此前的編輯

u:撤消此前的操作

#u:撤消此前#次的操作

撤消此前的撤消

ctrl+r

重複前面的操作

.翻屏操作

ctrl+f:向後翻一屏

ctrl+b:向前翻一屏

ctrl+d:向後翻半屏

ctrl+u:向前翻半屏

vim自帶練習教程命令

vimttutor

vim中的末行模式(支援命令歷史)

:#    ;第#行,例:5d,刪除第5行

:#,# ;第#到#行

:1,+# ;游標在首行,第一行加後面#行

:. ;當前行

:$ ;最後一行

:.,$-1 ;當前行到倒數第二行

:% ;全文

:/pat1,/pat2/ ;從第一次被pat1匹配到第一次被pat2匹配的行

:r /檔案 ;把檔案插入到當前游標下

查詢:/pattern ;從當前向下查詢整個檔案

:?pattern ;從當前向上查詢整個檔案

n:與命令同方向

n:與命令同反方向

查詢並替換(必須和位址定界一起使用)

:s/pattern/字元/修飾符(s@@@,s###可用其它特殊符號)

前面為要查詢的模式

中間為字元、引用\1、&引用前面pattern匹配的所有字元(為空表示刪除匹配到字元)

修飾符i:忽略大小寫

g:替換所有匹配的字元,預設只替換每行第乙個匹配到的字串

多檔案模式

vim file1 file2 file3 ...

:next    下乙個

:prev    前乙個

:last    最後乙個

:wall    儲存所有

:qwall    儲存退出

多檔案多視窗

vim -o|o file1 file2 ...

-o:水平分割

-o:垂直分割

切換視窗:crtl+w然後按上下左右箭頭

單檔案視窗分割

ctrl+w,s:水平分割

ctrl+w,v:垂直分割

定製vim工作特性

配置檔案

全域性:/etc/vimrc

個人:~/.vimrc

末行模式:當前vim程序有效

行號set number,set nu:顯示行號

set nonu:取消顯示行號

括號匹配(括號高亮顯示)

set showmatch,set sm:顯示

set nosm:不顯示

自動縮排(同上一行縮排)

set ai

set noai

搜尋高亮

set hlsearch

set nohlsearch

語法高亮

syntax on

syntax off

忽略字元大小寫

set ic

set noic

獲取幫助

:help

:help 引數

bash條件測試

檔案測試

存在性測試

-a /file:檔案是否存在,存在為真

-e /file:檔案是否存在,存在為真(一般用-e)

檔案型別測試

-b /file:檔案是否存在且為塊裝置檔案

-c /file:檔案是否存在且為字元裝置檔案

-d /file:檔案是否存在且為目錄檔案

-f /file:檔案是否存在且為檔案

-s /file:檔案是否存在且為套接字檔案

-p /file:檔案是否存在且為命名管道檔案

檔案許可權測試

-r /file:檔案是否存在且執行命令使用者可讀許可權

-w /file:檔案是否存在且可寫許可權

-x /file:檔案是否存在且有執行許可權

檔案特殊許可權測試

-g /file:檔案是否存在且有sgid許可權

-u /file:檔案是否存在且有suid許可權

-k /file:檔案是否存在且有sticky許可權

檔案大小測試

-s /file:檔案是否存在且非空

檔案開啟性測試

-o file:當前使用者是否為檔案屬主

-g file:當前使用者是否為檔案屬組

檔案對比

file1 -ef file2:測試2個檔案是否指向同一裝置上相同inode

file1 -nt file2:file1是否新於file2

file1 -ot file2:file1是否舊於file2

組合條件測試

邏輯運算

第一種方式

command && command

command || command

! command

第二種方式:以測試表示式方式(test,[  ],[[  ]])

測試表示式 -a 測試表示式:與運算,前面測試是,後面繼續測試

測試表示式 -o 測試表示式:或運算,前面測試否,後面繼續測試

! 測試表示式:非運算

例:[ -z `hostname` -o `hostname` == "bogon" ] && hostname "vm180"  測試是否有主機名,有的話是否為bogon,是的話改個名

[ -f /bin/cat -a -x /bin/cat ] && cat /etc/passwd

[ ! \( -w /file -o -x /file \) ]:以普通使用者測試檔案沒有寫許可權再測試沒有執行許可權則為真

11Vim文字編輯器

vim文字編輯器 在linux系統中一切都是檔案,而配置乙個服務就是在修改其配置檔案的引數。vim提供了三種模式 命令模式 輸入模式 末行模式 1.命令模式 每次執行vim編輯器時,預設進入命令模式,命令模式下常用的命令。dd 刪除 剪下 游標所在的整行 5dd 刪除 剪下 從游標出開始的5行 yy...

linux學習筆記11 vim用法2

實操專案 使用vim開啟.man.config檔案,設定顯示行號 vim man.config set nu 設定顯示行號 set nonu 設定不顯示行號移動到第58行行首,再向右移動30字元,移動到第8行行尾,再向左移動3單詞 58g 移動到58行行首 30l 向右移動移動30字元 8g 移動到...

電商雙11聯合壓測

雙11在進行程式擴容後,進行聯合壓測演練,主要上游進行程式層面壓測,下游可以 一併分析壓測情況並進行分析。梳理了程式對於redis的依賴,程式對於資料庫的依賴,程式本身的降級預案,呼叫別人 服務的降級預案。在過程中遇到了一些問題,前邊文章已經分析到一種情況在併發量高時清理磁碟,在 寫日誌程式會發生極...