• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            chaosuper85

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks
            1)文件操作 vi FileName 打開文件 FileName,并將光標(biāo)置于第一行首。 vi +n FileName 打開文件 FileName,并將光標(biāo)置于第 n 行首。 vi + FileName 打開文件 FileName,并將光標(biāo)置于最后一行。 vi + /pattern File 打開文件 File,并將光標(biāo)置于其中第一個(gè)于 pattern 匹配的字符串處。 vi –r FileName 在上次正用 vi 編輯 FileName 發(fā)生系統(tǒng)崩潰后,恢復(fù)FileName。 vi File1 … Filen 打開多個(gè)文件,依次對(duì)之進(jìn)行編輯。 :%!xxd 按十六進(jìn)制查看當(dāng)前文件 :%!xxd -r 從十六進(jìn)制返回正常模式 :n1,n2 co n3 將 n1 行到 n2 行之間的內(nèi)容拷貝到第 n3 行下。 :n1,n2 m m3 將 n1 行到 n2 行之間的內(nèi)容移至第 n3 行下。 :n1,n2 d 將 n1 行到 n2 行之間的內(nèi)容刪除。 :n1,n2 w filename 將 n1 行到 n2 行之間的內(nèi)容保存到文件 filename 中 :n1,n2 w! Command 將文件中n1行到n2行的內(nèi)容作為 Command的輸入并執(zhí)行之, 若不指定 n1、n2,則將整個(gè)文件內(nèi)容作為 Command 的輸入。 :r! Command 將命令 Command 的輸出結(jié)果放到當(dāng)前行。 :nr 文件> 把文件>插入到第n行 :so 文件> 讀取文件>,再執(zhí)行文件里面的命令(文件中的命令應(yīng)該都是一些ex命令) :l1,l2w 文件> 把第l1和第l2行之間的文本寫到文件>中去 :w >> 文件> 添加到文件>末尾. 也可以使用行號(hào) :e! 重新編輯當(dāng)前文件,忽略所有的修改 ·(、[、、]、)對(duì)應(yīng)顯示 % 顯示當(dāng)前(、[、{ 、}、] 、)的對(duì)應(yīng)項(xiàng) ) :光標(biāo)移至句尾 ( :光標(biāo)移至句首 }:光標(biāo)移至段落開頭 {:光標(biāo)移至段落結(jié)尾 ·(、[、、]、)內(nèi)數(shù)據(jù)選擇 daB 刪除{}及其內(nèi)的內(nèi)容 (在非v可視模式下) diB 刪除{}中的內(nèi)容 ab 選擇()中的內(nèi)容 ib 選擇()中的內(nèi)容( 不含() ) aB 選擇{}中的內(nèi)容 iB 選擇{}中的內(nèi)容( 不含{} ) ·語法提示與自動(dòng)補(bǔ)齊 ★ 插入模式下的單詞自動(dòng)完成 ★ 行自動(dòng)完成(超級(jí)有用) ·設(shè)置ctags #ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686 ^p 自動(dòng)補(bǔ)齊上下文已有相近項(xiàng) ^n 自動(dòng)補(bǔ)齊~/.tags中的相近函數(shù) ^[ 顯示~/.tags中的光標(biāo)下的函數(shù)的原型, 按^t退出函數(shù) :pta 函數(shù)名 預(yù)覽窗口快速打開相應(yīng)函數(shù)所在文件,并將光標(biāo)定位在對(duì)應(yīng)函數(shù)的開頭 K 顯示光標(biāo)下的C函數(shù)的man說明手冊(cè) ·變量定位 gd 轉(zhuǎn)到光標(biāo)下局部變量的定義處 Gd 轉(zhuǎn)到光標(biāo)下全局變量的定義處 ·編譯選項(xiàng) :cn 命令會(huì)把你帶到下一個(gè)出錯(cuò)地點(diǎn),而不考慮它在什么文件里。 :cc 命令會(huì)向你顯示當(dāng)前錯(cuò)誤的編譯器輸出信息; :cl 會(huì)生成一個(gè)列有項(xiàng)目所有錯(cuò)誤的列表,以供瀏覽這些錯(cuò)誤 3]光標(biāo)移動(dòng) ·字符 h 光標(biāo)左移一個(gè)字符。 l 光標(biāo)右移一個(gè)字符。 ·字 w 或 W 光標(biāo)右移一個(gè)字至字首。 B 或 b 光標(biāo)左移一個(gè)字至字首。 E 或 e 光標(biāo)右移一個(gè)字至字尾。 ·句} 光標(biāo)移至句尾。 ( 光標(biāo)移至句首。 ·段) 光標(biāo)移至段落開頭。 { 光標(biāo)移至段落結(jié)尾。 ·行k 或 Ctrl+p 光標(biāo)上移一行。 j 或 Ctrl+n 光標(biāo)下移一行。 Enter 光標(biāo)下移一行。 nG 光標(biāo)移至第 n 行首。 n+ 光標(biāo)下移 n 行。 n- 光標(biāo)上移 n 行。 n$ 光標(biāo)移至第 n 行尾。 0 光標(biāo)移至當(dāng)前行首。 $ 光標(biāo)移至當(dāng)前行尾。 ·屏幕 H 光標(biāo)移至屏幕頂行。 M 光標(biāo)移至屏幕中間行。 L 光標(biāo)移至屏幕最后行。 Ctrl+u 向文件首翻半屏。 Ctrl+d 向文件尾翻半屏。 Ctrl+f 向文件尾翻一屏。 Ctrl+b 向文件首翻一屏。 nz 將第 n 行滾至屏幕頂部。不指定 n 時(shí)將當(dāng)前行滾至屏幕頂。 4}插入 # 在文件中插入行號(hào)(不是顯示行號(hào),是插入!) ★:g/^/exec "s/^/".strpart(line(".")." ", 0, 4) ·光標(biāo) i 在光標(biāo)前插入。 a 在光標(biāo)后插入。 ·行 I 在當(dāng)前行首插入。 A 在當(dāng)前行尾插入。 o 在當(dāng)前行之下一新行插入。 O 在當(dāng)前行之上新開一行插入。 5)替換 r 替換當(dāng)前字符。 R 替換當(dāng)前字符及其后的字符,直至按 ESC 鍵。 s 從當(dāng)前光標(biāo)位置處開始,以輸入的文本代替指定數(shù)目的字符。 S 刪除指定數(shù)目的行,并以所輸入的文本代替。 6)修改 ncw 或 nCW 修改指定數(shù)目的字符。 nCC 修改指定數(shù)目的行。 :r filename 將文件 filename 插入在當(dāng)前行之下 7)查找替換 / 把狹義單詞 寫到 搜索命令行 / 把廣義單詞 寫到 搜索命令行 :g/str/s/str1/str2/g 第一個(gè)g表示對(duì)每一個(gè)包括s1的行都進(jìn)行替換, 第二個(gè)g表示對(duì)每一行的所有進(jìn)行替換 包括str的行所有的str1都用str2替換 :%s/f $/for$/g 將每一行尾部的“f ”(f鍵和空格鍵)替換為for :%s/^/mv /g 在每一行的頭部添加“mv ”(mv鍵和空格鍵) :s/fred/a/g 替換fred成register a中的內(nèi)容,呵呵 :g/顯示含或的行 # 替換一個(gè)visual區(qū)域 # 選擇一個(gè)區(qū)域,然后輸入 :s/Emacs/Vim/ 等等,vim會(huì)自動(dòng)進(jìn)入:模式 :'s/Emacs/Vim/g 前面的'是vim自動(dòng)添加的 # 在多個(gè)文檔中搜索 :bufdo /searchstr :argdo /searchstr 復(fù)制與剪切 xp 交換前后兩個(gè)字符的位置 ddp 上下兩行的位置交換 :g/fred/t$ 拷貝行,從fred到文件末尾(EOF) 9)窗口操作 :vne [filename] :sp [filename] :S [filename] :new [filename] :^w + ^r 交換兩個(gè)窗口的位置 ^w = 窗口等寬 :res -n 窗口高度減小n :res +n 窗口高度增大n :vert res -n :vert res +n 10)DOS格式文本轉(zhuǎn)成Unix格式文本 :1,$s/^M//g 11)書簽 在閱讀和編寫大的程序文件時(shí),利用標(biāo)記(書簽)功能定位是十分有幫助的。 將光標(biāo)移到想做標(biāo)記的位置。假如做一個(gè)名為“debug1”的標(biāo)記,那么用戶可在命令模式下輸入做標(biāo)記的命令“mdebug1”,然后敲入回車鍵,一個(gè)名為“debug1”的標(biāo)記就做好了。 接下來用戶可以隨意將光標(biāo)移到其它的位置,當(dāng)在命令模式下輸入“`debug1”后,就能快速回到“debug1”的標(biāo)記所在行的行首。 馨竹 2007-12-24 19:13 12)刪除操作 :%s/r//g 刪除DOS方式的回車^M :%s= *$== 刪除行尾空白 :%s/^(.*)n1/1$/ 刪除重復(fù)行 :%s/^.pdf/new.pdf/ 只是刪除第一個(gè)pdf :%s/// 又是刪除多行注釋(咦?為什么要說「又」呢?) :g/^s*$/d 刪除所有空行 :g!/^dd/d 刪除不含字符串'dd'的行 :v/^dd/d 同上 (譯釋:v == g!,就是不匹配!) :g/str1/,/str2/d 刪除所有第一個(gè)含str1到第一個(gè)含str2之間的行 :v/./.,/./-1join 壓縮空行 :g/^$/,/./-j 壓縮空行 :s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g:將文件中所有p1均用p2替換 ndw 或 ndW 刪除光標(biāo)處開始及其后的 n-1 個(gè)字符。 d0 刪至行首。 d$ 刪至行尾。 ndd 刪除當(dāng)前行及其后 n-1 行。 x 或 X 刪除一個(gè)字符。 Ctrl+u 刪除輸入方式下所輸入的文本。 ^R 恢復(fù)u的操作 J 把下一行合并到當(dāng)前行尾 V 選擇一行 ^V 按下^V后即可進(jìn)行矩形的選擇了 aw 選擇單詞 iw 內(nèi)部單詞(無空格) as 選擇句子 is 選擇句子(無空格) ap 選擇段落 ip 選擇段落(無空格) D 刪除到行尾 x,y 刪除與復(fù)制包含高亮區(qū) dl 刪除當(dāng)前字符(與x命令功能相同) d0 刪除到某一行的開始位置 d^ 刪除到某一行的第一個(gè)字符位置(不包括空格或TAB字符) dw 刪除到某個(gè)單詞的結(jié)尾位置 d3w 刪除到第三個(gè)單詞的結(jié)尾位置 db 刪除到某個(gè)單詞的開始位置 dW 刪除到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置 dB 刪除到某個(gè)以空格作為分隔符的單詞的開始位置 d7B 刪除到前面7個(gè)以空格作為分隔符的單詞的開始位置 d) 刪除到某個(gè)語句的結(jié)尾位置 d4) 刪除到第四個(gè)語句的結(jié)尾位置 d( 刪除到某個(gè)語句的開始位置 d) 刪除到某個(gè)段落的結(jié)尾位置 d{ 刪除到某個(gè)段落的開始位置 d7{ 刪除到當(dāng)前段落起始位置之前的第7個(gè)段落位置 dd 刪除當(dāng)前行 d/text 刪除從文本中出現(xiàn)“text”中所指定字樣的位置, 一直向前直到下一個(gè)該字樣所出現(xiàn)的位置(但不包括該字樣)之間的內(nèi)容 dfc 刪除從文本中出現(xiàn)字符“c”的位置,一直向前直到下一個(gè)該字符所出現(xiàn)的位置(包括該字符)之間的內(nèi)容 dtc 刪除當(dāng)前行直到下一個(gè)字符“c”所出現(xiàn)位置之間的內(nèi)容 D 刪除到某一行的結(jié)尾 d$ 刪除到某一行的結(jié)尾 5dd 刪除從當(dāng)前行所開始的5行內(nèi)容 dL 刪除直到屏幕上最后一行的內(nèi)容 dH 刪除直到屏幕上第一行的內(nèi)容 dG 刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容 d1G 刪除直到工作緩存區(qū)開始的內(nèi)容 修改命令操作 r 更改當(dāng)前字符 cw 修改到某個(gè)單詞的結(jié)尾位置 c3w 修改到第三個(gè)單詞的結(jié)尾位置 cb 修改到某個(gè)單詞的開始位置 cW 修改到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置 cB 修改到某個(gè)以空格作為分隔符的單詞的開始位置 c7B 修改到前面7個(gè)以空格作為分隔符的單詞的開始位置 c0 修改到某行的結(jié)尾位置 c} 修改到某個(gè)語句的結(jié)尾位置 c4} 修改到第四個(gè)語句的結(jié)尾位置 c( 修改到某個(gè)語句的開始位置 c) 修改到某個(gè)段落的結(jié)尾位置 c{ 修改到某個(gè)段落的開始位置 c7{ 修改到當(dāng)前段落起始位置之前的第7個(gè)段落位置 ctc 修改當(dāng)前行直到下一個(gè)字符c所出現(xiàn)位置之間的內(nèi)容 C 修改到某一行的結(jié)尾 cc 修改當(dāng)前行 5cc 修改從當(dāng)前行所開始的5行內(nèi)容 . 重復(fù)上一次修改! 13}Set 選項(xiàng)設(shè)置 set all 列出所有選項(xiàng)設(shè)置情況。 set term 設(shè)置終端類型。 set ignorecase 在搜索中忽略大小寫。 set list 顯示制表位(^I)和行尾標(biāo)志($)。 set number 顯示行號(hào)。 set showmode 示用戶處在什么模式下 set report 顯示由面向行的命令修改國的行數(shù)目。 set terse 顯示簡(jiǎn)短的警告信息。 set warn 在轉(zhuǎn)到別的文件時(shí),若沒有保存當(dāng)前文件則顯示 No write 信息。 set autowrite 在“:n”和“:!”命令之前都自動(dòng)保存文件 set nomagic 允許在搜索模式中,使用前面不帶\的特殊字符。 set nowrapscan 禁止 vi 在搜索到達(dá)文件兩端時(shí),又從另一端開始。 set mesg 允許 vi 顯示其他用戶用 write 寫到自己終端上的信息。 autoindent (ai) noai 使新行自動(dòng)縮進(jìn),和上(下)行的位置對(duì)齊 autoprint (ap) ap 每條命令之后都顯示出修改之處 autowrite (aw) noaw 在:n,:!命令之前都自動(dòng)保存文件 beautify (bf) nobf 在輸入的時(shí)候忽略所有的控制字符(除了制表鍵(tab),換行(newline),進(jìn)紙(formfeed)) directory= (dir=) /tmp 存放緩沖區(qū)的目錄名 edcompatible noedcompatible 在替換的時(shí)候使用類ed的用法 errorbells (eb) errorbells 出錯(cuò)的時(shí)候響鈴 exrc (ex) noexrc 允許在主目錄(home)外面之外放.exrc文件 hardtabs= (ht=) 8 設(shè)置硬制表的邊界 ignore case (ic) noic 正規(guī)式里忽略大小寫 lisp nolisp 打開lisp模式 list nolist 顯示所有的制表鍵和行的結(jié)尾 magic agic 可以使用更多的正規(guī)表達(dá)式 mesg mesg 允許向終端發(fā)送消息 number (nu) nonumber 顯示行號(hào) open open 允許開放和可視化 optimize (opt) optimize 優(yōu)化吞吐量,打印時(shí)不發(fā)回車 paragraphs= (para=) IPLPPPQPPLIbp 設(shè)置{ & }的分界符 prompt prompt 命令模式下的輸入給出:的提示符 readonly (ro) noro 除非用!號(hào)否則不準(zhǔn)保存文件 redraw noredraw 當(dāng)編輯的時(shí)候重繪屏幕 remap remap 允許宏指向其他的宏 report= 5 如果影響的行數(shù)>這個(gè)數(shù)的話就報(bào)告 scroll 1/2 window 下卷屏幕時(shí)滾動(dòng)屏幕的數(shù)目, 同樣這也是z命令輸出的行數(shù)(z 輸出2倍滾屏的大小) sections= SHNHH HU 定義節(jié)的末尾(當(dāng)使用命令[[ 和 ]] 時(shí)) shell= (sh=) /bin/sh 缺省的SHELL,如果設(shè)置了環(huán)境變量SHELL的話,就使用變量 shiftwidth= (sw=) 8 當(dāng)使用移動(dòng)(shift)命令時(shí)移動(dòng)的字符數(shù) showmatch (sm) nosm 顯示{, }, (, ), [, 或者 ] 的匹配情況 showmode noshowmode 顯示你處在什么模式下面 slowopen (slow) 插入之后不要立刻更新顯示 tabstop= (ts=) 8 設(shè)置制表停止位(tabstop)的長(zhǎng)度 taglength= (tl=) 0 重要標(biāo)記的字符個(gè)數(shù)(0表示所有的字符) tags= tag, /usr/lib/tags 定義包含標(biāo)記的文件路徑 term= 設(shè)置終端類型 terse noterse 顯示簡(jiǎn)短的錯(cuò)誤信息 timeout (to) timeout 一秒鐘后鍵盤映射超時(shí) ttytype= 設(shè)置終端類型 warn warn 顯示"No write since last change"信息 window= (w=) 可視模式下窗口的行數(shù) wrapmargin= (wm=) 0 右邊距,大于0的話最右邊的單詞將折行,留出n個(gè)空白位置 wrapscan (ws) ws 查找到文件尾后再重頭開始 writeany (wa) nowa 可以保存到任意一個(gè)文件去 14}特殊字符 ^ 匹配字符串位于行首。 $ 匹配字符串位于行尾。 . 用在模式串中,表示任何單個(gè)字符。 在命令模式下,重復(fù)上次的命令。 * 在模式串中,表示其前字符可出現(xiàn)任意多次。 [] 用在模式串中,表示指定方位內(nèi)字符,其中可用-表示一個(gè)字 符范圍,用^表示不在某個(gè)范圍內(nèi)的字符。 ESC 從插入狀態(tài)轉(zhuǎn)換到命令狀態(tài) ^[ 功能同 ESC 15]大小寫轉(zhuǎn)換 guu 行小寫 gUU 行大寫 g~~ 行翻轉(zhuǎn)(當(dāng)然指大小寫啦) guw 字小寫(狹義字) 譯注:建議對(duì)比iw gUw 字大寫(狹義字) g~w 字翻轉(zhuǎn)(狹義字) vEU 字大寫(廣義字) vE~ 字翻轉(zhuǎn)(廣義字) ggguG 把整個(gè)文章全部小寫(ft!bt!) 16) 跳轉(zhuǎn)足跡'. 跳到最后修改的那一行 (超級(jí)有用)(ft,怎么又是這個(gè)評(píng)價(jià)) `. 不僅跳到最后修改的那一行,還要定位到修改點(diǎn) 依次沿著你的跳轉(zhuǎn)記錄向回跳 (從最近的一次開始) 依次沿著你的跳轉(zhuǎn)記錄向前跳 :ju(mps) 列出你跳轉(zhuǎn)的足跡 17)命令歷史 :history 列出歷史命令記錄 :his c 命令行命令歷史 :his s 搜索命令歷史 q/ 搜索命令歷史的窗口 q 命令行命令歷史的窗口 : 歷史命令記錄的窗口 18]寄存器 # 列出寄存器(Registers) :reg 顯示所有當(dāng)前的registers "1p 表示引用register,1表示一個(gè)名字叫做1的register,p就是粘貼(paste)命令 譯釋: "也用來定義register 先輸入 ",表示定義register 然后輸入名字,如0~9,a~z 然后執(zhí)行刪除或復(fù)制命令,如dd或y, 或者是visual模式下的d(刪除選中的部分)或y(復(fù)制選中的部分) 則被刪除或復(fù)制的部分就被存入了這個(gè)命名的register 觀察:一個(gè)特殊的register, "" ,里面存儲(chǔ)了一個(gè)匿名的刪除/復(fù)制 在你執(zhí)行dd或y的時(shí)候,被作用的部分被存到了""中 19}命令行 "ayy@a 把當(dāng)前行作為一個(gè)Vim命令來執(zhí)行 譯釋:"ayy 是定義當(dāng)前行到register a,然后@a是執(zhí)行register a中存儲(chǔ)的指令 10yy copy 當(dāng)前行以下10行 11} 排序 :%!sort -u 使用sort程序排序整個(gè)文件(用結(jié)果重寫文件) !1) sort -u 排序當(dāng)前段落 (只能在normal模式下使用!!) :.,+5!sort 排序當(dāng)前行及以下5行 20) 列操作 :%s= [^ ]+$=&&= 復(fù)制最后一列 :%s= f+$=&&= 一樣的功能 :%s= S+$=&& ft,還是一樣 :s/(.*).*)/2"1/ 顛倒用:分割的兩個(gè)字段 :%s(w+s+))str1:1str2: 處理列,替換所有在第三列中的str1 :%sw+)(.*s+)(w+)$:321: 交換第一列和最后一列 (共4列) ·.vimrc " Use Vim settings, rather then Vi settings (much better!). set nocompatible "c風(fēng)格的縮進(jìn) :set expandtab "不使用tab只使用空格 :set cindent shiftwidth=4 "自動(dòng)縮進(jìn) :set ai "語法 ":set filetype=java :set syntax=java "鍵入)、] 、},顯示(、[、{ :set showmatch "手工定義折疊 :set foldmethod=manual "標(biāo)簽文件位置 set tags=/usr/share/vim/vim63/funcs.tags "在插入模式下通過按[Ctrl]N自動(dòng)地將任何類、方法或者字段名補(bǔ)齊 set complete+=k " 不要用聲音煩我! set visualbell "歷史 :set history=50 "顯示行列位置 :set ruler "設(shè)置字符編碼 set fileencodings=gb2312 "set encoding=euc-cn "設(shè)置ruler set ruler "顯示當(dāng)前命令 set showcmd "incsearch set incsearch " allow backspacing over everything in insert mode set backspace=indent,eol,start "自動(dòng)檢測(cè)文件類型 :filetype on
            posted on 2011-06-16 07:58 chaosuper 閱讀(240) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲欧美国产日韩综合久久 | 久久久无码精品亚洲日韩软件| 久久国产精品77777| 国产午夜福利精品久久2021| 亚洲国产精品久久久久久| 久久久久亚洲av成人无码电影 | 精品多毛少妇人妻AV免费久久 | 久久人人爽人人精品视频| 久久久久久久免费视频| 国内精品久久久久伊人av| 久久中文字幕视频、最近更新 | 久久99国产综合精品免费| 久久久久久亚洲精品无码| 久久久一本精品99久久精品66| 国产精品免费久久久久影院 | 中文字幕日本人妻久久久免费| 青青热久久综合网伊人| 东方aⅴ免费观看久久av| 久久国产视屏| 成人精品一区二区久久| 色8久久人人97超碰香蕉987| 精品人妻伦一二三区久久| 精品久久久久久中文字幕人妻最新| 久久久久无码专区亚洲av| 99久久精品九九亚洲精品| 少妇内射兰兰久久| 久久只这里是精品66| 女人高潮久久久叫人喷水| 久久亚洲中文字幕精品一区| 成人国内精品久久久久影院VR| 九九精品99久久久香蕉| 久久久久AV综合网成人| 无码AV波多野结衣久久| 久久精品国产2020| 狠狠色噜噜色狠狠狠综合久久| 性做久久久久久久久浪潮| 亚洲午夜无码AV毛片久久| 亚洲国产成人精品女人久久久 | 亚洲国产精品高清久久久| 99精品国产免费久久久久久下载| 久久综合久久伊人|