Vim編輯器

vi編輯器

  • vim是Vi improved的縮寫,是vi的改進版
  • linux中,vi被認爲是事實上的標準編輯器

進入vi編輯器

  • 經過如下方式進入vi編輯器:
命令 描述
vi filename 若是filename存在,則打開;揉着建立一個新的文件叫作filename
vi -R filename 以只讀模式打開現有文件
view filename 以只讀模式打開現有文件
  • 豎線(|)表明光標的位置。
  • 波浪號(~)表明該行沒有任何內容。若是沒有 ~,也看不到任何內容,那說明這一行確定是有空白字符(空格、tab 縮進、換行符等)或不可見字符。

工做模式

  • 普通模式
  • 由Shell進入vi編輯器時,首先進入普通模式。在普通模式下,從鍵盤輸入任何字符都被看成命令來解釋。普通模式下沒有任何提示符,輸入命令後當即執行,不須要回車,並且輸入的字符不會在屏幕上顯示出來。
  • 普通模式下能夠執行命令、保存文件、移動光標、粘貼複製等。
  • 編輯模式
  • 編輯模式主要用於文本的編輯。該模式下用戶輸入的任何字符都被做爲文件的內容保存起來,並在屏幕上顯示出來。
  • 命令模式
  • 命令模式下,用戶能夠對文件進行一些高級處理。儘管普通模式下的命令能夠完成不少功能,但要執行一些如字符串查找、替換、顯示行號等操做仍是必需要進入命令模式。

退出vi編輯

  • 退出以前,能夠在w命令後面指定一個文件名,則能夠將文件另存爲新文件:
w filename2

移動光標

  • 爲了避免影響文件內容,必須在普通模式(按兩次 Esc 鍵)下移動光標。使用下表中的命令每次能夠移動一個字符:
命令 描述
k 向上移動
j 向下移動
h 向左移動
l 向右移動
  • 兩點提醒:
  • vi 是區分大小寫的,輸入命令時注意不要鎖定大寫。
  • 能夠在命令前邊添加一個數字做爲前綴,例如,2j 將光標向下移動兩行。
  • 其餘移動命令:
命令 說明
0 將光標定位在一行的開頭
$ 將光標定位在一行的末尾
w 定位到下一個單詞
b 定位到上一個單詞
( 定位到一句話的開頭(句子是以 ! . ? 三種符號來界定的)
) 定位到一句話的結尾
{ 定位到段落開頭
} 定位到段落結尾
[[ 回到段落的開頭處
]] 向前移動到下一個段落的開頭處
1G 移動到文件第一行
G 移動到文件最後一行
nG或:n 移動到文件第n行
H 移動到屏幕頂部
nH 移動到屏幕頂部第n行
M 移動到屏幕中間
L 移動到屏幕底部
nL 移動到屏幕底部第n行
:x x爲一個數字,標識移動到行號爲x的行

控制命令

命令 描述
CTRL+d 向前滾動半屏
CTRL+f 向前滾動全屏
CTRL+u 向後滾動半屏
CTRL+b 向後滾動全屏
CTRL+e 向上滾動一行
CTRL+y 向下滾動一行
CTRL+I 刷新屏幕

編輯文件

命令 描述
i 在當前光標位置以前插入文本
I 在當前行的開頭插入文本
a 在當前光標位置以後插入文本
A 在當前行的末尾插入文本
o 在當前位置下面建立一行
O 在當前位置上面建立一行

刪除字符

命令 描述
x 刪除當前光標下的字符
X 刪除光標前面的字符
dx 刪除從當前光標到單詞結尾的字符
d^ 刪除從光標到行首的字符
D 刪除從當前光標到行尾的字符
dd 刪除當前光標所在行的字符

能夠在命令前面添加一個數字前綴,表示重複操做的次數,例如,2x 表示連續兩次刪除光標下的字符,2dd 表示連續兩次刪除光標所在的行。linux


修改文本

命令 描述
cc 刪除當前行,進入編輯模式
cw 刪除當前字,進入編輯模式
r 提花當前光標下的字符
R 從當前光標開始替換字符,按Esc鍵退出
s 用輸入的字符代替當前字符,進入編輯模式
S 用輸入的文本代替當前的行,進入編輯模式

粘貼複製

命令 描述
yy 複製當前行
nyy 複製n行
yw 複製一個單詞
nyw 複製n行
p 將複製的文本粘貼到光標的後面
P 將複製的文本粘貼到光標的前面

set命令

命令 說明
:set ic 搜索時忽略大小寫
:set ai 設置自動縮進
:set noai 取消自動縮進
:set nu 顯示行號
:set sw 設置縮進的空格數。例如,將縮進空格數設置爲4::set sw=4。
:set ws 循環搜索:若果知道文件末尾也沒有查找到指定的字符,那麼回到開頭繼續查找
:set wm 設置自動換行。例如,設置距離邊際2個字符時換行::set wm=2 。
:set ro 將文件類型改成只讀
:set term 輸出終端類型
:set bf 忽略輸入的控制字符,如BEL、BS、CR
相關文章
相關標籤/搜索