文件編輯


文件編輯

1 介紹

因為Linux系統一切皆為文件,而我們工作最多的就是修改某個服務的配置(其實就是修改文件內容)。vi和vim是Linux下的一個文本編輯工具,和winodws的記事本是一樣的作用。

1.1 vi和vim有什么區別

vi和vim都是文本編輯器,只不過vim是vi的增強版,可以當作vi的升級版本,vim可以用多種顏色的方式來顯示一些特殊的信息。vim里面加入了很多額外的功能,例如支持正則表達式的搜索、多文件編輯、塊復制等等。 這對於我們在Linux上進行一些配置文件的修改工作時是很棒的功能。使用vi還是vim取決於個人習慣。

如果你是最小化安裝CentOS系統,默認情況下沒有vim命令,可以使用yum install vim -y安裝

1.2 vim的模式

在使用VIM之前,我們需要先介紹下VIM的三種模式: 普通模式、編輯模式、命令模式,每種模式分別支持多種不同的快捷鍵,要想高效率地操作文本,就必須先搞清這三種模式的操作區別以及模式之間的切換方法。

  • 普通模式:主要是控制光標移動,可對文本進行復制、粘貼、刪除等工作。
  • 編輯模式:主要進行文本內容編輯和修改
  • 命令模式: 主要用於保存或退出文本。

當使用vim命令打開一個文件時,默認處於普通模式;從普通模式切換至編輯模式需要使用按鍵a/i/o;編輯模式修改完畢后需要先使用ECS返回普通模式;在普通模式輸入:/進入命令模式,可實現文件的保存與退出。

2 vim的使用

2.1 普通模式

光標跳轉

shift+g		# 光標跳轉到尾部
gg			# 光標跳轉到頭部
Ngg     	# 光標跳轉至當前文件內的N行
$       	# 光標跳轉至當前光標所在行的尾部(正則)
^或者0       # 光標跳轉至當前光標所在行的首部(正則)
# 另外在xshell等一些軟件上,光標跳轉到所在行的首部和尾部可以使用Home和End

對於文件內容很多的時候需要上下翻頁

ctrl+f  # 向下翻頁
ctrl+b  # 向上翻頁
# 另外在xshell等一些軟件上,翻頁也可以使用PageUp和PageDown

復制和粘貼

yy       # 復制當前光標所在的行
Nyy      # 復制當前光標以及光標向下N行,比如 3yy復制三行
p(小寫)   # 粘貼至當前光標下一行   
P(大寫)   # 粘貼至當前光標上一行

刪除、剪貼、撤銷

dd      # 刪除當前光標所在的行(是剪切)
4dd     # 刪除當前光標所在的行以及往下的3行
dG      # 刪除當前光標以后的所有行
D       # 刪除當前光標及光標以后的這一行內容
x       # 刪除當前光標后的一個字符
X       # 刪除當前光標前的一個字符
dd & p  # 剪切dd,用p粘貼
u       # 撤銷上一次的操作

替換

r       # 替換當前光標標記的單個字符
R       # 進入REPLACE模式, 連續替換,ESC結束

2.2 編輯模式

i   # 進入編輯模式,光標不做任何操作
a   # 進入編輯模式,將當前光標往后一位
o   # 進入編輯模式,並在當前光標下添加一行空白內容
I   # 進入編輯模式,並且光標會跳轉至本行的頭部
A   # 進入編輯模式,將光標移動至本行的尾部
O   # 進入編輯模式,並在當前光標上添加一行空白內容
ESC # 退出編輯模式使用ESC

2.3 命令模式

:進入命令模式。

文件保存與退出

:w        # 保存當前狀態
:w!       # 強制保存當前狀態
:q        # 退出當前文檔(文檔必須保存才能退出)
:q!       # 強制退出文檔不會修改當前內容
:wq       # 先保存,在退出
:wq!      # 強制保存並退出
:x        # 先保存,在退出
ZZ        # 保存退出, shfit+zz
:number   # 跳轉至對應的行號
:set nu   # 顯示行號
:set nonu # 不顯示行號

文件內容查找

/string # 需要搜索的內容(查找),比如搜索 /bob 搜索bob
n       # 按搜索到的內容依次往下進行查找
N       # 按搜索到的內容依次往上進行查找

文件內容另存

:w /root/test.txt  # 將所有內容另存為/root/test.txt文件中

文件內容讀入

:r  /etc/hosts  # 讀入/etc/hosts文件至當前光標下面
:5r /etc/hosts  # 指定插入/etc/hosts文件至當前文件的第五行下面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM