文本編輯器:字處理器
shell
vim: Visual Interface iMprovedvim
全屏編輯器,模式化編輯器
vim模式
編輯模式(命令模式)
輸入模式
末行模式編輯器
模式轉換:
編輯--> 輸入
i:在當前光標所在的字符的前面,轉換爲輸入模式;
a: 在當前光標所在的字符的後面,轉換爲輸入模式;
o:在當前光標所在行的下方,新建一行,轉換爲輸入模式;
I:在當前光標所在的行首,轉換爲輸入模式;
A:在當前光標所在的行尾,轉換爲輸入模式;
O: 在當前光標所在行的上方,新建一行,轉換爲輸入模式;spa
輸入--> 編輯
ESC3d
編輯--> 末行
:教程
末行-->編輯
ESC 可能屢次
1、打開文件
#vim /pass/to/somefilestring
vim +n somefile 直接到第n行
vim + somefile 直接到文件的最後一行
vim +/PATTERN: 打開文件,定位到第一次陪PATTERN匹配到的行首it
2、關閉文件ast
一、;末行模式關閉文件可視化
:q 退出
:wq 保存並退出
:q! 不保存退出
:w 保存
:w! 強制保存
:wq --> :x
二、編輯模式下退出
ZZ: 保存並退出
3、移動光標(編輯模式)
一、逐字符移動
h: 左
l: 右
j: 下
k: 上
#h:移動指定數目的字符
二、逐個單詞移動
w:表示移動到下一個單詞的詞首;
e:表示移動到當前單詞或下一個單詞的詞尾;
b:表示移動到當前單詞或前一個單詞的詞首;
#w: #個單詞
三、行內跳轉:
0:行首,絕對行首;
^: 行首的第一個非空白字符
$:絕對行尾;
四、行間跳轉
#G:直接跳轉至第#行內
G:跳到最後一行;
末行模式下,直接給出行號便可
4、翻屏操做
ctrl + f 向下
ctrl + b 向上
ctrl + d: 向下翻半屏
ctrl + u: 向上翻半屏
五:刪除單個字符
x: 刪除光標所在的單個字符
#x: 刪除光標所在處向後的共#個字符
六:刪除命令: d命令與跳轉命令組合使用
d0
d$
dw
de
db
3dw
#d跳轉符:刪除跳轉符範圍的#個字符
dd
#dd:刪除包括光標行所在內的#行
末行模式下:
:1,8d
:.,100d 當前行到100行
: .,+10d 當前行向下10行
.: 當前行
$: 最後一行
+#: 向下#行
-#:向上#行;
刪除的內容會保存在緩衝區中,最後一次刪除的內容能夠複製到光標所在的位置;
7、粘貼命令 p
p: 若是刪除的或複製的爲整行內容,則粘貼至所在行的下方;若是複製或刪除的內容爲非整行
則粘貼至貫標所在行的後面;
P: 若是刪除的或複製的爲整行內容,則粘貼至所在行的上方;若是複製或刪除的內容爲非整行
則粘貼至貫標所在行的前面;
8、複製命令 y
y命令同d命令
9、先刪除內容再轉換爲輸入模式
c同d命令 修改命令
10、替換:r replace
r: 替換單個字符 當前光標下,r+須要被替換的字符
R: 進入替換模式
11、撤銷編輯操做 u
u:撤銷前一次的編輯操做,連續u能夠撤銷前次的n<50次的操做;
#u:直接撤銷前#次編輯操做;
還原最近的一次撤銷操做:ctrl+r
12、重複前一次編輯操做
.
十3、可視化模式
v: 按字符選取
V: 按矩形塊選取 整行選取
而後進行d p y操做;
十4、查找
/PATTERN 從首向尾部查找
?PATTERN 從尾部向首部查找
n 向下跳轉
N 向上跳轉
十5、查找並替換
在末行模式下使用s命令 和sed命令同樣
ADDR1,ADDR2s@PATTERN@string@gi
從當前行到倒數第二行 he替換成HE: .,$-1s/he/HE/g
練習:將/etc/instructor.repos.d/service.repo文件中的ftp://instructor.example.com/pub替換成http://127.16.0.1/yum
%s@ftp://instructor\.example\.com/pub@http://127.16.0.1/yum@g
十六 用vim編輯多個文件
兩個文件相互交互數據
vim FILE1 FILE2 FILE3
:next 切換至下一個文件
:prev 切換至前一個文件
:last 切換至最後一個文件
:first 切換至第一個文件
十7、分屏顯示一個文件
ctrl + w, s: 水平拆分窗口
ctrl + w, v: 垂直拆分窗口
在窗口間切換光標:
ctrl + w:ARROW(向上的箭頭,向下的箭頭)
:qa 關閉全部窗口
十8、分窗口編輯多個文件
vim -o:水平分割顯示
vim -O:垂直分割顯示
十9、將當前文件中的部份內容另存爲另一個文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere
二10、將另一個文件的內容填充在當前文件中
:r /path/to/somewhere
vim /etc/inittab
:r /etc/sysinit
二11、跟shell交互
:! COMMAD
二12、高級話題
一、顯示或取消行號
:set nu
:set nonu
二、顯示忽略區分字符大小寫
:set ignorecase
:set ic
:set noic
三、設定自動縮進
:set autoindent
:set ai
:set noai
四、查找到的文本高亮顯示或取消
:set hlsearch
:set nohlsearch
五、語法高亮
:syntax on
:syntax off
二十3、配置文件
/etc/vimrc
~/.vimrc
vimtutor vim教程