在Linux的學習中,無論是編寫腳本還是修改文件內容,我們最經常用的就是vim編輯器.vim編輯器功能十分強大,如今不僅僅只應用在Linux中.今天就來介紹一下vim編輯器的功能
進入和退出vim
進入:
在終端輸入vim 文件名 ,自動進入vim,,該文件名如果不存在則建立了一個空的名字為 剛才輸入的文件,若存在,則繼續編輯
退出:
按ESC切換到命令模式下,輸入
:q 未保存就退出,系統會提示是否保存
:q! 不保存強制退出
:wq 保存退出
:wq!或:x!當文件對當前用戶權限為read-only時,可以強制保存并退出(僅限root和當 前文件的owner)
vim的三種模式:
命令模式(normal)進入vim默認模式:
輸入作為編輯命令,內容不會出現在屏幕上,輸入錯誤系統會提示.
之后詳細介紹命令模式下的操作
插入模式(insert):
i: insert, 在光標所在處輸入
I:在當前光標所在行的行首輸入
a: append, 在光標所在處后面輸入
A:在當前光標所在行的行尾輸入
o: 在當前光標所在行的下方打開一個新行
O:在當前光標所在行的上方打開一個新行
擴展(EX)模式:
以 : 為指令,出現在屏幕最后一行,輸入都會作為指令
指令內容如上退出命令
按ESC兩次會返回命令模式
命令模式的操作:
字符跳轉:
H/J/K/L 分別將光標向 左/下/上/右 移動一格
單詞跳轉:
w 下個單詞詞首
e 當前或者下個單詞詞尾
頁面跳轉:
H 頁首
M 頁中
L 頁底
行間移動:
gg 第一行
G 最后一行
行首尾之間:
^ 行首第一個非空白字符
0 行首
$ 行尾
翻屏操作:
Ctrl+f 向文件尾部翻一屏
Ctrl+b 向文件首部翻一屏
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏
字符編輯:
~ 轉換大小寫
X 刪除光標處字符
替換命令:
r 替換光標所在處字符
R 進入replace 模式
刪除: d
dd 刪除光標所在行
d與字符跳轉,單詞跳轉,行首尾之間操作結合均和實現相應刪除操作
復制: y
y 復制光標所在行
yy 復制行
y與字符跳轉,單詞跳轉,行首尾之間操作結合均和實現相應復制操作
改變:c
c 修改之后之間進入insert模式
cc 刪除當前行并輸入新的內容
c與字符跳轉,單詞跳轉,行首尾之間操作結合均和實現相應修改操作
粘貼: p
p 緩沖區若存的為整行,則粘貼當前光標所在行的下方,否則粘貼在光標后
P 緩沖區若存的為整行,則粘貼當前光標所在行的上方,否則粘貼在光標前
撤銷操作: u
u撤銷最近的修改
U撤銷該行的所有修改
. 重復前一個操作
n. 重復前 一個操作n次
擴展命令
地址定界:
:start_pos,end_pos
. 當前行
$ 最后一行
% 全文 %=1,$
:/pat1/,/pat2/ 從第一次被pat1模式匹配到的行開始,一直到第一次被pat2匹配到的行結束
.,/pat/
/pat/,$
和編輯命令一起使用
d 刪除范圍內的內容
y 復制范圍內的內容
w file 將范圍內的行另存至指定文件中
r file 在指定位置插入指定文件中的所有內容
查找替換:
/pattern 從光標處往后找
?pattern 從光標處往前找
s/查找內容/替換內容/修飾符
修飾符: i 忽略大小寫
g 全局替換
查找替換的分隔符/可替換為其他字符,如 @ ,#, ?
注意:替換內容可以用基本正則表達式
設置屬性:set
行號:
set number set nu
set nonumber set nonu
括號成對匹配:
set showmatch set sm
set nosm
自動縮進:
set ai
set noai
高亮搜索:
set hlsearch
set nohlsearch
語法高亮:
syntax on
syntax off
忽略字符大小寫:
set ic
set noic
博主這篇博客只是把比較經常用到的功能介紹給大家,還有許多功能需要大家慢慢摸索.
原創文章,作者:swann,如若轉載,請注明出處:http://www.www58058.com/83821