Linux系统基本命令之vim编辑器的使用
Linux系統下有很多編輯器,經常聽到的就有:Emacs ,pico ,nano ,joe , vim等
一、???? 學習vim編輯器的原因
l? 所有的Linux系統都會內置vi編輯器,而不一定會存在其他的文本編輯器(所以學會vim 就不用擔心Linux系統版本不同而不會使用編輯器)
l? 很多軟件的編輯接口都會主動調用vim
l? Vim具有程序編輯的能力,可以主動以字體顏色辨別語法的正確性,方便程序設計
l? 程序簡單,編輯速度相當快速
l? 功能強大
二、?????? Vim的基本使用
?????? 基本上vim分為3中模式,分別是一般模式,編輯模式(插入模式)和命令行模式。
l? 一般模式
通過vim打開一個文件就自動進入了一般模式,在一般模式下可以自由使用上下左右按鍵來移動光標,可以刪除字符或刪除整行,也可以進行復制,粘貼等功能。
l? 編輯模式
在一般模式中只能進行刪除,復制,粘貼等操作,但是無法編輯文件內容。只有在一般模式下按下“i,I, o, O,a ,A,r,R”等任何一個字母才會進入編輯模式。在Linux中,按下這些按鍵在界面的左下方會出現INSTER(插入)或REPLACE的字樣
在此時才能進行編輯。而如果要回到一把模式必須按下【Esc】鍵才能退出編輯模式。
l? 命令行模式
在一般模式中,輸入“:,/ ,?”3個字符中的任何一個字符都可以將光標移動到最下面那一行。
在這個模式中,可以提供你查找數據的操作,保存,大量替換字符,離開vim,顯示行號等操作都是在此模式完成的
三、vim按鍵的基本操作
l? 一般模式
移動光標的方法:
h或左箭頭???????????? 光標向左移動一個字符
j 或下箭頭???????????? 光標向下移動一個字符
k或上箭頭???????????? 光標向上移動一個字符
l 或右箭頭???????????? 光標向右移動一個字符
(hjkl)四個鍵排列在一起的,因此可以使用這四個按鍵來移動光標
如果想要進行多行移動,想要移動的行數+按鍵來進行多行移動,例如:向下移動15行,則15j或(15下箭頭)。
G??????????????????????????? 移動到這個文件的最后一行(常用)
nG?????????????????????????? n為數字。移動這個文件的第n行。(配合set nu 使用)
gg??????????????????????????? 移動到這個文件的第一行,相當于1G(常用)
n【Enter】?????????????? n為數字。光標向下移動n行(常用)
屏幕移動:
【Ctrl】+【f】????????????? 屏幕向下移動一頁
【Ctrl】+【b】???????????? 屏幕向上移動一頁
?0或功能鍵【home】?? 移動到這一行最前面的字符處(常用)
?$ 或功能鍵【end】???? 移動到這一行的最后面的字符處(常用)
查找和替換:
/word????????????????????????? 向下尋找一個名稱為word的字符串(常用)
?word????????????????????????? 向上尋找一個名稱為word的字符串
n?????????????????????????????????? 重復前一個查找動作,表示繼續向下查找
N????????????????????????????????? 反向進行查找,向上查找
:n1,n2s/word1/word2/g??????????????????? n1,n2是數字,在第n1到n2行之間尋找word1這???????????????????????????????????????????????????????????? 個字符串,并且替換為word2(前面是冒號,相當????????????????????????????????????????????????????????????? 于在命令行才能執行)
:1,$s/word1/word2/g???????????????????? 從一行到第二行查找word1這個字符串,并且替換??????????????????????????????????????????????????????????? 為word2(同上,實際相當于在命令行)
如果在g后面加上c則給出提示信息給用戶確認是否需要替換。
刪除、復制與粘貼:
x X??????????????????????????????????????????? 在一行字中x為向后刪除一個字符。X為向前刪除一個字 符
nx????????????????????????????????????????????? n為數字表示向后連續刪除n個字符
dd??????????????????????????????????????????? 刪除光標所在的光標的那一整行
ndd?????????????????????????????????????????? n為數字,刪除光標所在的向下的n行
d1G?????????????????????????????????????????? 刪除光標所在到第一行的所有數據
dG??????????????????????????????????????????? 刪除光標所在最后一行的所有數據
d$???????????????????????????????????????????? 刪除光標所在處到該行的最后一個字符
d0???????????????????????????????????????????? 刪除光標所在處到改行的第一個字符
yy???????????????????????????????????????????? 復制光標所在的那一行
nyy?????????????????????????????????????????? 復制光標所在的向下的n行
p P??????????????????????????????????????????? p將復制內容在光標下一行粘貼
???????????????????????????????????????????????? P將復制內容在光標上一行粘貼
y1G?????????????????????????????????????????? 復制光標所在到第一行所在的數據
yG???????????????????????????????????????????? 復制光標所在到最后一行的數據
y0????????????????????????????????????????????? 復制光標所在字符到行首的字符
y$???????????????????????????????????? 復制光標所在字符到行尾的字符
l? 一般模式
基本按鍵說明
I, i??????????????????????????????????????????? 進入插入模式(insert mode)i為光標處開始插入,I為?? 在目前所在行的第一個非空格字符插入
A? a????????????????????? a當前字符的下個字符插入,A光標所在行的最后一個字??? 符開始插入
O? o????????????????????????????????????????? o在光標下一行插入,O在光標上一行插入
r,R?????????????????????? 取代模式(replacemode)r:只會取代光標所在的那個??????????????????????????????????????????????????? 字符一次,R會一直取代光標所在的文字直到按下ESC?? 鍵為止
l? 命令行模式的按鍵說明
命令行模式 儲存、離開等指令:
:w??????????????????????????????????????????? 將編輯的數據寫入硬盤文件中
:w!??????????????????????????????????????? 強制寫入文件,不過能不能寫入,還是和權限有關
:q??????????????????????????????????????????? 離開vim
:q!??????????????????????????????????????? 強制離開(不存儲)
:wq???????????????????????????????????????? 儲存后離開
ZZ???????????????????????????????????????????? 文件變動,存儲后離開,沒有變動,不存儲離開(實際是?????????????????????????????????????????????? 在一般模式)
:w 【filename】????????????????????? 儲存為另一個文件(類似另存文件)
:set nu???????????????????????????????????? 顯示行號
:set nonu????????????????????????????????? 取消行號
總結
以上是生活随笔為你收集整理的Linux系统基本命令之vim编辑器的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux vim编辑器命令总结(转载)
- 下一篇: Linux bash命令操作和VI编辑器