国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
*24.1* 更正

USR_24

*usr_24.txt*    For Vim version 7.3.    最近更新: 2006年12月VIM 用戶手冊 - Bram Moolenaar 著譯者:  Chimin Yen,tocer http://vimcdoc.sf.net快速插入輸入文本時,Vim 提供你各種各樣的方法來減少鍵擊次數(shù)和避免打字錯誤。你可以利用插入模式下的補全功能來重復先前打過的單詞。也可以把長詞縮寫成短詞。甚至可以打出你鍵盤上沒有的字符。|24.1|  更正                        > CTRL+W  CTRL+U|24.2|  顯示匹配                    > :set showmatch|24.3|  補全                        > CTRL+P  CTRL+N    CTRL+X {CTRL+F,CTRL+V,CTRL+O,CTRL+I,CTRL+L,CTRL+D,CTRL+K,CTRL+T}|24.4|  重復一次插入                > CTRL+A  CTRL+@|24.5|  從另一行拷貝                > CTRL+Y  CTRL+E|24.6|  插入一個寄存器內(nèi)容          > CTRL+R|24.7|  縮寫                        > iabb|24.8|  插入特殊字符                > CTRL+V CTRL+Q 65 x44 o071|24.9|  二合字母                    > CTRL+K Co  :digraphs|24.10| 普通模式命令下一章: |usr_25.txt|  編輯帶格式的文本前一章: |usr_23.txt|  編輯特殊文件目錄: |usr_toc.txt|

*24.1* 更正

退格鍵 <BS> 已經(jīng)在前面提過了。它刪除位于光標前一格的字符。而刪除鍵 <Del> 則刪除光標下 (或者說光標后也可以) 的那個字符。當你把整個詞都打錯了的時候,用 CTRL-W 來更正: The horse had fallen to the sky CTRL-W The horse had fallen to the 如果你把一行字弄得不可收拾,而要從頭來過的話,用 CTRL-U 來刪除。這個命令保留了光標之后的文本,也保留了行首的縮進。它只刪除了自第一個非空字符至光標位置之間的文本。讓光標位于下一行中 "fallen" 的 "f" 上,按 CTRL-U,文本就成了這樣: The horse had fallen to the CTRL-U fallen to the 當你發(fā)現(xiàn)幾個詞之前有個錯誤,你需要把光標移到那兒作更正。例如,你打了這樣一行: The horse had follen to the ground 你要把 "follen" 改成 "fallen"。讓光標留在行尾,你輸入這個字符串就能更正那錯誤: <Esc>4blraA脫離插入模式 <Esc>退回 4 個單詞 4b移到字母 "o" 上 l以字母 "a" 替代 ra重新開始插入模式 A另一種更正這個錯誤的方法: <C-Left><C-Left><C-Left><C-Left><Right><Del>a<End>退回 4 個詞 <C-Left><C-Left><C-Left><C-Left>移到字母 "o" 上 <Right>刪除字母 "o" <Del>插入字母 "a" a移到行尾 <End>這種方法讓你留在插入模式下,利用特殊鍵來移動光標。這類似于你在一個不分模式的編輯器里所采用的操作方法。它比較容易記憶,但比較費事 (你必須把你的手從字母鍵移動到光標方向鍵,而且,不看鍵盤難以按準 <End> 鍵)。這些特殊鍵在書寫一個停留在插入模式下的映射時非常有用。額外所需的鍵盤錄入也是值得的。你在插入模式下可以利用的特殊鍵有以下這些:<C-Home> 移到文件首<PageUp> 上卷一屏<Home> 移到行首<S-Left> 左移一個單詞<C-Left> 左移一個單詞<S-Right> 右移一個單詞<C-Right> 右移一個單詞<End> 移到行尾<PageDown> 下卷一屏<C-End> 移到文件尾還有很多鍵,參見 |ins-special-special|。

*24.2* 顯示匹配

你鍵入一個右括號 ) 時,如果能知道它匹配哪個左括號 ( 會很方便。要讓 Vim 做到這點,用下面這個命令: :set showmatch現(xiàn)在你鍵入比如 "(example)" 這樣幾個字,當你鍵入右括號 ) 時,Vim 就把光標閃到匹配的左括號 ( 上,在那兒停留半秒鐘,然后返回原處。如果匹配的左括號不存在,Vim 就鳴起響鈴。這樣你就會想起來你可能在哪兒忘了一個左括號,或鍵入了太多次的右括號。Vim 也會為 [] 和 {} 這樣的括號顯示匹配。你不必等待光標返回原處才鍵入下一個字符,只要下一個字符一鍵入,光標就會返回,而插入就會跟以前一樣繼續(xù)。你可以用 'matchtime' 選項改變 Vim 在匹配括號上停留的時間。例如,要讓 Vim 等待 1.5 秒: :set matchtime=15指定的時間以 1/10 秒為單位。

*24.3* 補全

Vim 能自動補全插入的單詞。你鍵入一個單詞的開頭部分,按 CTRL-P,Vim 就會為你猜測余下的部分。例如,假定你正在建立一個 C 程序,并要鍵入以下語句: total = ch_array[0] + ch_array[1] + ch_array[2]; 你先輸入下面這部分: total = ch_array[0] + ch_ 此時,你用命令 CTRL-P 告訴 Vim 來補全這個詞。Vim 就會搜索以光標前字符串開頭的詞。在這個例子中,就是 "ch_",與詞 ch_array 匹配。所以,鍵入 CTRL-P 就會得到下面的結(jié)果: total = ch_array[0] + ch_array 再鍵入幾個字符使這個語句變成這樣 (結(jié)尾是空格): total = ch_array[0] + ch_array[1] + 如果你現(xiàn)在鍵入 CTRL-P,Vim 將再次搜索以補全光標前的詞。由于光標前是空格,它找到的是之前的第一個詞,即 "ch_array"。再鍵入 CTRL-P 給你下一個匹配的詞,在本例中就是 "total"。第三次 CTRL-P 搜尋更前面的。如果那兒沒其它的了,編輯器就會陷入無詞可配狀態(tài),所以搜索就返回原處,即那個空格。第四次 CTRL-P 導致編輯器周而復始,又找到 "ch_array"。往下搜索,用 CTRL-N。由于在文件結(jié)尾搜索又繞回開頭,CTRL-NCTRL-P 將找到相同的匹配,但順序不同。提示: CTRL-N 意為下一個匹配,而 CTRL-P 意為前一個匹配。(譯者: 英文 Next 意為下一個,Previous 意為前一個)Vim 編輯器會非常努力的來補全不完整的詞。默認情況下,它搜索如下一些地方:1.當前文件2.其它窗口內(nèi)的文件3.其它載入文件 (隱藏緩沖區(qū))4.未載入文件 (非激活緩沖區(qū))5.標簽文件6.被當前文件以 #include 語句包含的所有頭文件選 項你可以利用 'complete' 選項定制搜索順序。還可以使用 'ignorecase' 選項。設(shè)定這個選項后,搜尋匹配時大小寫的區(qū)別就會被忽略。一個特殊的補全選項是 'infercase'。它的用處是在尋找忽略大小寫的匹配時('ignorecase' 必須先被設(shè)定),但仍然采用已鍵入部分的大小寫。這樣,如果你鍵入"For" 而 Vim 找到了匹配 "fortunately",所產(chǎn)生的結(jié)果將是 "Fortunately"。補 全 特 定 文 本如果你知道你要找什么,那么你可以用這些命令來補全某種類型的文本:CTRL-X CTRL-F 文件名CTRL-X CTRL-L 整行CTRL-X CTRL-D 宏定義 (包括包含文件里的)CTRL-X CTRL-I 當前文件以及所包含的文件CTRL-X CTRL-K 字典文件內(nèi)的單詞CTRL-X CTRL-T 同義詞詞典文件內(nèi)的單詞CTRL-X CTRL-] 標簽CTRL-X CTRL-V Vim 命令行每個命令之后,CTRL-N 可以用來搜索下一個匹配,而 CTRL-P 則用于搜索前一個匹配。關(guān)于每個命令的詳細用法,參見: |ins-completion|。補 全 文 件 名我們以 CTRL-X CTRL-F 為例。這個命令將找尋文件名。它在當前目錄里搜索文件,并顯示每一個與光標前單詞匹配的文件名。例如,假定你在當前目錄里有下面這些文件:main.c sub_count.c sub_done.c sub_exit.c現(xiàn)在進入插入模式并開始鍵入: The exit code is in the file sub 就在這點上,你輸入 CTRL-X CTRL-F。現(xiàn)在,Vim 通過查看當前目錄里的文件來補全當前詞 "sub"。最初的匹配是 sub_count.c。這不是你想要的,所以你按 CTRL-N 以匹配下一個文件。這次匹配的是 sub_done.c。再鍵入 CTRL-N 給了你 sub_exit.c。結(jié)果: The exit code is in the file sub_exit.c 如果文件名以 / (Unix) 或 C:\ (MS-Windows) 開頭,那么你就能搜索文件系統(tǒng)下所有的文件。例如,鍵入 "/u" 然后 CTRL-X CTRL-F,這將匹配 "/usr" (這是在 Unix 上): the file is found in /usr/ 如果你現(xiàn)在按 CTRL-N,你就又回到 "/u"。接受 "/usr/" 并進入下一層目錄,再來一次CTRL-X CTRL-F: the file is found in /usr/X11R6/ 當然,匹配結(jié)果取決于你的文件系統(tǒng)上有什么文件。匹配結(jié)果以字母順序來排列。補 全 源 代 碼源代碼文件有良好的結(jié)構(gòu)。這使通過某種智能方式補全成為可能。在 Vim 中,這被稱為全能補全。在其他編輯器中,它被稱為智能補全(intellisense),但這是一個注冊商標。全能補全的熱鍵是 CTRL-X CTRL-O。顯然,O 在這里代表全能 (Omni),這樣方便我們記憶。讓我們以編輯 C 程序為例: { struct foo *p; p-> 光標在 "p->" 之后?,F(xiàn)在鍵入 CTRL-X CTRL-O。Vim 會給你提供一個可選項的列表,這些可選項為 "struct foo" 所擁有。這和使用 CTRL-P 有很大不同,后者補全任意單詞,而我們這里只要求 "struct foo" 的成員。為使全能補全工作,需要做一些初始化。起碼,要保證打開文件類型插件。你的 vimrc文件應(yīng)該包含形如: filetype plugin on或: filetype plugin indent on的一行。對于 C 代碼,需要建立標簽文件并設(shè)置 'tags' 選項。在|ft-c-omni|中有進一步的解釋。對于其他文件類型,需要做類似的事情,請查看 |

*24.4* 重復一次插入

如果你按 CTRL-A,編輯器就把你上次在插入模式下輸入的文本再輸入一次。比如,假定你有個文件,開頭是這樣的: "file.h" /* Main program begins */ 你在第一行開始處插入 "#include ": #include "file.h" /* Main program begins */ 你再用命令 "j^" 往下來到下一行的開始處?,F(xiàn)在你開始插入一個新的 "#include" 行。所以你鍵入: i CTRL-A結(jié)果就像下面這樣: #include "file.h" #include /* Main program begins */ "#include " 被插入是因為 CTRL-A 會插入上次插入過的文本?,F(xiàn)在你鍵入 "main.h"<Enter> 以結(jié)束這一行: #include "file.h" #include "main.h" /* Main program begins */ CTRL-@ 命令會完成 CTRL-A 的操作后退出插入模式。這是一個快速重復插入一模一樣的文本的一個方法。

*24.5* 從另一行拷貝

CTRL-Y 命令插入光標上方的字符。當你復制前一行文本的時候,這個命令很有用。例如,你有這么一行 C 代碼: b_array[i]->s_next = a_array[i]->s_next; 現(xiàn)在你需要把這一行再鍵入一次,并以 "s_prev" 取代 "s_next"。換行以后,按 14 次CTRL-Y,直到光標位于 "next" 的 "n" 上: b_array[i]->s_next = a_array[i]->s_next; b_array[i]->s_ 現(xiàn)在你鍵入 "prev": b_array[i]->s_next = a_array[i]->s_next; b_array[i]->s_prev 繼續(xù)按 CTRL-Y 直到下一個 "next": b_array[i]->s_next = a_array[i]->s_next; b_array[i]->s_prev = a_array[i]->s_ 現(xiàn)在鍵入 "prev;" 以結(jié)束這一行。CTRL-E 命令操作起來跟 CTRL-Y 一樣,只不過它插入光標下方的字符。

*24.6* 插入一個寄存器內(nèi)容

命令 CTRL-R {register} 插入寄存器里的內(nèi)容。它的用處是讓你不必鍵入長詞。例如,你要輸入下面這些: r = VeryLongFunction(a) + VeryLongFunction(b) + VeryLongFunction(c) 這個函數(shù)的定義見于另一個文件。編輯那個文件并把光標移到該函數(shù)名上,然后把文件名攝入寄存器 v: "vyiw"v 指定寄存器,"yiw" 意思是拷貝一個詞,不含空格 (yank-inner-word)?,F(xiàn)在編輯那個要插入一行代碼的文件,先鍵入開頭幾個字符: r = 現(xiàn)在用 CTRL-R v 來插入函數(shù)名: r = VeryLongFunction 你接下來在函數(shù)名后面鍵入其它必要字符,然后再用兩次 CTRL-R v。你也可以用補全功能來完成同樣的工作。但當你有好幾個詞,其開頭幾個字符都一樣的時候,寄存器就有用多了。如果寄存器存放著諸如 <BS> 或其它特殊字符,這些字符就被解釋成好像它們本來是從鍵盤鍵入的。如果你不要這樣解釋 (你確實要在文本中插入 <BS>),那么要命令 CTRL-RCTRL-R {register}。

*24.7* 縮寫

縮寫是取代一個長詞的短詞。例如,"ad" 指代 "advertisement"。Vim 讓你鍵入縮寫,然后為你自動擴展。用以下命令告訴 Vim,每當你輸入 "ad" 就把它擴展成 "advertisement": :iabbrev ad advertisement現(xiàn)在,當你鍵入 "ad",完整的單詞 'advertisement" 就被插入文本。鍵入一個不可能成為單詞一部分的字符,例如一個空格,就會觸發(fā)縮寫功能:輸入的文本 看到的文本 I saw the a I saw the a I saw the ad I saw the ad I saw the ad<Space> I saw the advertisement<Space> 當你僅僅鍵入 "ad" 時,擴展并沒發(fā)生。它可以被你輸入 "add" 這樣的詞而不被擴展。Vim 只對那些完整的詞檢查縮寫。多 詞 縮 寫為幾個詞定義一個縮寫也是可能的。例如,用下面這個命令,把 "JB" 定義成 "JackBenny": :iabbrev JB Jack Benny作為程序員,我使用兩個相當不尋常的縮寫: :iabbrev #b /**************************************** :iabbrev #e <Space>****************************************/它們用于生成大段注釋。注釋以縮寫 #b 開始,劃出頂線。接著,我鍵入注釋文字,最后以縮寫 #e 劃出底線。注意縮寫 #e 以一個空格開頭。換言之,開頭兩個字符是空格和星號 (*)。通常 Vim忽略不計位于縮寫及其擴展之間的空格。為了避免空格被忽略,我把空格以七個字符表示: <、S、p、a、c、e、>。備注:":iabbrev" 有點嫌長。":iab" 作用也一樣。縮寫命令被縮寫了!更 正 打 字 錯 誤我們經(jīng)常會犯同一個打字錯誤。例如,把 "the" 打成 "teh"。你可以利用縮寫功能來更正這樣的錯誤: :abbreviate teh the你可以加上一系列這樣的縮寫。每次發(fā)現(xiàn)一個常見錯誤就加一個??s 寫 列 表":abbreviate" 命令列出所有縮寫::abbreviatei #e ****************************************/i #b /****************************************i JB Jack Bennyi ad advertisement! teh the第一欄的 "i" 表明插入模式。這些縮寫僅僅在插入模式下有作用。其它可能的字符:c 命令行模式 :cabbrev! 插入模式和命令行模式 :abbreviate在命令行模式下使用縮寫是不常見的。你主要會在插入模式下用 ":iabbrev" 命令。這樣就避免了不必要的擴展,例如,當你鍵入這樣一條命令時,"ad" 就不會被擴展了: :edit ad刪 除 縮 寫刪除一個縮寫,用 ":unabbreviate" 命令。假定你有以下縮寫: :abbreviate @f fresh你可以用這個命令刪除它: :unabbreviate @f當你鍵入這個命令的時候,你將注意到 @f 被擴展成 "fresh"。別擔心,Vim 明白得很呢(除非當你另有縮寫 "fresh",但那是很偶然的)。要刪除全部縮寫: :abclear":unabbreviate" 和 ":abclear" 另有變形,在插入模式下是 "iunabbreviate" 和":iabclear",在命令行模式下是 ":cunabbreviate" 和 "cabclear"??s 寫 再 映 射定義縮寫時,有一點要注意的: 擴展產(chǎn)生的字符串不應(yīng)當被映射成別的什么。例如: :abbreviate @a adder :imap dd disk-door現(xiàn)在,你鍵入 @a,你得到 "adisk-doorer"。那不是你要的結(jié)果。為了避免這種事發(fā)生,用 ":noreabbrev" 命令。它的作用跟 ":abbreviate" 一樣,但卻避免了擴展產(chǎn)生的字符串被用于映射: :noreabbrev @a adder現(xiàn)在好了,縮寫擴展后的結(jié)果不可能被映射了。

*24.8* 插入特殊字符

CTRL-V 命令用來插入下一個字面意義上的字符。換言之,無論該字符多特殊,其特殊含義都被忽略不計。例如: CTRL-V <Esc>插入一個 <Esc> 字符。而你并未脫離插入模式。(不要在 CTRL-V 后面鍵入空格,那個空格僅僅為了方便閱讀)。備注:在 MS-Windows 環(huán)境下,CTRL-V 用來粘貼文本。所以用 CTRL-Q 代替 CTRL-V。另外,在 Unix 環(huán)境下,CTRL-Q 在某些終端上不起作用,因其另有特殊意義。你也可以用命令 CTRL-V {digits} 來插入一個以若干個十進位數(shù)字 {digits} 表示的字符。例如,字符編碼 127 是字符 <Del> (但并不一定是 <Del> 鍵!)。要插入 <Del>,鍵入: CTRL-V 127你可以用這樣的方法輸入數(shù)值不超過 255 的字符。當你鍵入一個不足兩位的數(shù)字時,就要添加一個非數(shù)字的字符來結(jié)束命令。為了回避這個非數(shù)字字符的要求,在它前面加一或兩個零以滿足三位數(shù)的要求。以下命令都插入一個 <Tab> 字符,然后一個點字符:CTRL-V 9.CTRL-V 09.CTRL-V 009.輸入一個 16 進制數(shù)字,在 CTRL-V 后面,用 "x" 開頭: CTRL-V x7f這方法也可以用來輸入數(shù)值不超過 255 (CTRL-V xff) 的字符。你可以用 "o" 開頭輸入一個以 8 進制數(shù)表示的字符,以及另外兩種方法,讓你輸入多至二進制 16 位和 32 位的數(shù)字表示的字符 (例如,Unicode 字符): CTRL-V o123 CTRL-V u1234 CTRL-V U12345678

*24.9* 二合字母

有些字符在鍵盤上找不到。例如,表示版權(quán)的字符 (©) 要在 Vim 里鍵入這樣的字符,你得用二合字母,即以兩個字符來表示一個。例如,要鍵入 ©, 你就得按三個鍵: CTRL-K Co你可以用以下命令來查找有哪些二合字母可供利用: :digraphsVim 將把二合字母表顯示在屏幕上。以下就是其中的三行: AC ~_ 159 NS | 160 !I ¡ 161 Ct ¢ 162 Pd £ 163 Cu ¤ 164 Ye ¥ 165 BB ¦ 166 SE § 167 ': ¨ 168 Co © 169 -a ª 170 << « 171 NO ¬ 172 -- ­ 173 Rg ® 174 'm ¯ 175 DG ° 176 +- ± 177 2S ² 178 3S ³ 179 這張表告訴你,比如,你鍵入 CTRL-K Pd 所得到的二合字母是字符 (£)。該字符編碼為163 (十進制)。Pd 是 Pound (英鎊) 的簡寫。大多數(shù)二合字母讓你一看就猜到兩個字符生成什么字符。如果你一個個讀下來,便不難理解其中的邏輯。你可以交換兩個字符的順序,只要那樣組合不代表另一個二合字母。因此 CTRL-K dP也沒問題。由于 "dP" 不是二合字母,Vim 會轉(zhuǎn)而搜索表示成 "Pd" 的二合字母。備注:二合字母表取決于 Vim 假定你所使用的字符集。在 MS-DOS 系統(tǒng)上采用的二合字母集不同于 MS-Windows 系統(tǒng)上的。務(wù)必用 ":digraphs" 命令來查找當前可供利用的二合字符。你可以定義你自己的二合字母。例如: :digraph a" ä以上命令定義了 CTRL-K a" 插入一個 ä 字符。你也可以用十進值數(shù)指定這個字符。下面這個命令定義了同一個二合字母: :digraph a" 228更多關(guān)于二合字母信息參見: |digraphs|另一種插入特殊字符的方法是利用鍵盤映射。詳情參見: |45.5|

*24.10* 普通模式命令

插入模式提供的命令數(shù)量有限。在普通模式下,你可用的命令就多得多了。當你要用一個普通模式命令時,你通常用 <Esc> 鍵來脫離插入模式,執(zhí)行這個普通模式命令,然后再用 "i" 或 "a" 命令重新進入插入模式。有一個快捷的方法。用 CTRL-O {command} 你可以在插入模式下執(zhí)行任何普通模式命令。例如,把光標后面直至行尾的文本刪除: CTRL-O D用這個方法,你只能執(zhí)行一個普通模式命令。但是,你可以指定一個寄存器或一個計數(shù)。請看下面這個更復雜的命令: CTRL-O "g3dw這個命令把光標后面三個單詞一起刪除,存進了寄存器 g。

下一章: |usr_25.txt| 編輯帶格式的文本版權(quán): 參見 |manual-copyright| vim:tw=78:ts=8:ft=help:norl:

Generated by vim2html on Wed Sep 8 00:16:19 UTC 2010

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
vim可視化
VIM移動查找替換
練了一年再來總結(jié)的 vim 使用技巧
vim編輯器常用命令總結(jié)
Vim從小白到入門
VIM記事
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服