鑑於大家在使用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 多個檔案之間複製貼上 多行縮排
今天用到此功能,順便mark一下。一 多個檔案之間複製貼上 有ex41.py 和 ex42.py兩個檔案,把ex41.py檔案中16 155行複製,貼上到ex42.py檔案中 操作步驟 首先在vi下開啟兩個檔案,先開啟ex42.py,然後用 sp ex41.py命令開啟ex41.py檔案 利用 ww...
python中縮排怎麼打 python如何處理縮排
對於python的這種 縮排 風格,喜歡它的人說這是一種樂趣 不喜歡它的人說這是一門需要卡尺的語言,因為需要使用 游標卡尺 去測量每行 的縮排。不管怎麼樣,python的開發者有意讓違反了縮排規則的程式不能通過編譯,以此讓程式設計師養成良好的程式設計習慣。並且python語言利用縮排表示語句塊的開始...
python如何取消縮排 python如何處理縮排
對於python的這種 縮排 風格,喜歡它的人說這是一種樂趣 不喜歡它的人說這是一門需要卡尺的語言,因為需要使用 游標卡尺 去測量每行 的縮排。不管怎麼樣,python的開發者有意讓違反了縮排規則的程式不能通過編譯,以此讓程式設計師養成良好的程式設計習慣。並且python語言利用縮排表示語句塊的開始...