Linux中vim編輯器的總結

vi( Visual Interface )vim

vim( VI iMproveed ):爲純文本(ASCII)全屏編輯器,也是模式化編輯器.網絡

vim的三種模式:編輯器

1)編輯模式(命令模式)spa

2)輸入模式blog

3)末行模式圖片

三種模式之間的切換:內存

1)編輯模式-->輸入模式:ci

i: 在當前光標所在字符的前面,轉爲輸入模式;
a: 在當前光標所在字符的後面,轉爲輸入模式;
o: 在當前光標所在行的下方,新建一行,並轉爲輸入模式;
    
I:在當前光標所在行的行首,轉換爲輸入模式;
A:在當前光標所在行的行尾,轉換爲輸入模式;
O:在當前光標所在行的上方,新建一行,並轉爲輸入模式.string

2)輸入模式-->編輯模式:table

    ESC鍵1次.

3)編輯模式-->末行模式:

    :

4)末行模式-->編輯模式:

    ESC鍵一次或連續ESC鍵2次.

                                                                                                                                                                                       圖片說明(來源網絡)

 

1、打開文件
# vim /path/to/somefile
    vim +#             :打開文件,並定位於第#行;
    vim +               :打開文件,定位至最後一行;
    vim +/PATTERN : 打開文件,定位至第一次被PATTERN匹配到的行的行首;
                        說明: # 爲十進制正整數    PATTERN 表明模式匹配;
    文件打開後默認處於編輯模式.

2、關閉文件
  1)、末行模式關閉文件

:q  退出
:wq 保存並退出
:q! 不保存並退出
:w 保存
:w! 強行保存
:wq --> :x               --> 至關於

 2)、編輯模式下退出
     ZZ: 保存並退出

 

3、移動光標(編輯模式)

 1)、逐字符移動

 h: 左
 l: 右
 j: 下
 k: 上
 #h: 移動#個字符

 2)、以單詞爲單位移動

    w: 移至下一個單詞的詞首
    e: 跳至當前或下一個單詞的詞尾
    b: 跳至當前或前一個單詞的詞首   
    #w:

 3)、行內跳轉

    0: 絕對行首
    ^: 行首的第一個非空白字符
    $: 絕對行尾

 4)、行間跳轉

    #G:跳轉至第#行;
    G:最後一行
    gg: 首行
    
    末行模式下,直接給出行號便可  :#

 

4、翻屏

Ctrl+f: 向下翻一屏(forward)
Ctrl+b: 向上翻一屏(back)

Ctrl+d: 向下翻半屏(down)
Ctrl+u: 向上翻半屏(up)

 

5、刪除單個字符

x: 刪除光標所在處的單個字符
#x: 刪除光標所在處及向後的共#個字符

 

6、刪除命令: d  --delete

d命令跟(全部)跳轉命令組合使用(#最前,d次之,跳轉最後)
#dw, #de, #db, #d$

dd: 刪除當前光標所在行
#dd: 刪除包括當前光標所在行在內的#行

末行模式下:(d在末尾)                (做爲獨立的地址參數,刪除該行)
StartADD,EndADDd                  (StartADD,startaddress--startline)
    .: 表示當前行
    $: 最後一行
    +#: 向下的第#行             
    -#: 向上的第#行

7、粘貼命令 p --paste   (最後一次的刪除內容保存於內存中,可用於粘貼)

p: 若是刪除或複製爲整行內容,則粘貼至光標所在行的下方,
   若是複製或刪除的內容爲非整行,則粘貼至光標所在字符的後面;
P: 若是刪除或複製爲整行內容,則粘貼至光標所在行的上方,
   若是複製或刪除的內容爲非整行,則粘貼至光標所在字符的前面;

8、複製命令 y   (yank)
    用法同d命令
    
9、修改:先刪除內容,再轉換爲輸入模式
    c: 用法同d命令      (change)
    C:直接將光標處至行位刪除,再轉換爲輸入模式

10、替換:r    --replace

r: 替換單個字符
R: 連續替換單個字符



11、撤消編輯操做 u      (undo)

u:撤消前一次的編輯操做
    連續u命令可撤消此前的n次編輯操做    (內存中保存50次)
#u: 直接撤消最近#次編輯操做

撤消最近一次撤消操做:Ctrl+r


12、重複前一次編輯操做

.       (點號)

 

十3、可視化模式

 v 字符選擇,會將光標通過的地方反白選擇(-- VISUAL --)
V 行選擇,會將光標通過的行反白選擇(-- VISUAL LINE --)
[Ctrl]+v 區塊選擇,能夠用長方形的方式選擇資料(-- VISUAL BLOCK --)
y 將反白的地方複製起來
d 將反白的地方刪除掉
以上三種模式可對已選文本作各類普通模式下的操做,經過選擇指定文本可進行批量的插入、刪除、替換操做(如註釋掉腳本中的多行)


十4、查找

/PATTERN             向下匹配
?PATTERN             向上匹配
    n                      按照匹配方向的下一個
    N                      按照匹配方向的上一個

十5、查找並替換

在末行模式下使用s命令  (與sed命令同樣)ADDR1,ADDR2s@PATTERN@string@gi                    (g--global, i--ignore case)1,$        表示全文%          表示全文

相關文章
相關標籤/搜索