簡單使用 Vim 編輯器

若是有興趣的朋友,能夠看我以前寫過的幾篇文章,Linux我也用的不是特別多,也只是一個在學習途中的菜雞,整理點文章,順便總結,順便與你們一塊兒交流~程序員

【Linux基礎入門+基本命令的萬字碎碎念】
https://juejin.im/post/5ea298eff265da47f0794f90web

【CentOS-6.8 手把手安裝教程(多圖+貼鏡像文件)】
https://juejin.im/post/5e8d41036fb9a03c85461c1eshell

(一) 什麼是 Vim

在我看一本書的時候,有一句話印象很深入,「在Linux系統中一切都是文件,而配置一個服務就是在修改其配置文件的參數」,因此咱們須要學習一種文本編輯工具也就是今天的 Vim,那麼什麼是 Vim 呢?編程

Vim是從vi發展出來的一個文本編輯器。其代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用。和Emacs並列成爲類Unix系統用戶最喜歡的編輯器ubuntu

也就是說 Vim 是從 Vi 發展而來的,可是卻功能更加的完善以及強大,你將它理解一個可擴展的編輯器就能夠了,由於它的功能強大,甚至能夠擴展後做爲 IDE 使用,不過做爲入門,咱們首先要學會其基本用法vim

注:固然編輯器還有不少種例如 Vim、emacs、pico、nano 等,有興趣能夠自行了解微信

(二) Vim 安裝

首先,不少 Linux 的發行版系統,一般都已經默認安裝好了 vi 或 Vim 文本編輯器,例如 CentOS,今天演示的機器是一臺 Ubuntu-18.04.1 的版本,它默認是沒有 Vim 的,若是直接使用會顯示找不到命令,以下顯示:app

Command 'vim' not found, but can be installed with:

apt install vim       
apt install vim-gtk3  
apt install vim-tiny  
apt install neovim    
apt install vim-athena
apt install vim-gtk   
apt install vim-nox 
複製代碼

因此能夠根據提示經過簡單的命令進行安裝:apt install vim (關於安裝系列的命令會在後面的文章中介紹)編輯器

能夠輸入 vim --version 看一下有沒有返回信息判斷是否安裝成功ide

(三) Vim 的三種模式

(1) 命令模式

此模式下可以使用方向鍵(上、下、左、右鍵)或 k、j、h、i 移動光標的位置,還能夠對文件內容進行復制、粘貼、替換、刪除等操做,下圖爲 Ubuntu-18.04.1 圖形界面下 Terminal 的一個演示場景

說幾個很是經常使用的命令:

  • i鍵 切換到輸入模式,以輸入字符
  • Esc鍵 切換到命令模式
  • :鍵 切換到末行模式,以在最底一行輸入命令。

若是你想要編輯點什麼:啓動 Vim,進入到文件就進入了命令模式,按下i鍵,切換到輸入模式,按Esc鍵切換到命令模式,再按:鍵切換到末行模式,執行保存退出,或者直接退出等命令

(2) 輸入模式

輸入模式,就是普通的文本錄入,例如我在下例中,在命令模式下輸入了 i 進入了輸入模式,而後輸入了上述文本

固然了,輸入模式的命令有不少,摘一些經常使用的出來,首先是關於文本插入的

命令 功能描述
i 在當前光標所在位置插入隨後輸入的文本,光標後的文本相應向右移動
I 在光標所在行的行首插入隨後輸入的文本,行首是該行的第一個非空白字符
o 在光標所在行的下面插入新的一行。光標停在空行首,等待輸入文本
O 在光標所在行的上面插入新的一行。光標停在空行的行首,等待輸入文本
a 在當前光標所在位置以後插入隨後輸入的文本
A 在光標所在行的行尾插入隨後輸入的文本,至關於光標移動到行尾再執行a命令

再有就是一些別的經常使用的

命令 功能描述
dd 刪除(剪切)光標所在整行
5dd 刪除(剪切)從光標處開始的5行
yy 複製光標所在整行
n 顯示搜索命令定位到的下一個字符串
N 顯示搜索命令定位到的上一個字符串
u 撤銷上一步的操做
p 將以前刪除(dd)或fuzhi(yy)過的數據粘貼到光標後

還有就是使用上下左右鍵移動鍵盤,而後 Ecs鍵 切換到命令模式

(3) 末行模式

編輯模式主要用於對文件進行保存或者退出等等操做

使 Vim 切換到編輯模式的方法是在命令模式狀態下按「:」鍵,此時 Vim 窗口的左下方出現一個「:」符號,這是就能夠輸入相關指令進行操做了

命令 做用
:w 保存文件
:q 退出程序
:q! 若是沒法離開Vim,能夠使用此命令強制退出Vim編輯器
:wq! 保存文件並退出編輯器
:wq! 保存文件並強制退出編輯器
:x 保存文件並強制退出編輯器,其功能與:wq!相同
: set nu 顯示行號
: set nonu 不顯示行號

(四) 編輯文件

上面雖然講解了三種模式,其實若是隻是針對一些普通的配置,其實上面所講的內容已經夠用了,可是若是想更加行雲流水般的對文本內容進行操做就須要再多學習一些命令

(1) 打開文件

首先編輯以前固然是打開文件,若是咱們已經存在某個文件,就能夠直接進入,若是沒有此文件,則會先建立再進入,例以下面的意義,就是進入 demo.txt 的編輯模式

root@ubuntu:~# vim demo.txt
複製代碼

這個時候,咱們就能夠經過比較經常使用的 i鍵 進入輸入模式,就能編輯文本了

Vi 使用的選項 說 明
vim filename 打開或新建一個文件,並將光標置於第一行的首部
vim -r filename 恢復上次 vim 打開時崩潰的文件
vim -R filename 把指定的文件以只讀方式放入 Vim 編輯器中
vim + filename 打開文件,並將光標置於最後一行的首部
vi +n filename 打開文件,並將光標置於第 n 行的首部
vi +/pattern filename 打幵文件,並將光標置於第一個與 pattern 匹配的位置
vi -c command filename 在對文件進行編輯前,先執行指定的命令

(2) 進行編輯

關於幾種常見的插入文本的命令,在前面已經輸入模式已經說過了,因此咱們直接從查找開始說

A:刪除文本

快捷鍵 功能描述
x 刪除光標所在位置的字符
dd 刪除光標所在行
ndd 刪除當前行(包括此行)後 n 行文本
dG 刪除光標所在行一直到文件末尾的全部內容
D 刪除光標位置到行尾的內容
:a1,a2d 函數從 a1 行到 a2 行的文本內容

B:複製粘貼

快捷鍵 功能描述
p 將剪貼板中的內容粘貼到光標後
P(大寫) 將剪貼板中的內容粘貼到光標前
y 複製已選中的文本到剪貼板
yy 將光標所在行復制到剪貼板,此命令前能夠加數字 n,可複製多行
yw 將光標位置的單詞複製到剪貼板

(3) 查找替換

A:查找

有一點須要注意的是,要查找的字符串要嚴格區分大小寫

快捷鍵 功能描述
/abc 從光標所在位置向前查找字符串 abc
/^abc 查找以 abc 爲行首的行
/abc$ 查找以 abc 爲行尾的行
?abc 從光標所在爲主向後查找字符串 abc
n 向同一方向重複上次的查找指令
N 向相反方向重複上次的查找指定

B:替換

快捷鍵 功能描述
r 替換光標所在位置的字符
R 從光標所在位置開始替換字符,其輸入內容會覆蓋掉後面等長的文本內容,按 「Esc」 能夠結束
:s/a1/a2/g 將當前光標所在行中的全部 a1 用 a2 替換
:n1,n2s/a1/a2/g 將文件中 n1 到 n2 行中全部 a1 都用 a2 替換

例如,要將某文件中全部的 "root" 替換爲 "ideal-20",有兩種輸入命令,分別爲:

shell :1, $s/root/ideal-20/g 或 :%s/root/ideal-20/g

  • 第一種寫法中,1,$ 表明到第一行到最後一行,若是寫成 1,30 就是 1-30行
  • 第二種寫法中 % 表明到第一行到最後一行
  • 若是不指定,就會在當前行生效

(五) 結尾

若是文章中有什麼不足,歡迎你們留言交流,感謝朋友們的支持!

若是能幫到你的話,那就來關注我吧!若是您更喜歡微信文章的閱讀方式,能夠關注個人公衆號

在這裏的咱們素不相識,卻都在爲了本身的夢而努力 ❤

一個堅持推送原創開發技術文章的公衆號:理想二旬不止

相關文章
相關標籤/搜索