天天看點

Vim 第一步

首次運作 Vim

[root@mastera0 ~]# ll file1
-rw-r--r--. 1 root root 274 Jun 24 12:19 file1
[root@mastera0 ~]# vim file1
           

使 Vim 開始編輯一個名為 file1 的檔案。螢幕上看起來大緻是這樣:

  • "黑色塊" 代表目前光标位置;
  • 上波浪線(~)表示所在行并不是檔案内容的一部分。換句話說,Vim 将 檔案之外的部分顯示為波浪線;
  • 在視窗的底部, 一個消息行顯示說目前正 在編輯的檔案叫 file1,它有 16 行,274 個字元。但前光

    标所在位置為第一行的第一位

Vim 第一步

如果是新檔案呢?

[root@mastera0 ~]# vim file
           
Vim 第一步

在視窗的底部, 一個消息行顯示說目前正 在編輯的檔案叫 file,并且它是一個新檔案。

插入文本

Vim 編輯器是一個模式編輯器。這意味着在不同狀态下編輯器有不同 的行為模式。兩個基本的模式 Normal

模式和 Insert 模式。在 Normal 模式下你鍵入的每一個字元都被視為一個指令。而在 Insert 模式下鍵入

的字元 都作為實際要輸入的文本内容。 剛啟動時 Vim 工作于 Normal 模式。要進入 Insert 模式你需要使

用"i" 命 令(i 意為 Insert)。接下來就可以直接輸入了。别怕出錯, 錯了還可以修 改。比如下面這首程式

員的打油詩:

A very intelligent turtle
Found programming UNIX a hurdle
           

"turtle" 之後你按下Enter鍵另起一行。最後按下 <Esc> 鍵退出 Insert 模式 ,回到 Normal 模式。現在你的Vim 視窗中有了這樣的兩行内容 :

Vim 第一步

現在是什麼模式?

要知道你現在所處的工作模式是什麼,打開顯示模式的開關:

:set showmode
:set noshowmode 關閉顯示模式
           
Vim 第一步

你會看到按下冒号鍵之後目前光标跑到視窗的最後一行去了。那是使用冒 号指令的地方(顧名思義,冒号命

令就是總是以冒号打頭的指令) 。最後按 下Enter鍵結束整個指令(所有的冒号指令都以這種方式表明指令的

結束).

現在,如果你鍵入了"i"指令 Vim 就會在視窗底部顯示--INSERT-- 。這 表明你目前處于 Insert 模式。

如 果 按 下<Esc> 鍵 返 回 到 Normal 模 式 剛 才 顯 示 出 來 的 模 式"--INSERT-- 就會消失 ;Normal模式并不會顯示 — NORMAL--,作為預設的工作模式它不顯示任何字串。

Vim 新手最頭痛的問題就是模式---經常忘記自己置身于何種模式, 或者不經意敲了哪個字元就切換到别的

模式去了。

不管你目前所處的模 式是什麼,按下<Esc>都會讓你回到 Normal 模式(即使已經在 Normal 模式 下)。有時

需要按兩次<Esc>,如果 Vim 以一聲蜂鳴回答你, 那說明你已經 是在 Normal 模式了。

移動光标

回到 Normal 模式後 , 你就可以用下面的指令來移動光标 :

  • h 左
  • j 下
  • k 上
  • l 右

人們一開始會認為這些字元是随意選取的。畢竟有誰 l 來代 表 right 呢 ? 但事實上 , 這些字元都是精心挑選的 :

在編輯器中移動光 标是十分常用的操作 , 這些字元在鍵盤上都分布在你右手周圍。這樣的安 排可以使你最快

最友善地使用它們 ( 尤其是對那些用十個手指而不是二指 禅使用者而言 ) 。