天天看點

學習筆記(15)vim編輯器

bash中的算數運算

如何實作算數運算

想要實作算數運算,要使用特殊符号或指令,有以下幾種方式:

1、let 變量=算術表達式

2、變量=$[算數表達式]

3、變量=$((算數表達式))

4、變量=$(expr arg1,arg2,arg3.....)

算數表達式的常用符号

普通符号:=,-,+,,/

增強型指派:=,/=,%=,+=,-=

自加和自減運算:++,--

bash的條件測試

測試表達式寫法

1、test 測試表達式

2、[ 測試表達式 ]

3[ [ 測試表達式 ] ]

bash測試表達式測試類型

1、數值測試的特殊符号

-gt:表示左數是否大于右數

-ge:表示左數是否大于等于右數

-eq:表示左數是否等于右數

-ne:表示左數是否不等于右數

-lt:表示左數是否小于右數

-te:表示左數是否等于右數

2、字元串測試的特殊符号
  ==:表示等值測試
  >:表示左數是否大于右數
  <:表示左數是否小于右數
  !=:表示左數是否不等于右數
  =~:表示左側字元串是否能夠被右側的模式所比對到
  -z:測試字元串是否為空
  -n:測試字元串是否不空
           

bash中的自定義退出狀态碼

exit [n]:腳本中一旦遇到exit指令,腳本都會立即終止,不在運作,退出狀态碼取決于exit指令後面的數字

vim編輯器

vim編輯器是vi編輯器的加強版,vi和vim是兩個獨立的應用程式檔案。

但在centos上他們兩個确是同一個應用程式,不過在有些嵌入式環境中,vi是不支援vim功能的。

不是所有發行版vi,vim都同時提供的,但是vi和vim的基本功能都是一樣的

vim打開時預設處于編輯模式

vim的基本使用

在不同模式下每一個基建動作表示的意義是不盡相同的

vim的基本模式

編輯模式或指令模式:表示對檔案進行剪切,複制,粘貼之類的操作

輸入模式或插入模式:表示向文本中插入内容

末行模式:指的是vim編輯器内置的指令行接口

如何使用vim打開檔案

vim [選項] ……檔案……

vim的基本常用選項

+#:打開檔案後,直接讓光标處于第#行的行首

+/模式:打開檔案以後,直接讓光标處于第一個被模式比對到的行的行首

+:打開檔案以後,光标直接處于檔案尾部

vim模式的轉換

編輯模式-->輸入模式

隻需要輸入模式轉換指令即可:

i:在光标所在處前面插入輸入内容,并轉換為輸入模式

a:在光标所在處的後面執行輸入模式

o:表示在光标所在行的下方打開一個新行,并轉換為輸入模式

I:在光标所在行的行首輸入,并轉換為輸入模式

A:在光标所在處行的行尾輸入,并轉換為輸入模式

O:表示在光标所在行的上方打開一個新行,并轉換為輸入模式

輸入模式-->編輯模式

隻需要建入EXC建即可

編輯模式-->末行模式

直接輸入“:”即可

末行模式-->編輯模式

建入EXC即可

輸入模式-->末行模式

它兩不能直接進行,隻能從輸入模式進入編輯模式,再從編輯模式進入末行模式

關閉檔案

在末行模式下關閉:

q:退出

q!:表示強制退出,丢棄做出的修改

wq:儲存退出

x:儲存退出

w 檔案路徑:表示把目前文本的所有文本内容儲存到你所指定的路徑中去

在編輯模式退出:

ZZ:儲存退出

如何在vim中實作光标跳轉

字元間跳轉:

h:向左跳一個字元

l:向右跳一個字元

j:向下跳一個字元

k:向上跳一個字元

單詞間跳轉:

w:下一個單詞的詞首

e:目前或下一個單詞的詞尾

b:目前或前一個單詞的詞首

行首行尾跳轉:

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

0:跳轉至行首;這是絕對行首

$:跳轉至行尾,這是絕對行尾

行間移動:

#G:跳轉至由#指定的行

G:跳轉至最後一行

1G或gg:跳轉至第一行

句間移動:

):跳轉至下一個句子

(:跳轉至前一個句子

段落間移動:

}:跳轉至下一段

{:跳轉至上一段

vim的編輯指令

1、字元編輯

x:删除光标處的字元

#x:删除光标處起始的第#個字元

xp:交換光标所在處的字元及其後面字元的位置

2、删除指令

d:删除指令,可結合光标跳轉字元使用

3、粘貼指令

p(小寫):緩沖區中存儲的如果為整行,則粘貼目前光标所在行的下方,如果不是整行,則粘貼光标所在處的後面

P(大寫):緩沖區中存儲的如果為整行,則粘貼目前光标所在行的上方,如果不是整行,則粘貼光标所在處的前面

4、複制指令

y:複制

5、改變指令

c:主要作用在于某些類的修改操作,并且在執行以後就從編輯模式轉入輸入模式

6、替換指令

r:替換光标所在處的字元

可視化模式

v(小寫):按字元標明

V(大寫):按行標明

撤銷此前的操作:u

撤銷此前的撤銷:ctrl+r

重複前一個編輯操作:.

翻屏操作

ctrl+f:向檔案尾部翻一屏

ctrl+b:向檔案首部翻一屏

ctrl+d:向檔案尾部翻半屏

ctrl+u:向檔案首部翻半屏

vim中的末行模式

1、位址定界

在實作文本操作和編輯時可以在這直接指定哪些範圍内的文本資訊

書寫方式:

起始位置,結束位置

例:

#:表示具體的第幾行

#,#:從左側#表示行開始,到右側#表示行結束

#,+#:表示從第#行開始,加上#行進行操作,作用對象一共有1+#行

在#的表示方式中,有幾個特殊符号:

.:表示目前行

$:最後一行

%:全文,相當于1,$

#還能做減法操作

.,$-1:表示從目前行開始到倒數第二行

還能使用模式

/模式1/,/模式2/

表示從第一次被模式1比對到的行開始,到第一次被模式2比對到的行結束

模式還可以和#使用:

5,/模式/

/模式/,$

修飾符:
  i:表示查找時忽略大小寫
  g:表示全局替換
  注意:如果不使用g,預設情況下,每一行隻替換第一次出現的内容,可使用模式、後向引用。
  如果查找替換中的内容出現與分隔符一樣的符号時,要使用轉義符“\”,也可以不使用轉義符,将分隔符換成别的符号就行
  &:表示引用前面查找到的所有字元