轉:vim快速入門

來源:互聯網
上載者:User

標籤:blog   http   java   使用   檔案   資料   

vim快速入門  

2007-07-09 20:19:13|  分類: Linux|舉報|字型大小 訂閱

   vim有三種模式-普通(可視命令)模式,命令列模式,編輯模式。啟動vim後在任何模式下按Esc鍵進入到普通模式。普通模式下輸入:斷行符號進入命令列模式,此時vim最視窗最下面一行為:   後面可以輸入命令列命令.在執行任何命令前要確保在相應的模式下。

1.啟動與退出 

   1)vi filename   (啟動vim)

   2)命令列模式下 :wq=> 儲存並退出,:q!=>強行退出,:e!=>放棄修改檔案內容,重新載入該檔案,:x=>退出,檔案更改並儲存,ZZ=>同:x命令 (退出vim)

 

2.基本設定-命令列模式下

 

  • :set nu 顯示行號
  • :syn on 顯示文法高亮
  • :set shiftwidth=4 設定自動縮排 4個空格, 當然要設自動縮排先.
  • :set sts=4 即設定 softtabstop 為4. 輸入 tab 後就跳了 4 格.
  • :set tabstop=4 實際的 tab 即為 4個空格, 而不是預設的 8 個.
  • :set expandtab 在輸入 tab 後, vim用恰當的空格來填充這個 tab.
  • :setsuffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc
  • 在vim中開啟檔案時, 按 tab鍵補齊檔案名稱時它會忽略上述檔案.
  • :set enc=utf-8設定文字編碼

設定設定檔:

:scriptnames  列出設定檔.vimrc所在的目錄

:version 使用者所用的設定檔.vimrc的位置

 

 

3.游標定位(普通模式、可視模式)

$      當前行的末尾

0      當前行的開頭

^      當前行第一個字母

gg     檔案頭

G       檔案尾

``     回到游標跳轉前的位置

H      跳到螢幕上的第一行

M      跳到螢幕的中間行

L      跳到螢幕上的最後一行

w:     游標以單詞向前移動至單詞第一個字母

b:     與w相反,向後移動至單詞的第一個字母

e:     游標以單詞向前移動至單詞最後一字母

ge:     與e相反,向後移動至單詞的最後一字母

%:     移動到與制匹配的括弧上去(),{},[],<>等

CTRL+G  得到當前游標在檔案中的位置

向下翻頁(pagedown):   CTRL+f

向上翻頁(pageup):   CTRL+b

向下移動半屏:CTRL+d

向上移動半屏:CTRL+u

補記:

.游標定位(普通模式、可視模式)$ 當前行的末尾0 當前行的開頭^當前行第一個字母gg 檔案頭G 檔案尾`` 回到游標跳轉前的位置H跳到螢幕上的第一行M 跳到螢幕的中間行L 跳到螢幕上的最後一行w:游標以單詞向前移動至單詞第一個字母b:與w相反,向後移動至單詞的第一個字母e:游標以單詞向前移動至單詞最後一字母ge:與e相反,向後移動至單詞的最後一字母%:移動到與制匹配的括弧上去()...

游標定位技巧的補充:

‘‘ 同`` -- 此命令相當有用, 它移動游標到上一個標記處, 比如用 gd, *等查

找到某個單詞後, 再輸入此命令則回到上次停留的位置.

‘. -- 此命令相當好使, 它移動游標到上一次的修改行.

`. -- 此命令相當強大, 它移動游標到上一次的修改點.

補記:

行號+G 跳轉到指定行

fx 向右跳到本行字元x處(x可以是任何字元)

Fx 向左跳到本行字元x處(x可以是任何字元)

tx 和fx相同,區別是跳到字元x前

Tx 和Fx相同,區別是跳到字元x後

 

4.刪除和複製(普通模式、可視模式)

刪除:

  • dd:   刪除一行
  • dw:   刪除一個單詞,需將游標移到單詞的第一個字母。
  • d$:   刪除當前游標到該行的行尾的字母
  • daw:  刪除一個單詞,游標在單詞任意位置
  • dnw:  刪除N個單詞
  • dnj:   向下刪除n行
  • dnk:   向上刪除n行
  • J:    刪除分行符號,將游標移到改行,按shift+j刪除行尾的分行符號,下一行接上來了。

複製:

  • yy:   複製一行
  • yw:   複製一個單詞,需將游標移到單詞的第一個字母。
  • yaw:   複製一個單詞,游標在單詞任意位置
  • ynw:   複製N個單詞
  • ynj:   向下複製n行
  • ynk:   向上複製n行

修改:

  • cl:   更改當前字元
  • cw:   修改當前單詞到結尾
  • cc:   修改當前行

粘貼:p,粘貼用x、d、y操作的文本

可視模式下的方式:

可視模式下,選中要編輯的文字,可執行d、y,操作。

寄存器下的操作:

在複製前可以先指定一個寄存器,方法是在雙引號後跟一個字母,例如"a指定了寄存器a,"B指定了寄存器B。所以,"ayy把當前行放進了寄存器a,以後就可以用"ap來粘貼寄存器a裡的內容了。如果不確定寄存器裡放了什麼內容,可以使用:reg來查看。

Vim提供了一個很有用的特殊寄存器"+,它的內容就是系統剪貼簿的內容。可以在Vim裡用"+p粘貼出來。

 

5.多檔案操作

 

  1. :ls (:buffers)    顯示buffer列表
    :bn                  轉到下一個buffer
    :bp                  轉到上一個buffer
    :b3                 轉到編號為3 的buffer
    :bindex.html        轉到名為index.html的buffer
    :sav                 另存新檔……
    :sethidden          切換buffer時不給出儲存當前buffer的提示
    CTRL-G              查看當前buffer狀態資訊,如檔案名稱、總行數、修改後未儲存等。
  2. :sp(:vsp) 檔案名稱     vim 將分割出一個橫(縱)向視窗, 並在該視窗中開啟新檔案.從 vim6.0開始, 檔案名稱可以是一個目錄的名稱,把該目錄開啟並顯示檔案清單,在檔案名稱上按斷行符號則在本視窗開啟該檔案, 若輸入O則在新視窗中開啟該檔案, 輸入 ?可以看到協助資訊 。                
  3. :e檔案名稱            vim 將在原視窗中開啟新的檔案, 若舊檔案編輯過,會要求儲存.
  4. c-w-w(即 ctrl鍵與 w 鍵一同按下) vim 割了好幾個視窗怎麼辦?輸入此命令可以將游標迴圈定位到各個視窗之中.c-w-h游標到左視窗,c-w-j下視窗,c-w-k上視窗,c-w-l右視窗。
  5. ls         此命令查看本vim 程式已經開啟了多少個檔案, 在螢幕的最下方會顯示出如下資料:
     1  %a     "usevim.html"        行 162
    2  #      "xxxxxx.html"        行0                     
  6. 其中:   1    表示開啟的檔案序號, 這個序號很有用處.
            %a    表示檔案代號, % 表示當前編輯的檔案,
           # 表示上次編輯的檔案
                         "usevim.html"   表示檔案名稱.
                         行162         表示游標位置.:b序號(代號)        此命令將指定序號(代號)的檔案在本視窗開啟, 其中的序號(代號)
                         就是用 :ls 命令看到的.
  7. :setdiff            此命令用於比較兩個檔案, 可以用
                         :vsp filename
                         命令開啟另一個檔案, 然後在每個檔案視窗中輸入此命令,就能看
                         到效果了
源地址:http://blog.163.com/xinjun_java/blog/static/5118203120076981913266/
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.