linux_shell筆記(四)

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

Linux 系統中最流行的 vi 克隆有 elvis nvi vile vim

vim 編輯器不是一個格式化文本的程序,它不能調整版面,也不具有複雜文字處理系統( openoffice.org )所具有的格式化輸出功能。

Vimtutor 查看 vim 的使用說明。

>vimtutor

ESC....SHIFT+: q

 

vim 有兩個操作模式:命令模式(也稱普通模式)和輸入模式。命令模式可輸入 vim 命令,如刪除文本的命令,退出 vim 的命令。可以通過輸入命令將 vim 切換到輸入模式。在輸入模式中, vim 將接受用戶輸入的任何文本信息,並將他們顯示在屏幕上。按下 ESC 鍵, vim 將返回到命令模式。

命令模式 -----> 插入,追加,打開,替換,修改 -----> 輸入模式

命令模式 -----> 冒號‘ :’-----> 最後一行模式

輸入模式 -----> 轉義( ESC -----> 命令模式

最後一行模式 -----> 返回( RETURN -----> 命令模式

 

最後一行模式:在這種模式下,光標處於屏幕底部。當輸入完命令按下 RETURN 鍵後, vim 將光恢復到原來位置。

:set number RETURN

:help RETURN

vim 區分大小寫,輸入命令時注意區分大小寫。輸入上面命令 ':' 將使 vim 由命令模式切換到最後一行模式。

 

輸入模式( i/a ) 在輸入文本前,必須通過 'i' 或者 'a' 鍵將 vim 由命令模式切換到輸入模式。

命令模式下: CONTROL D 將光標下移半個窗口, CONTROL U 上移半個窗口。

命令 ‘ :q!’ 退出不保存。

vim 輸入模式下,那些校正 shell 命令行的回退鍵具有同樣的功能。這些鍵包括字符刪除鍵 (CONTROL + H) 行刪除鍵( CONTROL U ) 字刪除鍵( CONTROL W

 

行刪除鍵:當按下行刪除鍵後,光標將往左移動,一直到達行開始處,其經過的字符將被刪除。

字刪除鍵:當按下字刪除鍵後,光標將往左移到當前單詞開始或者前一個單詞的起始處左端,光標所經過的單詞將被刪除。

所以要保證刪除當前行和 當前單詞,需要將光標移動到當前行的最右端 或者 當前單詞的末尾結束字符的後一個位置。

 

vim 處於命令模式下,可以使用 RETURN 空格鍵 方向鍵來移動光標 ,‘ h’ 左 ‘ j’ 上 ‘ k’ 下 ‘ l’ 右。

 

命令模式下刪除文本:刪除字符 ‘ x’ 刪除光標所經過的字符 刪除字‘ dw’ ,將光標移動到要刪除字的第一個字符 ,輸入該命令 刪除行‘ dd’ 光標移動到要刪除行的任意位置,輸入該命令。 注意操作方式與輸入模式下的區別,光標的位置的要求不同。

 

輸入命令 'u' 來撤銷操作, vim 編輯器將文本恢復到上一個命令執行前的狀態。

輸入命令 'U' 來修正一行的內容,讓其恢復原始狀態,撤銷一行所做的更改。

輸入命令 ':redo' 將重新執行被撤銷的命令。

輸入 'CONTROL+R' 來重新執行被撤銷的命令。

添加文本:

插入‘ i’ 追加 'a' 打開 'o' 和‘ O’ o: 在光標所處行的下方打開一空白行,同時將光標移動到新行並切換到輸入模式, O :在光標所處行的上方打開一空白行,同時將光標移動到新行並切換到輸入模式

 

在編輯的過程中, vim 將編輯的文本放置在工作緩衝區的地方,當結束編輯時,必須將工作緩衝區的內容寫到磁盤,這樣才能將對文本的修改保存起來。

命令 'ZZ' 可以將新寫入的內容保存到磁盤,並且結束編輯會話 vim 返回到 shell 控制符。如果不想保存所作的修改,那麼可以使用命令 ':q!' 退出。命令 'wq' 寫並退出。

 

':help feature ' 可以獲得 feature 的相關信息。將光標移動到文檔的活動鏈接, 按下 CONTROL +]即可跳到對應的鏈接文件。使用 CONTROL o 可返回到幫助文檔 。也可以使用鏈接名替換 ':help feature ' 中的 feature 來獲得單詞對應特性的相關信息。幫助文檔中 用兩個‘ *’ 括起來的紅色顯示的標籤表示可以用作替換 ':help feature ' 中的 feature 項字符串。

 

在命令模式下, vim 將輸入的字符作爲命令對待,並對每個命令做出迴應,但不顯示這些字符;在輸入模式下, vim 將輸入字符作爲文本放置在正編輯的文本中;所有以冒號 ':' 開始的命令將使 vim 處於最後一行模式,冒號將光標移到屏幕的底部一行,輸入的命令將在該行顯示。

最後一行模式和命令模式除了光標位置不同外,還有一點不同,就是命令模式結束不必包含按下 RETURN 鍵,而最後一行模式結束命令必須按下 RETURN 鍵。

一些修改和替換命令首先工作的命令模式下,然後切換到輸入模式下工作。

注意查看模式和 CAPSLOCK 鍵的狀態

 

啓動編輯會話時, vim 將要編輯的文件從磁盤讀入工作緩衝區;在會話過程中, vim 將所作的修改保存在緩衝區而不修改磁盤上的文件,直到將工作緩衝區內容寫回到磁盤。

>view filename

>vim -R filename

上面命令使用 vim 瀏覽文件而不修改文件。將不能把工作緩衝區的內容修改到原文件,但是可以寫到其他文件。

 

窗口:多數窗口命令由 CONTROL W 後跟字母構成,

CONTROL W s(split) 分割,打開另一個窗口來編輯同一個文件;

CONTROL W n 打開一個新窗口編輯空白文檔;

CONTROL W w 將光標在窗口間移動;

CONTROL W q 退出窗口。

 

>vim example.c example2.c

:next

:prev

:wq

:wq

 

>vim example.c

ESC

CONTROL+W n

:open example2.c

:q

:q

 

 

可以採用兩種方式結束編輯會話:一種是保存編輯會話過程中所作的修改;一種是放棄編輯會話過程中所作的修改。在命令模式下輸入‘ ZZ’ 或者 ‘ :wq’ 可以將所作修改保存後退出

如果不想保存所作的修改直接結束編輯會話,那麼可以使用 ':q!' 命令。

:w filename’ 命令將所作修改寫到磁盤文件 filename 。當用戶沒有某個文件的寫權限時,使用該命令是很必要的。

 

vim 會將操作的交換文件臨時存儲起來。當使用 vim 編輯文件時,如果系統突然崩潰了,那麼再次啓動系統後,可以根據這些交換文件對文件進行恢復。

帶選項‘ -r’ vim 會顯示所有已經保存的交換文件,如果已經保存了所作的工作,那麼可輸入 vim -r 後跟文件名,這樣就可以編輯工作緩衝區最近的副本。儘快使用 ':w filename ' 將工作區的應急副本寫到磁盤上。

>vim -r

注意與選項 '-R'( 表徵只讀方式打開 ) 的區別。

>vim -r example.c

:w example2.c

:q

>rm .example.c.swp

 

可以跨越不同的度量單位來移動光標。移動光標的命令前面帶上數字稱爲重複因子,光標跨越的個數將根據該數字確定。 3h 4l 3j 2k

j$ 移動光標到下一行結尾。

 

使用查找命令可以將光標從當前的某個字符移到該字符下一次出現的位置。

Fa ; ; ; fa ; ; ; ;

F 將光標從當前字符 a 移動到同一行上 a 的前一次出現的位置。 F 將光標從當前字符移動到同一行上 a 的下一次出現的位置。‘ ;’ 重複上一次查找命令。

 

 

w 是將光標往前移動一個字的距離。 e 也是將光標往前移動一個字的距離;

注意 w e 的區別:光標位於字的第一個字符和光標位於字的最後一個字符。

命令 b 也是將光標往回移動一個字。

W E B 移動方向與小寫的 w e b 相同,只是以空白符區分字邊界。

 

0 將光標移動到行的開始位置, $ 將光標移動到行的結束位置。

 

% 在同一嵌套層次內移到匹配的同類型括號。

 

')' '}' 可分別將光標向前移到下一個句子的開始和下一個段落的開始。 '(' '{' 則分別將光標向後移動到前一個句子的開始和前一個段落的開始。

 

H 將光標定位到屏幕頂部一行的最左端; M 將光標定位到屏幕的中間一行; L 將光標定位到屏幕的底部。

 

CONTROL d 組合鍵和 CONTROL u 組合鍵可將屏幕向下或向上滾動,顯示半屏新文本, 在這些命令前加數字將按照輸入數字的行數來滾動,在後面的會話中,每次使用該組合鍵都將按照該數字指定的行數滾動屏幕。直到再次修改滾動行數。

 

CONTROL f 組合鍵和 CONTROL b 組合鍵 顯示一屏新文本。

 

nG ,將把光標定位到工作緩衝區的第 n 行。同 n gg

G ,把光標定位到文件最後一行。

gg ,把光標定位到文件的第一行。

 

插入命令,追加命令,修改命令和替換命令可以使 vim 切換到輸入模式,在該模式下,可以向工作緩衝區中輸入新文本內容。在文本輸入完成後,可按下 ESCAPE 鍵返回到命令模式。

 

插入: i 在光標所在字符之前插入字符

追加: a 在光標所在字符之後插入字符, A 直接在行末添加字符。

爲輸入打開行: o/O 在當前行之下或之上打開一個新行並將光標定位到新行

文本替換: r/R 後跟字符將替換光標所在位置的字符,一個是替換一個字符,一個是連續替換。

 

輸入模式下轉義特殊字符: CONTROL V 可向文本中輸入任何字符 如‘ CONTROL W’ 刪除字 ‘ CONTROL U’ 刪除行 以及 ‘ ESCAPE ’ 進入命令模式。

 

命令模式下刪除和修改文本,

撤消, u 可將錯誤刪除或修改的文本恢復。執行一次撤消命令只能撤銷上一次對文本的操作。

刪除, x 刪除當前字符,前可使用重複因子刪除當前行上從當前字符開始的後續多個字符。

 

刪除, d 命令將把文本從工作緩衝區中刪除,命令刪除文本的多少取決於 d 後重復因子和度量單位的設定。 dw 刪除到字的末尾 d3w 刪除到第 3 個字的末尾 dd 刪除當前行 5dd 刪除從當前行開始的 5 行, d$ 刪除到行的末尾。

 

修改文本 命令 c 可以將舊文本替換爲新文本,其中新文本不一定與舊文本佔據相同的空間。刪除文本的多少取決於重複因子和度量單位的設定。它可以使 vim 進入輸入模式。 cw 修改到字末尾, cc 修改當前行 5cc 修改當前行開始的 5 行, c$ 修改到行的末尾。

 

替換: s/S 可以將舊文本替換爲新文本。命令 s 刪除光標所在字符,使 vim 進入輸入模式,然後可輸入新內容直到按下 ESC 鍵, vim 將一個字符替換爲剛輸入的新內容。 S 修改當前行與命令 cc 相同。

用一個或多個字符替換當前字符 s

用一個或多個字符替換當前行 S

用一個或多個字符替換從當前字符開始的 5 個字符 5s

 

代字符~可以改變光標所在字符的大小寫,從大寫改爲小寫或者從小寫改爲大寫。 5 ~將改變從當前光標位置開始的 5 個字符的大小寫。

 

查找和替換 任何編輯器都具有的一個關鍵特性是:通過與正則表達式的匹配實現字符 字符串或者文本的查找和替換。

查找字符:命令 f 可在當前行查找指定字符 ,並將光標移到該字符的下一次出現的位置。分號;可以重複執行最後一個 f 命令

查找字符串:可以在整個工作緩衝區查找與正則表達式匹配的文本或字符串。斜杆 / 後跟要查找的文本按下 RETURN 鍵後, vim 便開始對字符串進行搜索。如果用?代替斜杆那麼將查找字符串的前一次出現的位置。如果要搜索特殊字符需要在字符前加 / 以實現轉義。

兩種不同轉義字符的方法:編輯文本時可以使用 CONTROL V 轉義特殊字符,搜索字符串中使用反斜杆 / 實現轉義特殊字符。這兩種轉義字符的方法是不可互換的。

n n 在不必輸入搜索字符串的情況下,將重複上一次搜索。鍵 n 的搜索與上一次搜索完全相同,而建 N 則方向相反。鍵 n 是一個輸入命令項。

/if

n n n n.. n.. n

?if

n n n n ..n n

 

vim 進行普通搜索時,輸入斜杆或者問號後跟搜索字符串,按下 RETURN 鍵, vim 便開始搜索並將光標移到搜索字符串的下一次或者前一次出現的位置。當 vim 進行增量搜索時,輸入斜杆或問號後,隨着搜索字符串的輸入, vim 將突出顯示已輸入字符串下一次或者前一次出現的位置。當突出顯示的字符串恰是要查找的字符串時,按下 RETURN 即可將光標移動到突出顯示的字符串的位置。

:set incsearch 可以將增量搜索打開。

 

由於搜索字符串是正則表達式,所以搜索字符串中的一些字符具有特殊的意義。

^ $ 兩個特殊字符,除了這兩個特殊字符以外,列表中的其他字符都可以通過 nomagic 參數關閉。

^ 行開始符,作爲第搜索字符串的第一個字符時, vim 將每行的開始字符串與搜索字符串進行匹配。

例如: /^the 搜索以 the 開始的行。

$ 行結束符,與行的結束匹配。 /!$ 搜索以歎號結尾的下一行,命令 / $ 搜索以空格結束的行

. 任意字符指示符,可以與任意字符匹配,他可以出現在字符串的任意位置。 /l..e 可以查找到任何以包含 l 後跟任意兩個字符和 e 的字符。

/> 字結束符,這兩個字符與字的末尾匹配, /s/> 搜索以 s 結尾的字,通常情況下 / 是用來關閉字符特殊意義,而單獨的 > 沒有特殊意義,所以這裏的 / 不是用來轉義的。

/< 字開始符,這兩個字符與字的開始匹配, //<The 用來查找下一個以 The 字符串開始的字。

* 0 個或多個出現,與某個字符的 0 次或者多次出現匹配。 /dis*m 將與以 di 後跟 0 個或者多個 s 和一個 m 字符串匹配。

[] 定義字符類,將兩個或多個字符括起來與括號內的單個字符匹配。 /dis[kc] 查找 disk disc 下一次出現的位置

在定義字符類中,有兩個特殊字符:脫字符 ^ 和連字符 - 。脫字符爲左括號後的第一個字符時,定義了一個除後面字符的其他字符。連字符放置在兩個字符之間表示字符範圍。

/and 查找字符串 and 的下一次出現的位置。

//<and/> 查找字 and 的下一次出現的位置。

/^The 查找以 The 開始的下一行。

/^[0-9][0-9]) 查找以兩個數字後跟括號開始的下一行。

//<[adr] 查找以 a d r 開始的下一個字。

/^[A-Za-z] 查找以字母開始的下一行。

注意與 shell 中使用的通配符的區別。 ? 單個字符, * 任意多個字符等。

 

/ignore/c 搜索字符串 ignore 並突略大小寫 而對參數 set ic 與否沒有影響。

:set ic

/ignore

:set noic

 

突略大小寫搜索

:set ic

顯示行號

:set number

高亮顯示搜索結果

:set hls

增量搜索

:set is

 

字符串的替換

替換命令合併了查找命令和修改命令的功能。替換命令將首先查找某個字符串,與命令 / 的功能相同,允許查找前面一節討論的特殊字符;當找到匹配的字符串時,替換命令用來修改該字符串。

:[g] [address] s/search-string/replacement-string[/option]

設定 address 如果替換命令不指定 address ,那麼替換命令將僅搜索當前行 ;如果指定 address ,那麼,替換命令將搜索對應行。也可以使用斜杆括起來的字符串作爲 address vim 將對包含地址字符串的下一行進行查找和替換。如果在地址字符串前面加上 g ,那麼 vim 將對包含字符串的所有行進行查找和替換。注意與放置在末尾的 g 不同,放置在末尾的 g 是在某行進行多個替換。

address 中的句點代表當前行,美元符號代表工作緩衝區中最後一行,百分號代表整個工作緩衝區。也可使用加減號進行 address 的算術運算。

5 5

77,100 77 100 行 包括 77 100

1,. 從工作緩衝區開始到當前行

.,$ 從當前行到工作緩衝區結束

1,$ 整個工作緩衝區

% 這個工作緩衝區

/pine/ 包含字符串 pine 的下一行

g/pine/ 包含字符串 pine 的所有行

.,.+10 當前行到後續 10

 

address 後跟的 s 代表命令是一個替換命令。 s 後的分割符代表 search-string 字符串的開始。 Search-string 格式與命令 / 中搜索字符串的格式相同,用分割符標誌 search-string 的結束同時也標誌 replace-string 的開始。 Replace-string 是用來替換匹配 search-string replace-string 中的 & 代表與 search-sting 匹配的文本; / 用來轉義後面的特殊字符。

 

:s/bigger/biggest/ 當前行,第一次出現的字符串 bigger 替換爲 biggest

:1,.s/Ch 1/Ch 2/g 當前行之前的所有行,所有的字符串 Ch 1 替換爲 Ch 2

:1,$s/ten/10/g 所有行,所有的字符串 ten 替換爲 10

:g/chapter/s/ten/10/ 所有出現 chapter 的行,第一次出現的 ten 字符串替換爲 10

:%s//<ten/>/10/g 所有行,所有字 ten 替換爲 10

:.,.+10s/every/each/g 當前行到後續的 10 行,所有字符串 every 替換爲 each

:s//<short/>/”&”/ 當前行,第一次出現的字 short 替換爲” short”

:/candle/s/wick/flame/ 下一次出現 candle 的行,第一次出現的字符串 wick 替換爲 flame

:g/candle/s/wick/flame/ 所有出現 candle 的行,第一次出現的字符串替換爲 flame

:g/candle/s/wick/flame/g 所有出現 candle 的行,所有的字符串 wick 替換爲 flame

 

通常,替換命令只替換第一次出現的匹配項,如果要進行全局替換,或者說,要替換文本所有匹配項,那麼可以在之後追加 g 選項。

 

CONTROL G 顯示正編輯中的文件的名字和相關信息;同 :f 命令

 

句點 . 將重複執行最近一次的修改命令。

對於要修改工作緩衝區中的某個字或者短語的多次出現,這個命令非常有用。使用 / 搜索第一次出現的匹配字,利用 cw 修改該字,使用 n 可搜索下一次出現的該字,命令 . 將進行與上次同樣的修改。不想修改可以繼續 n 搜索。

//<i/>

RETURN 則將光標定位到第一次匹配項,

cw

進入輸入模式,輸入替換字符 j ESC 進入命令模式

n 繼續搜索下一次 i 的出現, . 修改該字爲 j

n . n . n n . n n n

 

 

命令 Yank,Put Delete

vim 編輯器具有一個通用緩衝區和 26 個命名緩衝區,可用這些緩衝區來存放編輯會話過程中文本。這些緩衝區對文本塊的移動和複製非常有用。 Delete Put 剪切並粘貼, Yank Put 複製並粘貼。

Yank(y/Y) 將文本複製到緩衝區 複製文本到通用緩衝區,使用 Put 將通用緩衝區中的文本複製到工作緩衝區的另一位置。多次 Put 將進行多次複製。 yy 複製一行, yw 複製一個字。

Put(p/P) 從緩衝區複製文本 把文本從通用緩衝區複製到工作緩衝區中。當字符和字刪除或複製到通用緩衝區後,命令 p 可以把他們插入到當前字符之後,命令 P 將其插入到當前字符之前。如果刪除或複製的是行 句子或者段落, p 將內容插入到通用緩衝區光標所在行之後,而 P 則插入到光標所在行之前 Put 不改變通用緩衝區內容,所以可以多次 Put 命令將文本放置在工作緩衝區不同位置。

Delete 將刪除文本複製到通用緩衝區 這樣可以在執行撤銷命令時恢復文本,也可以將刪除的文本使用 Put 命令放置到工作緩衝區的另一個位置。 dw+p dd+p

可以利用命令 v 使 vi 進入可視,然後利用 hjkl 來控制方向選擇所需複製或則刪除的字符。

 

 

命名緩衝區 Delete Yank Put 命令都可以使用命名緩衝區, 26 個命名緩衝區是用 26 個字母表中的 26 個字母命名的,每個命名緩衝區可以存儲文本的不同塊,當使用時可以調用這些塊。與通用緩衝區不同 vim 不改變命名緩衝區的內容,除非使用命令重寫某個緩衝區。 Vim 將在整個會話期間都保持命名緩衝區中的內容不變。

如果 Delete Yank 命令之前加上雙引號,那麼 vim 編輯器將把文本存儲在某個命名緩衝區中, kyy 將當前行復制到緩衝區 k 中,緩衝區使用小寫字母, vim 將把刪除或者移出的文本放置到對應緩衝區,緩衝區使用大寫字母, vim 將把刪除或者移出的文本追加到對應緩衝區的末尾。 利用這個特性可以將文件的不同部分收集並存儲到某個位置。想在某個文檔重複插入段落,句子和短語的情況,命名緩衝區顯得非常有用。 kp k 緩衝區中的文本插入到光標所在行的下方。

這種技術爲在文檔中多次插入相同文本的情況提供了一種快捷便利的方法。

 

讀文件 :r 命令是將文件讀入到工作緩衝區。新創建的文件並不覆蓋工作緩衝區中的任何文本,而是被定位到命令中指定的地址之後。 :[address] r [filename]

:$r example.sh

在文檔結尾插入 example.sh 文件的內容。不指定地址,定位到當前行。不指定文件名則爲當前正編輯文件。

:r example.sh

:r !ls

 

 

寫文件 :w 命令將工作緩衝區的部分或者全部寫到文件。使用地址可以將工作緩衝區的指定部分寫入到由文件名指定的文件中。如果不指定地址和文件,那麼將整個工作緩衝區的內容寫回到正在編輯的文件,並更新磁盤文件。

:[address] w[!] [filename]

:[address] w>> filename

第二種格式是向已有文件追加文本。

 

可以通過設置 vim 參數定製 vim ,使其更符合自己的需要和習慣。

vim 中設置參數:輸入命令 :set parameter_name

:set incsearch

 

 

shell 初始化文件中設置參數: VIMINIT 如果使用 bash ,可以在初始化文件 ~/.bash_profile 中輸入下面格式的語句:

export VIMINIT='set param1 param2 …'

export VIMINIT='set autoindent number shell=/bin/bash wrapmargic=15'

VIMINIT vim 要讀的 shell 變量。

vim 初始化文件中設置參數:用戶可以在自己的主目錄下創建文件 ~/.vimrc ,可在該文件中設置參數。

Set param1 param2 …

>cat >~/.vimrc

set ignorecase

set number

set shell=/bin/bash

set wrapmarg-in=15

 

:set all RETURN, 編輯器將顯示全部的完整列表,並給出它們當前的值。

:set RETURN ,可顯示選項列表。

 

:new 打開一個新的窗口來編輯文本文件。

:open filename 在當前窗口打開文件 filename

 

vim 中執行 shell 命令

在使用 vim 時,執行 shell 命令有多種方式。輸入下面命令後 RETURN 鍵後可派生出一個新的交互式 shell

:sh

參數 shell 用來確定派生出那個 shell ,執行往 shell 可以通過退出 shell 返回到 vim( 通常情況下 CONTROL D 或執行命令 exit)

當使用 :sh 創建一個 shell 時,要確保用戶還在使用 vim

輸入下面命令,可以在 vim 中執行 shell 命令行,其中 command 爲要執行的命令行, RETURN 結束輸入,開始命令行的執行。

:!command

vim 派生出一個新的 shell 來執行 command ,當 command 執行完畢,新派生出的 shell 將返回到編輯器的控制。

 

也可以在 vim 中執行命令,用命令的輸出來替換正在編輯文件的當前行的文本。 如果不想替換任何文本,那麼,執行下面命令時,首先將光標移到空白行。

!!command

注意與下面指令的區別:上條指令替換當前行,下一條指令是在當前行之後插入命令輸出。

:r !command

 

:e

CONTROL+D

:ed+TAB

vim 命令提示 與 補全

When typing a : command, press CTRL-D to see possible completions.

Press <TAB> to use one completion.

 

vim 的許多命令都是在文本塊上進行操作的。文本塊可大可小,可以是字符,也可以是段落,可採用度量單位來指定文件塊的大小。在度量單位上加入重複因子可以指定多個度量單位。

字符:可以是可見的 也可以是不可見的, (TAB SPACE 特殊字符 )

字:由一個或者多個字符組成的字符串,它兩端可以爲以下各元素的任意組合 : 標點符號 空格 TAB 數字和換行符 vim 將每組相連的標點符號看作是一個字。 Pear!) “The 4 個字

 

>vimtutor -e

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章