一、指令模式(重點)
1、進入指令模式
當我們使用vim指令打開檔案時,預設進入的就是指令模式。
那指令模式有哪些作用?我們能使用指令模式做什麼呢?
答:光标移動、複制、剪切與删除、撤銷與恢複
2、光标移動
☆ 把光标移動到行首或行尾(重點)
一行:
光标移動到行首,按鍵:
shift + 6 或 ^
(T 字母上面的6,不要按小鍵盤的6)
光标移動到行尾,按鍵:
shift + 4 或 $
(R 字母的左上角的4,不是小鍵盤的4)
一個檔案:
光标移動到首行的行首,按鍵:
gg
光标移動到末行的行首,按鍵:
G [Capslk 再加 G 鍵] / [Shift + G 鍵]
☆ 翻屏(了解)
向上 翻屏,按鍵:
PgUp
向下 翻屏,按鍵:
PgDn
向上翻半屏,按鍵:
ctrl + u (up)
向下翻半屏,按鍵:
ctrl + d (down)
☆ 向上/下/左/右移動指定的行/列(了解)
數字 + 方向鍵(上下左右),比如5 + 向上方向鍵,代表将光标向上移動5行
☆ 快速定位到指定行(重點)
數字 + G(shift + g) , 277G
☆ 以目前行為準向上/下移動指定行(了解)
數字+/-【等價于數字】
5 - :代表向上移動5行
5 +(shift + = ) :代表向下移動5行
3、複制(重點)
==① 複制光标所在行==
按鍵:yy
粘貼:在想要粘貼的地方按下p 鍵【将粘貼在光标所在行的下一行】,如果想粘貼在光标所在行之前,則使用P 鍵(Shift鍵 + p)
==② 以光标所在行為準(包含目前行),向下複制指定的行數==
按鍵:數字yy,如5yy
③ 可視化模式下複制(了解)
按鍵:v(可視),然後按下↑ ↓ ← →方向鍵來選中需要
複制的區塊,按下y 鍵進行複制(不要按下yy),最後按下p 鍵粘貼
退出可視模式按下Esc
4、剪切與删除(重點)
==① 剪切/删除光标所在行==
按鍵:dd (删除之後下一行上移)
注意:dd 嚴格意義上說是剪切指令,但是如果剪切了不粘貼就是删除的效果。
==② 剪切/删除光标所在行為準(包含目前行),向下删除/剪切指定的行==
按鍵:數字dd (删除之後下一行上移)
粘貼:p鍵或P鍵
③ 剪切/删除光标所在的目前行(光标所在位置)之後的内容,但是删除之後下一行不上移
按鍵:D (删除之後目前行會變成空白行)
④ 可視化删除(了解)
按鍵:v(可視),上下左右移動,按下D 表示删除選中行,d 表示删選中塊
5、撤銷與恢複(重點)
撤銷:u(undo),類似Windows中的ctrl + z
恢複:ctrl + r 恢複(取消)之前的撤銷操作【重做,redo】,類似Windows中的ctrl + y
總結:重點看這裡
光标移動:移動到行首+行尾、快速定位
行首shift + 6(^)、行尾shift + 4($)
檔案:
行首(第一行)gg、行尾(最後一行)G
快速定位:數字行 + G,200G
複制與粘貼:
yy :複制一行
數字yy :複制指定的行數
p或P(p粘貼内容到目前行的下一行,P粘貼到目前行的上一行)
剪切與删除:
dd:删除一行
數字dd :删除指定的行數
D:删除所在行,但是下方内容不上移
撤銷與恢複:u 與 Ctrl + r
二、末行模式(重點)
1、如何進入末行模式
指令模式、編輯模式、末行模式
指令模式(預設) => a或i =>編輯模式
編輯模式退出到指令模式 => 按Esc鍵
指令模式 => 按冒号: =>末行模式
末行模式 => 按兩次Esc或删除冒号 => 指令模式
2、末行模式的基本功能
☆ 儲存(寫入内容到硬碟)
:w => w(write)寫入,儲存
☆ 退出(從vim編輯器中退出)
:q => q(quit)退出,但是退出之前一定要儲存,否則vim編輯器不允許退出
☆ 儲存并退出
:wq
特别說明:wq除了可以實作儲存與退出,還可以指定檔案的名稱。
# vim
編輯...
:wq 檔案名稱
☆ 強制(!)
:w! => 強制儲存(一般更改系統檔案時,需要添加此選項)
:q! => 強制退出
:wq! => 強制儲存并退出
☆ 調用外部(了解)
:!外部Linux指令,可以實作在vim編輯器中執行外部指令
案例:檢視計算機的網卡資訊
:!cat /etc/sysconfig/network-scripts/ifcfg-eth0
退出直接按Enter回車
☆ 搜尋
指令模式下直接輸入
/關鍵詞
,再按下回車 【按下/也是進入末行模式的方式之一】
在搜尋結果中切換上/下一個結果:N/n (大寫N代表上一個結果,小寫n代表next)
如果需要取消高亮,則需要在末行模式中輸入:
:noh
【no highlight】
☆ 替換
- 隻替換光标所在這一行
:s/搜尋的關鍵詞/新的内容
替換==光标所在行==的第一處符合條件的内容(隻替換1次)
:s/搜尋的關鍵詞/新的内容/g
替換==光标所在行==的全部符合條件的内容
- 整個檔案的替換操作
:%s/搜尋的關鍵詞/新的内容
替換整個文檔中每行第一個符合條件的内容
:%s/搜尋的關鍵詞/新的内容/g
替換整個文檔的符合條件的内容
擴充:
:%s#搜尋的關鍵詞#替換後的内容#g
☆ 顯示行号
:set nu
☆ 取消行号
:set nonu
3、末行模式的擴充功能
☆ 打開多個檔案(了解)
# vim 檔案名稱1 檔案名稱2 檔案名稱3
:files,檢視目前打開的多個檔案
:next,向下切換檔案
:prev,向上切換檔案
☆ 多行複制、剪切與删除操作(非常重要)
與數字yy、數字dd相比優勢:
可以設定複制、剪切與删除的開始行号與結束行号
複制文法
:開始行号,結束行号y
,例如輸入
:1,10y
剪切删除文法
:開始行号,結束行号d
:1,10d
粘貼,必須在指令模式下使用小p
------------------------------------------- 華麗的分割線 -----------------------------------------------
一步到位的複制、剪切與删除(複制-粘貼、剪切-粘貼)
一步到位的複制
:開始行号,結束行号 co 指定的行号
從開始行号到結束行号開始複制,複制到指定行号的後面
一步到位的剪切
:開始行号,結束行号 m 指定的行号
從開始行号到結束行号開始剪切,剪切完成後直接移動到指定行号的後面
☆ 快速跳轉到指定行(末行)
:指定的行号
案例:快速跳轉到第500行
:500
☆ paste模式
什麼時候需要用到paste模式?
答:将來我們複制帶有格式的内容時,必須使用paste模式,否則複制過來的内容格式會比較混亂。
在粘貼資料之前,輸入下面指令開啟paste模式
:set paste
粘貼完畢後,輸入下面指令關閉paste模式
:set nopaste
作用:保證粘貼時,保持複制時的原有格式
儲存 => :w
退出 => :q
儲存并退出 => :wq
搜尋 => /關鍵詞(指令模式按斜杠/進入末行模式,然後寫關鍵詞搜尋)
替換 =>
替換光标所在這行關鍵詞
- :s/搜尋的内容/替換後的内容 => 第一個滿足條件的結果
- :s/搜尋的内容/替換後的内容/g => 這一行所有滿足條件的結果全部替換
替換整個檔案中的關鍵詞
- %s/搜尋的内容/替換後的内容 => 替換整個文檔中,每一行第一個滿足條件的結果
- %s/搜尋的内容/替換後的内容/g => 替換整個文檔中所有滿足條件的結果
顯示行号與取消行号
:set nu
:set nonu
多行複制、剪切與删除
:開始行号,結束行号y
:開始行号,結束行号d
一步到位的複制與剪切
:開始行号,結束行号 co 指定行号
:開始行号,結束行号 m 指定行号
快速調整 :行号
paste模式 => :set paste
三、編輯模式
1、如何進入編輯模式
想進入編輯模式,你必須位于指令模式。
2、小a與小i差別
小a:代表在光标所在字元的後面開始插入新内容
小 i:代表在光标所在字元的前面開始插入新内容
四、VIM編輯器實用功能
1、代碼着色
之前說過vim 是vi 的更新版本,其中比較典型的差別就是vim 更加适合coding,因為vim比vi 多一個代碼着色的功能,這個功能主要是為程式員提供程式設計語言升的文法顯示效果,如下:
# vim demo.php
<?php
echo "hello world";
?>
在實際應用中,我們如何控制着色顯示與否?
syntax:文法,臨時調整
開啟顯示
:syntax on
關閉顯示
:syntax off
2、vim電腦
① 進入編輯模式
② 按下按鍵
ctrl + R 鍵
,然後輸入
=
,此時光标會變到最後一行
③ 輸入需要計算的内容,按下回車
3、vim編輯器的配置檔案(重點)
vim編輯器屬于Linux系統軟體,隻要是軟體都會有對應的配置檔案:
第一種:在末行模式下進行配置(:set nu臨時)
第二種:在~/.vimrc檔案,配置就是永久的。(個人自定義)=> 針對使用者本身
# vim ~/.vimrc
set nu
syntax on
第三種:在/etc/vimrc檔案,屬于vim編輯器的系統配置檔案。(系統全局配置)=> 針對所有人
# vim /etc/vimrc
指令模式下按G,切換到最後一行,添加配置資訊
set nu
syntax on
vim啟動 =>==加載/etc/vimrc== =>==加載~/.vimrc檔案==(vim加載的順序)
問題:如果在/etc/vimrc檔案中與~/.vimrc檔案中添加同樣的配置,到底遵循誰呢?
答:個人配置檔案會覆寫系統檔案
/etc/vimrc => set nu
~/.vimrc => set nonu
4、vim編輯器的異常退出
什麼是異常退出?
所謂的異常退出就是沒有儲存檔案,而直接退出了檔案。這個時候就會在計算機中産生一個交換檔案。如.xxx檔案名稱.swp檔案
解決方案:最終的解決思路都是删除.swp的交換檔案
方案一:直接按大寫字母D,讓系統自動删除交換檔案
方案二:直接按大寫字母Q,退出vim編輯器。然後使用rm指令手工删除.檔案名稱.swp檔案
# rm .readme.txt.swp
5、别名機制
作用:相當于建立一些屬于自己的自定義指令
例如:在windows下有cls 指令,在Linux下可能因為沒有這個指令而不習慣清屏。現在可以通過别名機制來解決這個問題,可以自己創造出cls指令。
==别名機制依靠一個别名映射檔案:~/.bashrc==
基本文法:
# vim ~/.bashrc
設定别名:在Linux作業系統下建立一個cls指令也可以實作清屏操作
# vim ~/.bashrc
alias cls='clear'
# source ~/.bashrc
案例:要求給root 使用者建立一個指令 “cc”,實作運作“cc”指令之後統計出目前“/”下有多少個文檔(包含隐藏文檔)。
# vim ~/.bashrc
alias cc='ls -a / | wc -l'
# source ~/.bashrc
擴充:管理多台伺服器時,也可以使用别名機制
# vim ~/.bashrc
alias server01='ssh [email protected]'
alias server02='ssh [email protected]'
# source ~/.bashrc
6、vim編輯器的退出方式
末行模式
:wq退出,但是vim編輯器還有一種退出方式,使用:x
:x既有儲存又有退出的功能
:wq和:x的本質差別?
如果檔案沒有被修改,但是使用wq 進行退出的話,則檔案的修改時間會被更新;但是如果檔案沒有被修改,使用x 進行退出的話,則檔案修改時間不會被更新的;主要是會混淆使用者對檔案的修改時間的認定。
但是:不要使用X,不要使用X,不要使用X,X 表示對檔案進行加密操作。
五、Linux遠端管理軟體MX
1、為什麼需要MX
在未來的運維工作中,我們都是通過遠端管理的方式對伺服器進行操作。這個時候就需要一個強大的遠端管理軟體。
國内國外:XShell軟體(收費軟體)、SecureCRT(收費軟體)、Putty.exe(超小型的遠端管理軟體)、MobaXterm(MX、支援免費版+收費版)
2、擷取Linux伺服器的IP位址
# ifconfig
10.1.1.14
3、使用MX連結Linux
第一步:點選Session會話
第二步:設定遠端計算機的IP位址、使用者名稱
第三步:還可以設定書簽
設定完成後,點選連結即可。
第四步:輸入root賬号的密碼,即可遠端連結到Linux伺服器(預設:123456)
第五步:上傳或下載下傳檔案