VI高階命令集錦(轉)
VI高階命令集錦(轉)[@more@]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 { 刪除到某個段落的開始位置d 7 { 刪除到當前段落起始位置之前的第7個段落位置d d 刪除當前行d /t e x t 刪除從文字中出現" t e x t"中所指定字樣的位置,一直向前直到下一個該字樣所出現的位置(但不包括該字樣)之間的內容d fc 刪除從文字中出現字元"c"的位置,一直向前直到下一個該字元所出現的位置(包括該字元)之間的內容d tc 刪除當前行直到下一個字元" c"所出現位置之間的內容D 刪除到某一行的結尾d $ 刪除到某一行的結尾5 d d 刪除從當前行所開始的5行內容d L 刪除直到螢幕上最後一行的內容d H 刪除直到螢幕上第一行的內容d G 刪除直到工作快取區結尾的內容d 1 G 刪除直到工作快取區開始的內容修改命令操作c l 更改當前字元c w 修改到某個單詞的結尾位置c 3 w 修改到第三個單詞的結尾位置c b 修改到某個單詞的開始位置c W 修改到某個以空格作為分隔符的單詞的結尾位置c B 修改到某個以空格作為分隔符的單詞的開始位置c 7 B 修改到前面7個以空格作為分隔符的單詞的開始位置c 0 修改到某行的結尾位置c) 修改到某個語句的結尾位置c 4) 修改到第四個語句的結尾位置c( 修改到某個語句的開始位置c } 修改到某個段落的結尾位置c { 修改到某個段落的開始位置c 7 { 修改到當前段落起始位置之前的第7個段落位置c tc 修改當前行直到下一個字元c所出現位置之間的內容C 修改到某一行的結尾c c 修改當前行5 c c 修改從當前行所開始的5行內容.重複上一次修改! 表8-4 替換命令替換命令操作s 將當前字元替換為一個或多個字元S 將當前行替換為一個或多個字元5 s 將從當前字元開始的5個字元替換為一個或多個字元vi替換使用規則::g/s1/s/s2/s3/g第一個g表示對每一個包括s1的行都進行替換,第二個g表示對每一行包括s1的行所有的s2都用s3替換s表示替換,s2是要被替換的字串,他可以和s1相同(如果相同的話用//代替),s3是替換字串 16.fx往右移動到 x 字元上Fx往左移動到 x 字元上tx往右移動到 x 字元前Tx往左移動到 x 字元後(注意:以上四個命令中,其中x是鍵入的字元);分號,配合 f 和 t 使用,重複一次 ,逗號,配合 f 和 t 使用,反方向重複一次17. vi 環境選項 Solaris kshnoautoindent nomodelines noshowmodeautoprint nonumber noslowopennoautowrite nonovice tabstop=8nobeautify nooptimize taglength=0directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpbtags=tags /usr/lib/tagsnoedcompatible prompt tagstacknoerrorbells noreadonly term=vt100noexrc redraw noterseflash remap timeouthardtabs=8 report=5 ttytype=vt100noignorecase scroll=11 warnnolisp sections=NHSHH HUuhsh+c window=23nolist shell=/bin/ksh wrapscanmagic shiftwidth=8 wrapmargin=0mesg noshowmatch nowriteanyFor C-Shell:setenv EXINIT "set nu"For Bourne or Korn Shell:EXINIT="set nu"; export EXINIT For Korn Shell Only (alternate method): typeset -x EXINIT="set nu"在 .profile 裡設定 vi 的環境選項 , 以上均測試過 18.標記文字 mchar 用字母char標記當前游標的位置 `char 移至char所標記處 'char 移至char標記所在行的開頭處 " 移至當前行上一次所在位置(在游標移動之後)――一個雙引號 '' 移至當前行上第一次所在位置的行的開頭處(在游標移動之後)――兩個單引號19.同時vi多個檔案時,CTRL-SHIFT-6回到上一個檔案,在本次vi的檔案和上次vi的檔案之間切換。但是我發現一個BUG:在用CTRL-SHIFT-6切換到上一個檔案後,用:args檢視多檔案vi狀態時,螢幕底部仍然顯示目前vi的是剛才的檔案。(在HP-UX,Solaris,AIX上透過)也可以使用::e#進行切換20.sco 下VI 要在文字前同樣的字元加用%s/^/要加的內容/g 要在文字後同樣的字元加%s/$/要加的內容/g 21.如何去掉文字中的 ^M 硬回車?不必用binary傳回去再ascii傳回來的方式,用shell或者unix語句實現。cat filename |tr -d '15' >newfile不同的unix系統還存在一些其他不同的命令,如:doscp sed 也可以實現這個功能. dos2unix filename filename2反之unix2dos filename filename2 在vi 中用:$s/^M//g^是crtl-V crtl-M 22.如何在"unix命令列"下將一個檔案的某字串用另一個串換掉sed 's/string1/string2/gp' file1 > file223.將/etc/hosts下所有的地址都ping 2次1 #/usr/bin/sh2 #grad /etc/hosts and ping each address3 cat /etc/hosts|grep -v '^#' | while read LINE4 do5 ADDR=`awk '{print $1}'`6 for MACHINE in $ADDR7 do8 ping $MACHINE -n 29 done10 done24到前一個函式[[ ,到下一個函式]] ,括號配對% ,交叉參考Ctrl_] (事先用ctags做索引),回來用e# ` 編輯一個函式:vi -t 函式名 ,編輯加密文字vi -X25在插入模式下ctrl+p,自動補齊剩餘單詞,以賴規則:tags,以有的單詞等
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-939170/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VI高階命令集錦(zt)
- android高階頁面效果集錦Android
- redis常用資料型別操作命令集錦Redis資料型別
- 必看,Linux系統及資源命令集錦!Linux
- Shell 分析伺服器日誌命令集錦伺服器
- vi命令詳解(轉)
- 東風天錦灑水車,高階底盤環衛車
- CentOS7 vi編輯命令【轉】CentOS
- vue高階進階系列——用typescript玩轉vue和vuexVueTypeScript
- Linux—vim/vi 翻頁跳轉命令快捷鍵Linux
- Pandas高階教程之:Dataframe的重排和旋轉
- postgresql高階應用之行轉列&彙總求和SQL
- 從高階函式--->高階元件函式元件
- 玩轉iOS開發:iOS 11 新特性《高階拖放》iOS
- MongoDB高階應用之資料轉存與恢復MongoDB
- vi 技巧
- Linux命令集合Linux
- VI基本命令(呵呵,轉過來方便自己查閱)
- 高階前端進階(三)前端
- 高階前端進階(七)前端
- 高階前端進階(五)前端
- 帶你玩轉七牛雲端儲存——高階篇
- 轉:成為Java高階程式設計師需要掌握哪些?Java程式設計師
- MongoDB高階應用之資料轉存與恢復(5)MongoDB
- 高階元件元件
- js高階JS
- MYSQL 高階MySql
- Sentinel高階
- MySQL高階MySql
- React 高階應用 -- 高階元件 Heigher Order ComponentReact元件
- Vi替換
- Kotlin——高階篇(二):高階函式詳解與標準的高階函式使用Kotlin函式
- React 進階(三) 高階元件React元件
- React高階指南之高階元件React元件
- Typescript 高階語法進階TypeScript
- 高階前端進階系列 - webview前端WebView
- 高階UI特效之仿3D翻轉切換效果UI特效3D
- 《前端之路》之 JavaScript 高階技巧、高階函式(一)前端JavaScript函式
- 高階查詢