前言
我們前面都是用的什麼什麼命令,那我們如果要在Linux中去編輯文本,
那我們應該用什麼呢?
Linux最常用的文本編輯器命令 vim。其實最開始Linux系統的文本編輯器命令是 vi,
後來出現了一個 vi 的增強版 vim,所以實際操作中我們還是使用增強版 vim。
一、vim/vi編譯器簡介
Vim/Vi是一個功能強大的全屏幕文本編譯器(Full Screen Text Editor),
是Linux平臺上最常用的文本編譯器用於建立、編輯、顯示文本文件
(linux平臺下的編程平臺)主要用來進行一些腳本程序的編寫。
二、Vim/Vi工作模式
vim 主要有三種工作模式,分別是命令模式、插入模式和編輯模式:
- 輸入 vi 文件名 我們可以進入命令模式,輸入字符 i或者a或者o我們可以進入插入模式,
進入插入模式之後我們可以進行文件的內容修改,修改完成之後,可以輸入 :wq 可以保存退出。
三、vim/vi編譯器的啓動和退出
3.1 vi啓動
輸入vi命令後,便進入全屏幕編輯環境,此時的狀態爲命令模式。
- vi file1
如果file1文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩衝區。
光標定位在該緩衝區第1行第1列的位置上。 - vi +N file1(N:爲數字)
如果file1文件不存在,將建立此文件;如該文件存在,則將其拷貝到一個臨時緩衝區。
光標定位在文件第N行第1列的位置上。 - vi +/string file1
如果file1文件不存在將建立此文件;如該文件存在則將其拷貝到一個臨時緩衝區。
光標定位在文件中第一次出現字符串string的行首位置。
3.2 vi退出
建議在退出vi前,先按ESC鍵,以確保當前vi的狀態爲命令方式,
然後再鍵入“:”(冒號),輸入下列命令,退出vi。
- :w
將編輯緩衝區的內容寫入文件,則新的內容就替代了原始文件。
這時並沒有退出vi,必須進一步輸入下述命令才能退出vi: “:w filename(存入指定文件) :q” - :wq
即將上面的兩步操作可以合成一步來完成,先執行w,後執行q。 - :x和ZZ
注意:ZZ前面沒有“:”)功能與“:wq”等價。 - :q!(或:quit)
強行退出vi,使被更新的內容不寫回文件中。
僅鍵入命令:q時,如vi發現文本內容已被更改,將提示用戶使用“:quit”命令退出。
四、Vi編譯器常用的命令
4.1 在文件中移動光標(在命令模式下)
1)上下左右移動光標
- k:向上移動一行
- j:向下移動一行
- h:向左移動一個字符
- l:向右移動一個字符
2)移動光標的快捷鍵
- ^(即Shift+6):移動到當前行的開頭處
- $(即Shift+4):移動到當前行的結尾處
- H(大寫):使光標移動到屏幕的頂部
- M(大寫):使光標移動到屏幕的中間
- L(大寫):使光標移動到屏幕的底部
- Ctrl+b:上滾一屏
- Ctrl+f:下滾一屏
- Ctrl+d:下滾半屏
- Ctrl+u: 上滾半屏
4.2 插入命令
執行下面命令是從命令模式進入到插入模式,進行編寫文本
- 添加
輸入a後,在光標的右邊插入文本
輸入A,在一行的結尾處添加文本 - 插入
通過在命令模式下輸入i,在光標的左邊插入文本
通過在命令模式下輸入I,在行首插入文本 - 插入新行
輸入o,在當前光標位置下面打開一行
輸入O,在當前光標位置上面打開一行
4.3 刪除命令
在命令模式下執行
- 刪除一個字符
爲刪除一個字符,需將光標放置在要刪除的字符上並輸入x
爲刪除光標之前(其左邊)的一個字符,需輸入X - 刪除一個詞或詞的部分內容
爲刪除一個詞,需將光標放置到該詞的開頭並輸入dw
爲刪除詞的部分內容,將光標放到該詞要保存部分的右邊。輸入dw來刪除餘下的部分 - 刪除1行
將光標放置到該行的任意處並輸入dd;刪除多行:ndd - 刪除行的部分內容
光標放置到該行要保存部分的右邊,並輸入D。
爲刪除光標左邊的所有內容,須將光標放置到該行要刪除部分的右邊,並輸入d0(d-零)。 - 刪除到文件的結尾
爲刪除從當前行到文件結尾的所有內容,需輸入dG
4.4 複製和剪切命令
- 複製一行命令:yy
- 粘貼命令:p
- 移動文本:先將要移動的部分用刪除命令刪除,然後再粘貼就可以了
- 複製指定文件的內容(使用底行模式)::r filename
4.5 替換和取消命令
4.6 搜索和搜索替換命令
- 查找一個字符串
1)輸入/,並在/後面輸入要查找的串,然後按下回車
2)輸入“n”跳轉到該串的下一個出現處
3)輸入“N”跳轉到該串的上一個出現處 - 替換一個字符串
1)在一行內替換頭一個字符串old爲新的字符串new::s/old/new
2)在一行內替換所有的字符串old爲新的字符串new::s/old/new/g
3)在兩行內替換所有的字符串old爲新的字符串new::#,#s/old/new/g
4)在文件內替換所有的字符串old爲新的字符串new::%s/old/new/g
5)進行全文替換時詢問用戶確認每個替換需添加c選項::%s/old/new/gc(需按兩次回車)
4.7 保存和退出命令
4.8 定位命令
我們定位到最後一行也可以用:shift+g