歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux下的編輯器——vi大全

Linux下的編輯器——vi大全

日期:2017/2/27 9:33:16   编辑:更多Linux
  XP 交換兩個字符位置 ddp 上下兩行調換 J 上下兩行合並 dG 刪除所有行 d$ 從當前位置刪除到行尾 y$ 從當前位置復制到行尾, 如果要粘貼到其他地方 p 就可以了 :ab string strings 例如 ":ab usa United States of America" , 當你在文見裡插入 usa 時 United States of America 就蹦出來了 :g/^/m0 把文件內容反轉 :map keys new_seq 定義你當前 鍵盤命令 :set [all] vi or ex 的編輯狀態 如 顯示每行 :set nu :X 然後系統會提示輸入密碼, 輸入密碼後存盤退出, 保存後就加密了 下次編輯時使用vi -x filename, 系統會提示你輸入密碼 在命令狀態下,nyy表示拷貝從光標行起的下n行內容,p表示paste,粘貼下來在光標處。 我常用到的單個字符替換用r,覆蓋多個字符用R,用多個字符替換一個字符用s,整行替換用S :%s/old_Word/new_word/g 這個指令是於在整個文件中替換特定字符串 將光標移到第n行,按下 mk 將光標移到第m行,按下 "ay'k 即將第n到m的行存到a寄存器,以此類推,b,c........寄存器等 不好意思,補充一下,想粘貼到某處,直接將光標移到某地,按下 ‘ap 即可 刪除命令操作 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行內容 替換命令操作 s 將當前字符替換為一個或多個字符 S 將當前行替換為一個或多個字符 5 s 將從當前字符開始的5個字符替換為一個或多個字符 下載 vi替換使用規則: :g/s1/s/s2/s3/g 第一個g表示對每一個包括s1的行都進行替換,第二個g表示對每一行包括s1的行所有的s2都用s3替換 s表示替換,s2是要被替換的字符串,他可以和s1相同(如果相同的話用//代替),s3是替換字符串 fx 往右移動到 x 字符上 Fx 往左移動到 x 字符上 tx 往右移動到 x 字符前 Tx 往左移動到 x 字符後 (注意:以上四個命令中,其中x是鍵入的字符) ; 分號,配合 f 和 t 使用,重復一次 , 逗號,配合 f 和 t 使用,反方向重復一次 建議誰把 :set all 出來的參數及其用法說明一下。注意注明UNIX平台,我發現幾個平台下有些差異。 加密碼我在8 上(bsh) 實驗成功 所以大家最好還是加上 環境!! vi 環境選項 Solaris ksh noautoindent nomodelines noshowmode autoprint nonumber noslowopen noautowrite nonovice tabstop=8 nobeautify nooptimize taglength=0 Directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpBTags=tags /usr/lib/tags noedcompatible prompt tagstack noerrorbells noreadonly term=vt100 noexrc redraw noterse flash remap timeout hardtabs=8 report=5 ttytype=vt100 noignorecase scroll=11 warn nolisp sections=NHSHH HUuhsh+c window=23 nolist shell=/bin/ksh wrapscan magic shiftwidth=8 wrapmargin=0 mesg noshowmatch nowriteany For 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 的環境選項 , 以上均測試過 怎麼沒有介紹標記的,做標記對那種大的程序文件閱讀十分有幫助。 建議大家使用。 標記文本   mchar   用字母char標記當前光標的位置   `char   移至char所標記處   'char   移至char標記所在行的開頭處   "     移至當前行上一次所在位置(在光標移動之後)――一個雙引號   ''    移至當前行上第一次所在位置的行的開頭處(在光標移動之後)――兩個單引號 .重復上一次修改! 大家都說了這麼多了,我也來說兩句 在當前屏幕中 H 跳到第一行 M 跳到中間一行 L 跳到最後一行 同時vi多個文件時,CTRL-SHIFT-6回到上一個文件,在本次vi的文件和上次vi的文件之間切換。其實就是一些文檔寫的 ^^ 但是我發現一個BUG:在用CTRL-SHIFT-6切換到上一個文件後,用:args查看多文件vi狀態時,屏幕底部仍然顯示目前vi的是剛才的文件。 (在HP-UX,Solaris,AIX上通過) 還是使用 :e# 切換比較好,呵呵 %s/^/要加的內容/g 要在文本後同樣的字符加 %s/$/要加的內容/g vi的使用確實太多,大家多多總結交流!!! 追加到緩沖區 對於已經有內容的緩沖區,可以繼續追加內容在其後面,例如: "Ad4w 刪除光標後4個字,並附加到緩沖區a "Ay) 取樣從光標到文件尾的內容,並附加到緩沖區a "K3yy 取樣從光標所在行起的3行內容,並附加到緩沖區k 注意:在追加緩沖區的命令中,原緩沖區的名字一定要大寫,才能將內容追加進去,否則是覆蓋原緩沖區的內容。追加內容在原緩沖區末尾另起一行。 清理掉DOS文本中的^M可以在:1,$s/^M//g,其中^M是CTRL+V, CTRL+M。 刪除從當前行開始到最後一行的所有內容 :.,$d 在:命令行模式下,首先可以確定命令的范圍 .表示當前行;數字表示行號,如1表示第一行,2表示第二行;$表示最後一行 范圍用,分隔


td { font-size: 12px } .commentTextBox { font-family : Verdana; font-size: 13px; } .userData { BEHAVIOR: url(#default#userdata) }



Copyright © Linux教程網 All Rights Reserved