• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 大家來學 VIM(一個歷久彌新的編輯器)[一]

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    大家來學 VIM(一個歷久彌新的編輯器)[一] 大家來學 VIM(一個歷久彌新的編輯器)[一] ◎ 前言 監于仍有許多人還沒找到順手的編輯器,而許多想學 vi 的人又覺得無從下手,因此在 此提出一些個人的心得,希望能對這些朋友有點幫助?;蛟S也減少一點 FAQ 吧!
    大家來學 VIM(一個歷久彌新的編輯器)[一]

    大家來學 VIM(一個歷久彌新的編輯器)[一]

    ◎ 前言

    監于仍有許多人還沒找到順手的編輯器,而許多想學 vi 的人又覺得無從下手,因此在
    此提出一些個人的心得,希望能對這些朋友有點幫助?;蛟S也減少一點 FAQ 吧!

    真要深入的話,大多數的前輩都認為 vi 比 emacs(xemcas)還難學。但誰又真的需要熟悉
    編輯器的所有功能呢?你大可以邊用邊學??!需要用到的先學,其它的就放一邊,只
    要能善用一些常用到的功能,又何必要那么深入呢?而且您在使用當中經常會發現一
    些新功能,這又會馬上讓您給賺到了。

    文章是自由格式,會分成好幾次來 post,不常寫文章,各位就將就著看吧!沒有網站
    (要維護,太麻煩了?。?,只好放到newsgroup,這樣看到的人可能會比較多,放在網
    站的話也沒人知道,打廣告又傷感情。但如有人認為這系列文章還有點看頭,您要拿
    去放,悉聽尊便,但不能是商業用途,而且也請告知一下,這樣道德上比較完整。您
    不告知我,也不會去告您啦!只是起毛子有點不好而已。:-)

    聽說許多 BBS 站很痛恨 hinet 的 news server,我也是!垃圾一大堆沒人管,這樣一來可
    能有些站會擋 hinet 的信件,那只能算是無緣了!可避免被我污染。我目前是用 hinet 上
    newsgroup,已經不是學生了,沒有學校資源可用。:-(


    ◎ 為什么選 VIM?

    最最重要的原因是可以正確處理中文!其它如 elvis,vile,nvi在中文方面都會有問題。另外
    就是許多作業系統都有 VIM 可用。當然如果您不需要中文支援的話,也建議使用
    elvis。vile則有 emacs 的味道,而 nvi 大概是最忠于原味的了!至于原始vi 的書已有中文

    翻譯(O’Reilly),各位到大一點的書局翻翻就有了。所以選定 VIM 做對象,兼述及
    elvis,至少她不「排斥」中文。

    ※ VIM 代表 Vi IMproved。

    ※ elvis 可直接讀 HTML(可用來上網,但只有文字),binary,manpage 及 TeX(LaTeX)(不是只顯示程式
    碼喔!)檔,和 XA+CV配合也可以用中文,但不能真正處理就是了!

    ※ VIM 也不是真的能完全支援中文啦!有些細部的功能還是沒法度。大概 6.0 版的時候會更好!不
    過平常一般的編輯動作是沒問題。

    另一個原因是,VIM 是慈善軟體(CharityWare),如有贊助或評比得獎(前不久剛得
    過),所得皆救助烏干達孤兒,有點年紀的大概還記得"We Are The World" 這首歌吧!
    全球的藝人共同合唱的,就是救助這些孤兒(應該沒記錯吧?。?。您要使用當然是免
    費,您要捐款贊助當然是不勉強啦!但如果有評比有獎金可拿的,您去投她一票就是
    功德無量了。
    另外 vim 的規則表示式(regular express)頗完整,您也可借這個機會學 regexp,因為您在
    sed,awk,perl,less,grep...中也是要用到,早點會 regexp 您生活在 Linux(Unix)的世界會更美

    好。學了 regexp 您會很鄙視 windows 系統中的尋找功能的。
    由于是慈善軟體,廣結善緣,因此連中文繁體都支援,不簡單。但也因此最近的版本
    有點肥,但又不會太肥(比 xemacs 好多了啦!)。這么可愛的軟體,能不用她嗎?

    ◎ 何處抓 VIM(elvis)?
    http://www.vim.org/
    找個自己中意的 mirro 站抓?;蛟S也順便抓 Win32 的可執行檔回來在 windows 系統中使
    用。別忘了 runtime 檔也要抓,否則會無法找到需要的檔案來執行。
    http://www.fh-wedel.de/elvis/index.html
    ftp://ftp.pdx.edu/pub/elvis
    也可試試 elvis(當然是免費的)。

    CLE 的使用者也可以到:
    ftp://linux.tmtc.edu.tw/pub/CLE/i386/RedHat/RPMS
    抓最新版來安裝,省時省力,而且還把必要的中文設定都弄好。目前最新的版本,
    VIM 是 5.6,elvis 是 2.1-4。


    ◎ 編譯安裝

    只講重點,避免羅嗦!

    VIM:
    1. configure 時加上:
    --enable-multibyte
    --enable-xim 如果您使用 xcin2.3 的話,就不必了
    --enable-fontset
    --enable-gui=gtk
    gtk+ 最好是 1.2.3 以上的版本,1.2.1 也是將就可以啦!大家都用 gtk+ 了,您不會想編
    Athena 或 Motif(lesstif)吧!而且后兩個版本的 GUI 就沒有漂亮的icon 了(但有的人就是
    討厭這些無用的 icon)。

    2. ~/.vimrc 加入:
    set fileencoding=taiwan
    set guifontset=英文字型,中文字型
    設了 guifontset 就不能設 guifont 否則會優先使用
    guifont,這樣就找不到中文字型了!console 下或 xterm下的話,就看您用什么字型就顯

    示什么字型,和guifontset 無關。


    ※ 英文字型要用固定字,建議使用危卵的 Andale Mono 這個字型,包您滿意,可去危卵抓,免費
    的。我個人是使用180 的 Andale 字,配上 220 的中文字,絕配(1024x768)!哦!不要告訴我,您的 X
    server 還不能支援 TTF。

    3. 使用 xcin2.3 的話還是得配合 XA+CV 主要是輸入的問題。使用 xcin2.5 的話就不必
    XA+CV 了,但您得另外設 xim,請進入 VIM 后 :help xim。很抱歉您可能得自己試看看
    了,我并沒有親自試過。


    4. locale 要設成 zh_TW.Big5,意思就是您的系統的 i18n支援不能太差,我是使用
    gvim-chinese shell script來呼叫 gvim。

    #!/bin/sh
    # gvim-chinese
    # unset LD_PRELOAD 如果您使用 xcin2.5x 的話
    export LC_ALL=zh_TW.Big5
    gvim "$@"

    elvis:
    elvis 沒什么好說的,反正是靠 XA+CV 來顯示及輸入中文。至于其他外觀調整,就請
    man elvis。


    ◎ 勤前教育

    VIM 的模式可有六種,為免初學的人搞混,仍依一般的分類分成三種:

    1. Normal mode(common mode,以下簡稱 c-mode):
    您一進入 VIM 就是處于 c-mode,只能下按鍵指令,不能輸入文字。這些指令可能是游

    標移動的指令,也可能是編輯指令或尋找替換指令。


    2. Insert mode(i-mode):
    按 i 就會進入 i-mode,此時才可以鍵入文字,寫您的文章,按 Esc 又會回到 c-mode。


    3. Ed mode(common-line mode,e-mode):
    按冒號:(別忘了 Shift 鍵)就會進入 e-mode,左下角會有一個冒號:出現可下 ed 指令。
    也是按 Esc 回 c-mode。反正正常狀態都是處于 c-mode,這樣才不會把您辛苦打字的文

    章給隨便搞亂掉。


    ※ ed 是一個很古老的行編輯器,就好像 DOS 下的 edline 一樣,vi,sed 這些編輯器都是從 ed 衍化而來
    的。有興趣可man ed 學看看有些時候會只有 ed 可以用(當機救助的時候)。

    其它的模式就碰到時再說明了!


    ◎ 基本教練:step by step

    1. 由命令列來開檔:

    vim test.txt 或 gvim test,txt 或 gvim-chinese test.txt.如果您的系統 vi 是 vim 的連結檔話,就可
    以直接用vi test.txt。以下就直接用 vim 代表 vi,gvim,elvis 因操作是一樣的。

    2. 先進入 vim 后再開檔:

    進入 vim 后,使用冒號命令 :e test.txt,就可以編輯test.txt 這個檔。1. 及 2. 這兩個開檔
    法,如果 test.txt不存在的話,就會開一個以 test.txt 為名的新檔案。

    ※ 如果 gvim,可由 icon(gtk 版本才有)或功能表來叫出 file browser 來選看看您要編輯哪一個檔,但如
    果您是初學的話不建議您這么做,vi 就是以按鍵快速聞名,這是她的優點,您還是學起來吧,不然
    沒有 GUI 的時候會很不習慣的。

    3. 進入 vim 后,按 i 進入 i-mode,就可以編寫您的文件了。在vim 游標的移動可以由
    方向鍵來移動。Backspace 鍵可消去前一個字元,中文的話是一個中文字。Del 鍵可刪
    除游標所在處的字元(中文字)。

    ※ 原始 vi 是不能在 i-mode 隨意移動游標的,得進入 c-mode才能移動,因此就常常要按 Esc 來變換模
    式。vim 及 elvis都打破了這個規矩。

    4. 如果您寫好您的文件,就可以按 Esc 回到 c-mode,然后 :w 就會存檔(注意,是冒
    號命令),但還不會離開 vim,要離開可按:q,就可以了!也可以合起來用,:wq,就樣
    就會存檔后離開。怎么樣,也不會很難吧!只不過操作方式和別的編輯器不一樣罷
    了,這樣豈不是很有個性。:-)

    ※ 盡量記住按鍵的意義,才不必死背,如 e 是 edit(編輯), w是 write(寫入),q 是 quit(停止、離開)。


    好了,這是就編輯的整個過程。下回開始是詳述各部份的功能,把vim 解剖開來講,您
    可以馬上現學現賣。由于 vi(m) 的操作方式很有個性,因此,用了一次就會記住有這么

    一個功能,想忘也忘不了,但有時按鍵難免會忘記,但有這一種功能大概是忘不了
    的,查了幾次指令就可以記得住了。下回待續。


    ==========
    Edward Lee
    edt1023@ms28.url.com.tw

    [大家來學VIM(一個歷久彌新的編輯器)[二]]
    [上一頁]

    發信人: "Edward Lee" 〈edt1023@ms28.url.com.tw〉, 信區: LINUX
    標 題: [心得整理]大家來學VIM(2)
    發信站: DCI HiNet (Wed Mar 15 23:58:17 2000)
    轉信站: redbbs!wd.atc.ntut!freebsd.ntu!news.ntu!ctu-gate!news.nctu!newsfeed.ber
    出 處: h136.s226.ts32.hinet.net

    大家來學VIM(一個歷久彌新的編輯器)[二]

    游標的移動


    本節所述皆是在 common-mode(c-mode,在 vim 又名 normal-mode)下的移動,原始的 vi
    只能在 c-mode 移動,在 insert-mode 只做文字的輸入,而不做游標的移動。當然 vim 及
    elvis 的方向鍵是不論在那一種 mode 皆可移動自如。

    ◎ 基本的游標移動

    h 左,或 Backspace 或方向鍵
    j 下,或 Enter 或 +(要 Shift 鍵),或方向鍵
    k 上,或 方向鍵或 -(不必 Shift 鍵)
    l 右,或 Space 或方向鍵

    ※ 使用 hjkl 鍵的移動是為了使手不必離開打字區(鍵盤中央的部位),以加快打字的速度,如果各
    位不習慣,那就使用方向鍵吧!

    ※ Backspace 及 Space 的移動方式是到了行首或行尾時會折行,但方向鍵或 hl 鍵的移動則在行首或
    行尾時您繼續按也不會折行。轉折換行的功能是 vim 的擴充功能,elvis 無此功能。

    ※ jk 及使用方向鍵的上下移動游標會盡量保持在同一欄位。使用Enter,+,- 的上下移動,游標會移
    至上(下)一行的第一個非空白字元處。

    ※ 好像有點復雜,各位就暫時使用方向鍵來移動就簡單明白了!等您愛上了 vim 后再來講究吧。

    Ctrl-f 即 PageDown 翻頁
    Crtl-b 即 PageUp 翻頁

    ◎ 進階的游標移動

    0 是數目字 0 而不是英文字母 o?;蚴?Hmoe 鍵,移至行首,(含空白字元)。
    ^ 移至第一個非空白字元,注意,要 Shift 鍵。
    $ 移至行尾,或 End 鍵。要 Shift 鍵。

    ※ 以上兩個按鍵是源自規則表示式(regular expression),在regexp 中 ^ 是匹配行首,$ 是匹配行

    尾。

    G 移至檔尾(最后一行的第一個非空白字元處)
    gg □至檔首(第一行之第一個非空白字元處)

    ※ gg 是 vim 的擴充功能,在 elvis 或原始 vi 中可用 1G 來移至檔首(是數字 1 不是英文字 l)。

    ※ G 之原意是 goto,指移至指定數目之行首,如不指定數目,則預設是最后一行。

    w 移至次一個字(word)字首。當然是指英文單字。
    W 同上,但會忽略一些標點符號。
    e 移至前一個字字尾。
    E 同上,但會忽略一些標點符號。
    b 移至前一個字字首。
    B 同上,但會忽略一些標點符。
    H 移至螢幕頂第一個非空白字元。
    M 移至螢幕中間第一個非空白字元。
    L 移至螢幕底第一個非空白字元。

    ※ 這和 PageDown,PageUp 不一樣,內文內容并未動,只是游標在動而已。n| 移至第 n 個字元(欄)
    處。注意,要用 Shift 鍵。n 是從頭起算的。

    : n 移至第 n 行行首?;?nG。


    ◎ 特殊的移動

    ) 移至下一個句子(sentence)首。
    ( 移至上一個句子(sentence)首。
    } 移至下一個段落(paragraph)首。
    { 移至上一個段落(paragraph)首。
    ※ sentence 是以 . ! ? 為區格。paragraph 是以空白行為區格。
    % 這是匹配 {},[],() 用的,例如您的游標現在在 { 上只要按 %,就會跑到相匹配的 }
    上。寫程式時滿好用的。

    另還有一些 vim 的特殊按鍵,但這得留待最后才來講述,否則
    各位恐怕會頭昏眼花了。下回待續。


    1999.03.15
    請勿移作商業用途!
    =======
    Edward Lee
    edt1023@ms28.url.com.tw

    [大家來學VIM(一個歷久彌新的編輯器)[三]]

    發信人: "Edward Lee" 〈edt1023@ms28.url.com.tw〉, 信區: LINUX
    標 題: [心得整理]大家來學VIM(3)
    發信站: DCI HiNet (Fri Mar 17 17:48:16 2000)
    轉信站: redbbs!wd.atc.ntut!freebsd.ntu!news.cs.nthu!newsfeed.nthu!ctu-gate!news
    出 處: h242.s225.ts32.hinet.net

    大家來學 VIM(一個歷久彌新的編輯器)[三]

    基本編輯指令


    這個單元就開始進入主題了。下編輯指令都是在 commond-mode(c-mode),就是您一進
    入 vim 時的模式,只能下指令,不能鍵入文字。如果印象模糊,請瞄一下第一個單元的
    內容。這個單元說的是基本的指令,有些比較特殊的編輯指令,因為太有個性了,所
    以會獨立成一個單元來說明。

    ◎ 進入 i-mode 的指令

    i 在游標所在字元前開始輸入文字(insert)。
    a 在游標所在字元后開始輸入文字(append)。
    o 在游標所在行下開一新行來輸入文字(open)。
    I 在行首開始輸入文字。

    ※ 此之行首指第一個非空白字元處,要從真正的第一個字元處開始輸人文字,可使用 0i 或 gI(vim)。

    A 在行尾開始輸入文字。

    ※ 這個好用,您不必管游標在此行的什么地方,只要按 A 就會在行尾等您輸入文字。

    O 在游標所在行上開一新行來輸入文字。
    J 將下一行整行接至本行(Joint)。

    ※ 并無相對的 split 功能,可在 i-mode 下按 Enter 來達成,當然如果您熟 macro 的話,可自行定義。

    ※ 使用 J 時,預設會消去本行的 EOL,且上下行接縫間會留下一個空白字元,這符合英文習慣,卻
    對中文會造成困擾,欲不留空白字元,可使用 gJ(大寫 J) 指令,但這是 vim 的擴充功能,elvis 不
    適用。

    ※ 請您隨便找一個檔案來試看看,光看文字說明太抽象了。


    ◎ 刪除指令

    x 刪除游標所在處之字元。在 vim 及 elvis 亦可用 Del 鍵。
    X 刪除游標前之字元。不可使用 Spaceback 鍵。

    ※ vim 可以正確使用以上兩個指令于中文,會刪去一個中文字elvis 則不行,一個中文字要刪兩次,
    即使用 xx。

    dd 刪除一整行(delete line)。
    dw 刪除一個字(delete word)。不能適用于中文。
    dG 刪至檔尾。
    d1G 刪至檔首?;?dgg(只能用于 vim)。
    D 刪至行尾,或 d$(含游標所在處字元)。
    d0 刪至行首,或 d^(不含游標所在處字元)。

    ※ 請回憶一下 $ 及 ^ 所代表的意義,您就可以理解 d$ 及 d^的動作,這就是 vi(m) 可愛之處。


    ◎ 取代及還原


    r 取代游標所在處之字元。vi(m) 很有個性的,您在 c-mode 按了 r 她就會停在那里等主
    人鍵入所要替代的字元,希望您這個當主人的,不要傻呼呼的也楞在那里,趕快鍵入
    您的新字元吧!:-)

    ※ vim 中可用于中文字,也就是可以替換一個中文字,elvis 則不行。當然您的 vim 是要設在 taiwan
    的才行。怎么樣!有沒有看過如此有個性的取代方式?ㄚ!r 就是 replace 啦!

    R 取代字元至按 Esc 為止。
    cc 取代整行內容?;虼髮?S 亦可。
    cw 替換一個英文字(word),中文不適用。(change)
    ~ 游標所在處之大小寫互換。當然不能用于中文。別忘了 Shift!
    C 取代至行尾,即游標所在處以后的字都會被替換?;?c$。
    c0 取代至行首,或 c^。
    s 替換一個字元為您所輸入的字串。和 R 不同,R 是覆蓋式的取代,s 則是插入式的取

    代,您可親自實驗看看。ㄟ!是小寫的s。
    u 這個太重要了,就是 undo,傳統的 vi 僅支援一次 undo,vim及 elvis 就不只了,vim 是
    沒有限制的。
    U 在游標沒離開本行之前,回復所有編輯動作。
    Crtl+r 這個也是很重要,就是 redo 鍵。


    ◎ 加上數目字

    喔!騷到 vi(m) 的癢處了,這是 vi(m) 一個非常騷包的功能,只此一家別無分號。就是
    您可以在大部份的指令前加上數目字,代表要處理幾次的意思。以下用實例來說明比

    較清楚。

    5dd 刪除游標所在處(含)起算以下五行內容。妙吧!
    3r 按了 3r 后,您鍵入一個英文字,則三個字元皆會被您所鍵入的英文取代。很抱歉,
    這不能用于中文。
    5J 將五行合并成一行。
    3x 刪除三個字元。抱歉,不能用于中文。
    5i A 然后按 Ecs,插入五個 A。中文也可以!
    2i system Esc 插入 systemsystem。中文也可以!
    5G 游標移至第五行,是從檔首開始起算。
    5l 移至右第五個字元處,當然 j 是可以用方向鍵取代的。
    所有移動指令(參考第二單元)都可以加上數目字來控制,中文也通喔!elvis 當然是
    不能用于中文。

    其它的指令和數目字結合,就留待各位去發掘吧!最重要的是請您親自操作看看,使
    用 vi(m) 常常要動動腦筋,會有更妙的操作方式。


    ◎ 簡單重排功能


    〉〉 整行向右移一個 shiftwidth(預設是 8 個字元,可重設)。
    〈〈 整行向左移一個 shiftwidth(預設是 8 個字元,可重設)。

    ※ :set shiftwidth? 可得知目前的設定值。

    : set shiftwidth=4 可馬上重設為 4 個字元。

    shiftwidth 可簡寫成 sw。ㄟ,別忘了 Shift 鍵!
    : ce(nter) 本行文字置中。注意是冒號命令!

    : ri(ght) 本行文字靠右。

    : le(ft) 本行文字靠左。


    ※ 所謂置中、靠左右,是參考 textwidth(tw) 的設定。如果tw 沒有設定,預設是 80,就是以 80 個字元
    為總寬度為標準來置放。當然您可以如 sw 一樣馬上重設。

    gqip 整段重排。中文會出槌!:-(
    gqq 本行重排。

    ※ 重排的依據也是 textwidth。這里的重排是指您鍵入文字時沒有按 Enter 鍵,就一直在 keyin,這樣
    會形成一個很長的一行(雖然螢幕上會替您做假性折行),重排后,則會在每一行最后加入 EOL。
    在以后的單元里還會詳談,各位就先記起來吧!gq 重排功能是 vim 才有的功能。


    下回預告:復制(yank)
    如有錯誤請不吝指正,謝謝!

    2000.03.17

    =======
    Edward Lee
    edt1023@ms28.url.com.tw

    [大家來學 VIM(一個歷久彌新的編輯器)[四]]

    發信人: "Edward Lee" 〈edt1023@ms28.url.com.tw〉, 信區: LINUX
    標 題: 大家來學VIM(4)
    發信站: DCI HiNet (Mon Mar 20 16:37:59 2000)
    轉信站: redbbs!wd.atc.ntut!freebsd.ntu!News.Math.NCTU!newsfeed.stanford.edu!new
    出 處: h25.s226.ts32.hinet.net

    大家來學 VIM(一個歷久彌新的編輯器)[四]

    復制(yank)

    yank 是什么意思?有疑問的請查一下字典吧!就好像是中醫治療中的「拔罐」的意思

    啦(是不是叫「拔罐」?知道的朋友指正一下吧)!反正在 vi(m) 中,她就是復制 copy
    的意思。這在 vi(m)的思考邏輯里,就是「拔」yank 起來,「放」put 上去。其實復制的
    指令就是 y 一個而已,為什么要獨立成一個單元來說明呢?因為 vi(m) 復制、貼上的功
    能實在太獨特了,再配合第三單元介紹的數目字,及 vi(m) 內部的緩沖區來使用的話,
    您會發現,原來 vi(m) 肚子里還暗藏著秘密武器。


    ◎ 指令說明

    yy 復制游標所在行整行?;虼髮懸粋€ Y。
    2yy 或 y2y 復制兩行。ㄟ,請舉一反三好不好!:-)
    y^ 復制至行首,或 y0。不含游標所在處字元。
    y$ 復制至行尾。含游標所在處字元。
    yw 復制一個 word。
    y2w 復制兩個字。
    yG 復制至檔尾。
    y1G 復制至檔首。
    p 小寫 p 代表貼至游標后(下)。
    P 大寫 P 代表貼至游標前(上)。

    ※ 整行的復制,按 p 或 P 時是插入式的貼在下(上)一行。非整行的復制則是貼在游標所在處之后
    (前)。

    "ayy 將本行文字復制到 a 緩沖區

    ※ a 可為 26 個英文字母中的一個,如果是小寫的話,原先的內容會被清掉,如果是大寫的話是
    append 的作用,會把內容附加到原先內容之后。

    ※ " 是 Enter 鍵隔壁的那一個同上符號(ditto marks)。

    "ap 將 a 緩沖區的內容貼上。

    ※ 緩沖區的術語在 vim 稱為 registers,vim 擴充了相當多的功能,有興趣深入的朋友請 :h registers。
    您用 d、c、s、x、y 等指令改變或刪除的內容都是放在 registers 中的。
    例如:您用 dd 刪除的一行,也是可以使用 p 來貼上的。只要是在緩沖區的內容都可以使用 p 來貼
    上,不是一定要 y 起來的內容才能用 p。因此您認為 p 是 paste 也可以,認為是put 可能較正確。

    5"ayy 復制五行內容至 a 緩沖區。
    5"Ayy 再復制五行附在 a 內容之后,現在 a 中有十行內容了!

    ※ ㄟ!不要我一直用 a 您就認為只有 a 可以用喔。26 個英文字母都可以的,交叉運用下,您會發覺
    vi(m) 肚量不小。

    ※ 問題來了!忘記誰是誰的時候怎么辦? :reg(冒號命令)就會列出所有 registers 的代號及內容。
    您現在就試著按看看.咦!怎么還有數目字、特殊符號的緩沖區,原來您剛剛刪除的就預設放在 " 這
    個緩沖區,然后依序是 0,1,2,...9。也就是說您按 p 不加什么的話,是取出 " 緩沖區的內容的。% 指的
    是目前編輯的檔案,# 指的是前一次編輯的檔案。還有其它的呀!因為沒什么重要,就請 :h registers
    吧!registers 有個 "s" 結尾,不要搞錯了,而且 Tab 的補全鍵 vim 也支援的,也就是說您鍵入 :h regi
    再按 Tab 鍵,vim 就會幫您補全,按了 Tab 后發現不是您要的,那就繼續按,總會出現您要的。:-)

    ※ Tab 補全的功能,elvis 也有,但叫出 registers 列表的命令則沒有,您得自行記憶在您的腦袋瓜子
    里。而且 elvis 的補全能力并沒 vim 強。


    ◎ 天大的指令

    . 這是什么?ㄚ,是英文句點啦!沒錯,就是英文句點。什么意思?重復前次的編輯動
    作。這個指令太高明了,只要是編輯動作(移動游標不算,冒號命令也不算)都可以
    按英文句點來重復,要重復幾次都可以。

    例如:您按了 yy,然后按 p 就會復制一整行,如果要重復這個動作的話,就可以按 .
    ,也可以把游標移到其它地方后再按。其它dd,dw,r,cw 等編輯指令都可以這樣來
    重復。如果您要重復做某些編輯動作時,千萬千萬一定要想到有這么一個英文句點重
    復指令。ㄚ,拜托啦!您一定要記得常用這個指令。


    ◎ 疑難雜癥

    1. 那 mouse 中鍵的剪貼功能還有嗎?
    當然還有,不管在 console 或 X terminal 中都照用不誤。當然在 windows 下的話就不能用
    了,復制用 Ctrl-c,貼上用 Shift-Insert 來代替。Ctrl-v 在 vim 中另有作用,在 windows下
    就不必去麻煩它了。

    2. ㄟ,我從 netscape 用 mouse copy 東東過來的時候,常常都搞得天下大亂耶!
    要設成 :set paste,預設是 map 至 F9 鍵的,您要 copy 之前先按一下 F9,copy 完后再按

    一次 F9 來回復。這是 vim 的擴充功能,elvis 沒有。那在 elvis 怎么辦?只好 :set noai了。
    在 GUI 的版本應不會有這種情形。

    ※ set 的功能先不必去理它,往后會有一個單元專門討論。

    朋友!您睡著了嗎?不要被嚇到了,您只要開個檔案,親自操作一下就能心領神會。
    那用 mouse 不是更方便嗎?不見得,yyp 來復制貼上一整行比較快,還是用 mouse 來拉
    比較快?您可以試看看。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>