替換游標所在行的vi命令 :s/^m// (注意此檔案中^m 是怎樣打出來的 ctrl+v+m)替換檔案中所有出現^m的地方的vi命令:%s/^m//g
ex命令狀態
:set number 顯示行號
:set **d 顯示顯示狀態
:0 檔案首
:1,5 copy 7 塊拷貝(從行號為1的位置向下複製5行貼上到行號為7的後面)
:1,5 del 塊刪除
:1,5 move 7 塊移動
:1,$s/string1/string2/g 全檔案查詢string1並替換為string2
---------------------------
鑑於大家在使用vi 的時候有一定的陌生,在這裡借花獻佛,從兄弟版[shell]中整理出以下關於vi程式設計的高階技巧,希望對大家學習unix有所幫助,並希望大家能結合使用hpux的心得體會對這些經驗進行進一步的擴充套件。
1.交換兩個字元位置
xp2.上下兩行調換
ddp3.把檔案內容反轉
:g/^/m0/ (未通過)
4.上下兩行合併
j5.刪除所有行
dg6.從當前位置刪除到行尾
d$7.從當前位置複製到行尾
y$ 如果要貼上到其他地方 p 就可以了
由於vi 是建立在 ex 上的 所以 當鍵入 : 時就來到了 ex 命令狀態
8.:ab string strings
例如 ":ab usa united states of america" ,
當你在文見裡插入 usa 時
united states of america 就蹦出來了
9.:map keys new_seq
定義你當前 鍵盤命令
10.:set [all]
vi or ex 的編輯狀態
如 顯示每行 :set nu
11.在命令狀態下,nyy表示拷貝從游標行起的下n行內容,p表示paste,可剛複製的內容貼上在游標處的
下面。
12.單個字元替換用r,覆蓋多個字元用r,用多個字元替換乙個字元用s,整行替換用s
13.:%s/old_word/new_word/g
這個指令是於在整個檔案中替換特定字串
14.游標控制
k:上移 nk 上移n行
j:下移 nj 下移n行
將游標移到第n行,按下 mk
將游標移到第m行,按下 "ay'k
即將第n到m的行存到a暫存器,以此類推,b,c........暫存器等
這樣就可以將你常用的需要復用的內容貼上到不同的暫存器中以備用
想貼上到某處,直接將游標移到某地,按下 『ap 即可,以此類推,b,c........暫存器等
在當前螢幕中
h 跳到第一行
m 跳到中間一行
l 跳到最後一行
15.表8-2 刪除命令
刪除命令操作
d l 刪除當前字元(與x命令功能相同)
d 0 刪除到某一行的開始位置
d ^ 刪除到某一行的第乙個字元位置(不包括空格或ta b字元)
d w 刪除到某個單詞的結尾位置
d 3 w 刪除到第三個單詞的結尾位置
d b 刪除到某個單詞的開始位置
d w 刪除到某個以空格作為分隔符的單詞的結尾位置
d b 刪除到某個以空格作為分隔符的單詞的開始位置
d 7 b 刪除到前面7個以空格作為分隔符的單詞的開始位置
d) 刪除到某個語句的結尾位置
d 4) 刪除到第四個語句的結尾位置
d( 刪除到某個語句的開始位置
d } 刪除到某個段落的結尾位置
d 修改到某個段落的結尾位置
c '`
6 for machine in $addr
7 do
8 ping $machine -n 2
9 done
10 done
VI命令綿集
替換游標所在行的vi命令 s m 注意此檔案中 m 是怎樣打出來的 ctrl v m 替換檔案中所有出現 m的地方的vi命令 s m g ex命令狀態 set number 顯示行號 set smd 顯示顯示狀態 0 檔案首 1,5 copy 7 塊拷貝 從行號為1的位置向下複製5行貼上到行號為7的...
Elasticsearch 面試題集綿
問題1 elasticsearch為啥是近實時搜尋?答 a.新增的文件會被收集到indexing buffer中,然後文件從indexing buffer寫入到檔案系統快取中,是需要每秒自動重新整理分片,這時索引文件的變化並不是立即對搜尋可見。問題2 elasticsearch深分頁查詢有什麼問題?...
RabbitMQ 面試題集綿
問題1 為什麼需要通道,而不直接tcp直接通訊?答 a.tcp的建立和銷毀開銷大,建立要三次握手,銷毀要四次揮手 b.如果不用通道,應用程式直接tcp連線到rabbit伺服器,高峰時每秒成千上萬連線就會造成資源的巨大浪費,而且作業系統每秒處理tcp連線數也是有限制的,必定造成效能瓶頸 c.通道的原理...