vim文本編輯器

如何調用vim

vim wc.sh


 

vi 的三種命令模式

Command(命令)模式,用於輸入命令;
Insert(插入)模式,用於插入文本;
Visual(可視)模式,用於視化的的高亮並選定正文;
 


 

文件的保存和退出

Command 模式是vi或vim的默認模式,如果我們處於其它命令模式時,要通過ESC鍵切換過來。
當我們按ESC鍵後,接着再輸入:號時,vi會在屏幕的最下方等待我們輸入命令;
:w 保存;
:w filename 另存爲filename;
:wq! 保存退出;

wq! filename 注:以filename爲文件名保存後退出;
q! 不保存退出;


:x 應該是保存並退出 ,功能和:wq!相同
 


 

光標移動

當我們按ESC進入Command模式後,我們可以用下面的一些鍵位來移動光標;
j 向下移動一行;
k 向上移動一行;
 

h 向左移動一個字符;
l 向右移動一個字符;
 

ctrl+b 向上移動一屏;
ctrl+f 向下移動一屏;
 

向上箭頭 向上移動;
向下箭頭 向下移動;
向左箭頭 向左移動;
向右箭頭 向右移動;
我們編輯一個文件時,對於 j、k、l和h鍵,還能在這些動作命令的前面加上數字,比如 3j,表示向下移動3行。
 


 

插入模式(文本的插入)

i 在光標之前插入;
a 在光標之後插入;
 

I 在光標所在行的行首插入;
A 在光標所在行的行末插入;
 

o 在光標所在的行的上面插入一行;
O 在光標所在的行的下面插入一行;
 

s 刪除光標後的一個字符,然後進入插入模式;
S 刪除光標所在的行,然後進入插入模式;
 


 

文本內容的刪除操作

x 一個字符;
#x 刪除幾個字符,#表示數字,比如3x;
dw 刪除一個單詞;
#dw 刪除幾個單詞,#用數字表示,比如3dw表示刪除三個單詞;
dd 刪除一行;
#dd 刪除多個行,#代表數字,比如3dd 表示刪除光標行及光標的下兩行;
d$ 刪除光標到行尾的內容;
 

J 清除光標所處的行與上一行之間的空格,把光標行和上一行接在一起;
 


 

恢復修改及恢復刪除操作

u 撤消修改或刪除操作;
按ESC鍵返回Command(命令)模式,然後按u鍵來撤消刪除以前的刪除或修改;如果您想撤消多個以前的修改或刪除操作,請按多按幾次u。這和Word的撤消操作沒有太大的區別;
 


 

可視模式

在最新的Linux發行版本中,vi提供了可視模式,因爲這個功能是vim纔有的。如果您用的vi沒有這個功能,就換成vim就有了。打開可視模式,按ESC鍵,然後按v就進入可視模式;
可視模式爲我們提供了極爲友好的選取文本範圍,以高亮顯示;在屏幕的最下方顯示有;
-- 可視 --
 


 

--VISUAL--
 

進入可視模式,我們就可以用前面所說的命令行模式中的光標移動指令,可以進行文本範圍的選取。
選取文本範圍有何用?
我們可以對某部份刪除作業,按d鍵就刪除了我們選中的內容。
選中內容後,我們按y就表示複製;按d表示刪除;
值得一提是的刪除的同時,也表示複製。我們返回到命令模式,然後移動光標到某個位置,然後按shift+p鍵,就把剛纔刪除的內容貼上了。我們先在這裏提一句,在後文,我們還得詳細說說。
退出可視模式,還是用ESC鍵;
 


 

複製和粘帖的操作

其實刪除也帶有剪切的意思,當我們刪除文字時,可以把光標移動到某處,然後按shift+p鍵就把內容貼在原處,然後再移動光標到某處,然後再按p或shift+p又能貼上;
p 在光標之後粘帖;
shift+p 在光標之前粘帖
來舉一例:
比如我們想把一個文檔的第三行複製下來,然後帖到第五行的後面,我們應該怎麼做呢?
有兩種方法;
第一種方法:
先把第三行刪除,把光標移動到第三行處,然後用dd動作,接着再按一下shift+p鍵。這樣就把剛纔刪除的第三行帖在原處了。
接着我們再用k鍵移動光標到第五行,然後再按一下p鍵,這樣就把第三行的內容又帖到第五行的後面了;
第二種方法;
進入可視模式,按ESC鍵,然後按v鍵。移動鼠標指針,選中第三行的內容,然後按y鍵複製;再移動指針到第五行,最後按p鍵;
所以複製和粘貼操作,是命令模式、插入模式及可視模式的綜合運用;我們要學會各種模式之間的切換,要常用ESC鍵;更爲重要的學會在命令模式下移動光標;
 


 

關於行號

有時我們配置一個程序運行時,會出現配置文件X行出現錯誤 。這時我們要用到行號相關的操作;
 

爲所有內容添加行號;
按ESC鍵,然後輸入:
 

set number


光標所處位置
在屏幕的右下角,有類似如下的;
 

        57,8          27%
在這之中,57表示第57行,8表示第8個字符;


 

查找和替換功能

查找

首先,我們要進入ESC鍵,進入命令模式;我們輸入/或?就進入查找模式了;
/SEARCH 注:正向查找,按n鍵把光標移動到下一個符合條件的地方;
?SEARCH 注:反向查找,按shift+n 鍵,把光標移動到下一個符合條件的
舉一例:比如我想在一個文件中找到swap單詞,我應該如下做;
首先按ESC鍵,進入命令模式,然後輸入;
/swap
或?swap
 


 

替換

按ESC鍵進入命令模式;
:s /SEARCH/REPLACE/g 注:把當前光標所處的行中的SEARCH單詞,替換成REPLACE,並把所有SEARCH高亮顯示;
 

%s /SEARCH/REPLACE 注:把文檔中所有SEARCH替換成REPLACE;


:#,# s /SEARCH/REPLACE/g 注:#號表示數字,表示從多少行到多少行,把SEARCH替換成REPLACE;
注:在這之中,g表示全局查找;我們注意到,就是沒有替換的地方,也會把SEARCH高亮顯示;
舉例說明:
比如我們有一篇文檔要修改;
我們把光標所在的行,把所有單詞the,替換成THE,應該是:

:s /the/THE/g

我們把整篇文檔的所有的the都替換成THE,應該是:

:%s /the/THE

我們僅僅是把第1行到第10行中的the,替換成THE
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章