vi(visual editor)編輯器通常被簡稱為vi,它是Linux和Unix系統上最基本的文本編輯器,類似于Windows 系統下的notepad(記事本)編輯器。
2、VIM編輯器Vim(Vi improved)是vi編輯器的加強版,比vi更容易使用。vi的命令幾乎全部都可以在vim上使用。
3、vim編輯器的安裝☆ 已安裝Centos通常都已經默認安裝好了 vi 或 Vim 文本編輯器,我們隻需要通過vim命令就可以直接打開vim編輯器了,如下圖所示:
有些精簡版的Linux操作系統,默認并沒有安裝vim編輯器(可能自帶的是vi編輯器)。當我們在終端中輸入vim命令時,系統會提示"command not found"。
解決辦法:有網的前提下,可以使用yum工具對vim編輯器進行安裝
# yum install -y vim
使用VIM編輯器時,==默認處于命令模式。==在該模式下可以移動光标位置,可以通過==快捷鍵==對文件==内容==進行複制、粘貼、删除等操作。
☆ 編輯模式或輸入模式在命令模式下輸入小寫字母a或小寫字母i即可進入編輯模式,在該模式下可以對文件的内容進行編輯
☆ 末行模式在命令模式下輸入冒号:即可進入末行模式,可以在==末行輸入命令==來對文件進行查找、替換、保存、退出等操作
☆ 可視化模式(了解)可以做一些列選操作(通過方向鍵選擇某些列的内容)
二、VIM四種模式的關系1、VIM四種模式命令模式、編輯模式、末行模式、可視化模式
2、VIM四種模式的關系
基本語法:
# vim 文件名稱
① 如果文件已存在,則直接打開
② 如果文件不存在,則vim編輯器會自動在内存中創建一個新文件
實例:使用命令vim打開文件linux.txt
# vim linux.txt
在任意模式下。連續按倆次esc鍵,即可返回到命令模式。然後按冒号:,進入到末行模式。輸入wq,表示保存并退出。
注:按a或者i進入輸入狀态
3、vim編輯器強制退出(不保存)在任意模式下。連續按倆次esc鍵,即可返回到命令模式。然後按冒号:,進入到末行模式。輸入q!,表示強制退出不保存文件。
在Linux操作系統中,當我們使用vim命令直接打開某個文件時,默認進入的就是命令模式。如果我們處于其他模式(編輯模式、可視化模式以及末行模式)可以連續按兩次Esc鍵也可以返回命令模式
☆ 命令模式下我們能做什麼① 移動光标 ② 複制 粘貼 ③ 剪切 粘貼 删除 ④ 撤銷與恢複
☆ 移動光标到首行或末行(重點)移動光标到首行 => gg
移動光标到末行 => G
☆ 翻屏向上 翻屏,按鍵:ctrl b (before) 或 PgUp
向下 翻屏,按鍵:ctrl f (after) 或 PgDn
向上翻半屏,按鍵:ctrl u (up)
向下翻半屏,按鍵:ctrl d (down)
☆ 快速定位光标到指定行(重點)行号 G,如150G代表快速移動光标到第150行。
☆ 複制/粘貼(重點)① 複制當前行(光标所在那一行)
按鍵:yy
粘貼:在想要粘貼的地方按下p 鍵【将粘貼在光标所在行的下一行】,如果想粘貼在光标所在行之前,則使用P鍵
② 從當前行開始複制指定的行數,如複制5行,5yy
粘貼:在想要粘貼的地方按下p 鍵【将粘貼在光标所在行的下一行】,如果想粘貼在光标所在行之前,則使用P鍵
☆ 剪切/删除(重點)在VIM編輯器中,剪切與删除都是dd
如果剪切了文件,但是沒有使用p進行粘貼,就是删除操作
如果剪切了文件,然後使用p進行粘貼,這就是剪切操作
① 剪切/删除當前光标所在行
按鍵:dd (删除之後下一行上移)
粘貼:p
注意:dd 嚴格意義上說是剪切命令,但是如果剪切了不粘貼就是删除的效果。
② 剪切/删除多行(從當前光标所在行開始計算)
按鍵:數字dd
粘貼:p
特殊用法:
③ 剪切/删除光标所在的當前行(光标所在位置)之後的内容,但是删除之後下一行不上移
按鍵:D (删除之後當前行會變成空白行)
☆ 撤銷/恢複(重點)撤銷:u(undo)
恢複:ctrl r 恢複(取消)之前的撤銷操作【重做,redo】
總結① 怎麼進入命令模式(vim 文件名稱,在任意模式下,可以連續按兩次Esc鍵即可返回命令模式)
② 命令模式能做什麼?移動光标、複制/粘貼、剪切/删除、撤銷與恢複
首行 => gg,末行 => G 翻屏(了解) 快速定位 行号G,如10G
yy p 5yy p
dd p 5dd p
u
ctrl r
5、末行模式下的相關操作(重點)☆ 如何進入末行模式進入末行模式的方法隻有一個,在命令模式下使用冒号:的方式進入。
☆ 末行模式下我們能做什麼文件保存、退出、查找與替換、顯示行号、paste模式等等
☆ 保存/退出(重點):w => 代表對當前文件進行保存操作,但是其保存完成後,并沒有退出這個文件
:q => 代表退出當前正在編輯的文件,但是一定要注意,文件必須先保存,然後才能退出
:wq => 代表文件先保存後退出(保存并退出)
如果一個文件在編輯時沒有名字,則可以使用:wq 文件名稱,代表把當前正在編輯的文件保存到指定的名稱中,然後退出
:q! => 代表強制退出但是文件未保存(不建議使用)
☆ 查找/搜索(重點)切換到命令模式,然後輸入斜杠/(也是進入末行模式的方式之一)
進入到末行模式後,輸入要查找或搜索的關鍵詞,然後回車
如果在一個文件中,存在多個滿足條件的結果。在搜索結果中切換上/下一個結果:N/n (大寫N代表上一個結果,小寫n代表next)
如果需要取消高亮,則需要在末行模式中輸入:noh【no highlight】
☆ 文件内容的替換(重點)第一步:首先要進入末行模式(在命令模式下輸入冒号:)
第二步:根據需求替換内容
① 隻替換光标所在這一行的第一個滿足條件的結果(隻能替換1次)
:s/要替換的關鍵詞/替換後的關鍵詞 回車
實例:把hello linux中的linux替換為centos7.6
切換光标到hello linux這一行
:s/linux/centos7.6
② 替換光标所在這一行中的所有滿足條件的結果(替換多次,隻能替換一行)
:s/要替換的關鍵詞/替換後的關鍵詞/g g=global全局替換
實例:把hello linux中的所有linux都替換為centos7.6
切換光标到hello linux這一行
:s/linux/centos7.6/g
③ 針對整個文檔中的所有行進行替換,隻替換每一行中滿足條件的第一個結果
:%s/要替換的關鍵詞/替換後的關鍵詞
實例:把每一行中的第一個hello關鍵詞都替換為hi
:%s/hello/hi
④ 針對整個文檔中的所有關鍵詞進行替換(隻要滿足條件就進行替換操作)
:%s/要替換的關鍵詞/替換後的關鍵詞/g
案例:替換整個文檔中的hello關鍵詞為hi
:%s/hello/hi/g
基本語法:
:set nu
nu = number,行号
取消行号 => :set nonu
☆ set paste模式(了解)為什麼要使用paste模式?
問題:在終端Vim中粘貼代碼時,發現插入的代碼會有多餘的縮進,而且會逐行累加。原因是終端把粘貼的文本存入鍵盤緩存(Keyboard Buffer)中,Vim則把這些内容作為用戶的鍵盤輸入來處理。導緻在遇到換行符的時候,如果Vim開啟了自動縮進,就會默認的把上一行縮進插入到下一行的開頭,最終使代碼變亂。
在粘貼數據之前,輸入下面命令開啟paste模式:set paste
粘貼完畢後,輸入下面命令關閉paste模式:set nopaste
總結
,
① 如何進入末行模式,必須從命令模式中使用冒号進行切換 ② 末行模式下能做什麼?保存、退出、查找、替換、顯示行号以及paste模式 ③ 保存 => :w ④ 退出 => :q,先保存後退出。:wq :wq 文件名稱 :q! ⑤ 查找功能 => 命令模式輸入/斜杠 關鍵詞(高亮顯示)=> :noh ⑥ 替換功能 :s/要替換的關鍵詞/替換後的關鍵詞 :s/要替換的關鍵詞/替換後的關鍵詞/g :%s/要替換的關鍵詞/替換後的關鍵詞 :%s/要替換的關鍵詞/替換後的關鍵詞/g ⑦ 顯示行号 => :set nu 取消行号 => :set nonu ⑧ paste模式 => 将來在粘貼代碼的時候為了保存原格式 => 粘貼之前 => :set paste
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!