os:linux:vi_vim
目錄表
vi 和vim 的區別
它們都是多模式編輯器,不同的是vim 是vi的升級版本,它不僅相容vi的所有指令,而且還有一些新的特性在裡面。
vim的這些優勢主要體現在以下幾個方面:
- 多級撤消 我們知道在vi裡,按 u只能撤消上次命令,而在vim裡可以無限制的撤消。
- 易用性 vi只能運行於unix中,而vim不僅可以運行於unix,windows ,mac等多操作平臺。
- 語法加亮 vim可以用不同的顏色來加亮你的程式碼。
- 視覺化操作 就是說vim不僅可以在終端執行,也可以運行於x window、 mac os、 windows。
- 對vi的完全相容 某些情況下,你可以把vim當成vi來使用。
vi和vim都是Linux中的編輯器,不同的是vim比較高階,可以視為vi的升級版本。vi使用於文字編輯,但是vim更適用於coding。
現將vi/vim的命令列收集於下:
vi有3個模式:插入模式、命令模式、底行模式。
插入模式:在此模式下可以輸入字元,按ESC將回到命令模式。
命令模式:可以移動游標、刪除字元等。
底行模式:可以儲存檔案、退出vi、設定vi、查詢等功能(底行模式也可以看作是命令模式裡的)。
一、開啟檔案、儲存、關閉檔案(vi命令模式下使用)
vi filename //開啟filename檔案 :w //儲存檔案 :w vpser.net //儲存至vpser.net檔案 :q //退出編輯器,如果檔案已修改請使用下面的命令 :q! //退出編輯器,且不儲存 :wq //退出編輯器,且儲存檔案
二、插入文字或行(vi命令模式下使用,執行下面命令後將進入插入模式,按ESC鍵可退出插入模式)
a //在當前游標位置的右邊新增文字 i //在當前游標位置的左邊新增文字 A //在當前行的末尾位置新增文字 I //在當前行的開始處新增文字(非空字元的行首) O //在當前行的上面新建一行 o //在當前行的下面新建一行 R //替換(覆蓋)當前游標位置及後面的若干文字 J //合併游標所在行及下一行為一行(依然在命令模式)
三、移動游標(vi命令模式下使用)
1、使用上下左右方向鍵 2、命令模式下: h 向左、 j 向下 、 k 向上、 l 向右。 space 向右、 Back 向左、 Enter 移動到下一行首、 - 移動到上一行首。
四、刪除、恢復字元或行(vi命令模式下使用)
x //刪除當前字元 nx //刪除從游標開始的n個字元 dd //刪除當前行 ndd //向下刪除當前行在內的n行 u //撤銷上一步操作 U //撤銷對當前行的所有操作
五、搜尋(vi命令模式下使用)
/xxx //向光標下搜尋xxx字串 ?xxx //向光標上搜索xxx字串 n //向下搜尋前一個搜素動作 N //向上搜尋前一個搜尋動作
六、跳至指定行(vi命令模式下使用)
n+ //向下跳n行 n- //向上跳n行 nG //跳到行號為n的行 G //跳至檔案的底部
七、設定行號(vi命令模式下使用)
:set nu //顯示行號 :set nonu //取消顯示行號
八、複製、貼上(vi命令模式下使用)
yy //將當前行復制到快取區,也可以用 "ayy 複製,"a 為緩衝區,a也可以替換為a到z的任意字母,可以完成多個複製任務。 nyy //將當前行向下n行復制到緩衝區,也可以用 "anyy 複製,"a 為緩衝區,a也可以替換為a到z的任意字母,可以完成多個複製任務。 yw //複製從游標開始到詞尾的字元。 nyw //複製從游標開始的n個單詞。 y^ //複製從游標到行首的內容。 y$ //複製從游標到行尾的內容。 p //貼上剪下板裡的內容在游標後,如果使用了前面的自定義緩衝區,建議使用"ap 進行貼上。 P //貼上剪下板裡的內容在游標前,如果使用了前面的自定義緩衝區,建議使用"aP 進行貼上。
九、替換(vi命令模式下使用)
:s/old/new //用new替換行中首次出現的old :s/old/new/g //用new替換行中所有的old :n,m s/old/new/g //用new替換從n到m行裡所有的old :%s/old/new/g //用new替換當前檔案裡所有的old
十、編輯其他檔案
:e otherfilename //編輯檔名為otherfilename的檔案。
十一、修改檔案格式
:set fileformat=unix //將檔案修改為unix格式,如win下面的文字檔案在linux下會出現^M。
os/linux/vi_vim.txt · 上一次變更: 2022/11/08 03:32 由 127.0.0.1