vim學習

vim學習

認識與介紹

  vim是一款linux下查看編輯文本文件的一款文本編輯器。一般用來查看修改配置文件、日志文件等文本類文件。

打開文件

  vim [OPTIONS] [FILE …]

    +#: 打開文件后,直接讓文件處于第#行
    +/PARTERN: 打開文件后,直接處于第一個被PARTERN匹配到的行的行首

模式轉換

編輯模式:默認模式
    編輯模式 --> 輸入模式
            i: insert, 在光標所在處輸入
            a:append, 在光標所在后方追加
            o:在光標所在處的下一行打開一個新行
            I:在光標所在行的行首輸入
            A:在光標所在行的行位輸入
            O:在光標所在行的上一行輸入

    輸入模式 --> 編輯模式
            ESC
            Ctrl+C

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

    末行模式 --> 編輯模式
            ESC
            Ctrl+C

關閉文件

    ZZ    保存并退出
    :q    退出
    :q!   強制退出
    :wq 保存并退出;
            :w, :q
    :x    保存并退出
    :w    /PATH/TO/SOMEFILE

編輯模式下的操作

光標跳轉

    字符鍵跳轉
        h:    左
        j:    下
        k:    上
        l:    右

    單詞間跳轉
        w:下一個單詞的詞首
        e:當前或后一個單詞的詞尾
        b:當前或前一個單詞的詞首

    行首行尾跳轉
        ^:跳轉至行首的第一個非空白字符
        0:跳轉至行首
        $:跳轉至行尾

    行間跳轉
        #G:       跳轉至#指定的行
        1G,gg:    跳轉至第一行
        G:        跳轉至最后一行

    句間跳轉
        ):    跳轉至上一句的句首
        (:    跳轉至下一句的句首

    段間跳轉
        {:    跳轉至上一段落的段首
        }:    跳轉至下一段落的段尾

翻屏

    Ctrl+f:向為文件尾翻一屏
    Ctrl+b:向文件首部翻一屏
    Ctrl+d:向文件尾部翻半屏
    Ctrl+u:向文件首部翻半屏
    Enter:按行向后翻

字符編輯

    x:     刪除光標所在處的字符
    #x:    刪除光標
    xp:    交換光標所在處的字符與其后面字符的位置;

替換命令

    r:替換光標所在處的字符(鍵入r后,鍵入其他字符替換當前字符)
        rCHAR

刪除命令

    d:刪除命令,可結合光標跳轉字符,實現范圍刪除;
        d$:刪除光標至行尾的所有字符
        d^:刪除光標至行首的所有字符

        dw:刪除光標所在單詞至下一個單詞的詞首
        de:刪除光標位置到所在位置至詞尾的字符
        db:刪除光標至當前所處單詞的詞首

        dd:刪除光標所在的行
            #dd:從光標所處行起,刪除#行

粘貼命令(p, put, paste)

    小寫p:緩存區中的內容若是正行內容,則粘貼在光標所在行的下一行;否則粘貼在光標所在行尾
    大寫P:緩存區中的內容若是正行內容,則粘貼在光標所在行的上一行;否則粘貼在光標所在行首

復制命令

    y:復制,工作行為類似于d命令;
        y$: 復制光標位置到當前行尾部的內容
        y^:復制光標位置到當前行行首非空的內容
        y0:復制光標位置到當前行行首的內容

        ye:復制光標到當前詞的詞尾的內容
        yw:復制光標到下一個單詞的詞首的內容
        yb:復制光標到當前單詞詞首的內容

改變命令(change, c)

    c$:刪除光標至當前行行尾的內容并進入插入模式
    c^:刪除光標至當前行首的非空字符并進入插入模式
    c0:刪除光標至當前行的行首并進入插入模式

    cb:刪除光標至當前單詞的詞首內容并進入插入模式
    ce:刪除光標至當前單詞的詞尾內容并進入插入模式
    cw:刪除光標至下個單詞的詞首的內容并進入插入模式

    cc:刪除光標所在的行,并轉換為輸入模式
        #cc:從光標所在行起刪除#行,并轉換為輸入模式

可視化模式

用來選中連續的內容。
    v:按字符選定:
    V:按行選定;

    結合編輯命令使用:d, c, y

撤銷(undo)操作

    u:撤銷此前的操作
        #u:撤下此前的#個操作
    Ctrl+r:撤銷此前的撤銷

重復執行前一個編輯操作

    .

vim 行內模式(也稱為命令行模式)

  • 這是vim內建的命令行接口

地址定界

界定內容后,進行命令編輯

    :start_pos[,end_pos]
        #:        特定的第#行,例如5即第5行
        .:        當前行
        $:        最后一行
        #,#:      指定行范圍,例如3,5表示第3到第5行(其中3行和5行都包含在內)
        #,[-|+]#: 指定行范圍,相對于起始行+#行或-#行
                3,+7:表示第2行到第10行
                .,$-1:表示當前行到最后一行減1行,也就是當前行到倒數第2行
                1,$:表示從第1行到最后一行
        %:        全文
        /pattern/:從光標所在行到第一次被模式匹配到的行
            /first/,$:從光標所在行起第一次匹配到first字符串的行到最后一行
        /pat1/,/pat2/:從所在行起第一次匹配到pat1的行開始,至第一次匹配到pat2所在行結束之間的行。

    同編輯命令一同使用,實現編輯操作:
        d:刪除界定的內容
        y:復制界定的內容
        c:刪除界定的內容并進入插入模式

        w /PATH/TO/SOMEFILE:將范圍內的文本保存至指定的文件中
        r /PATH/FROM/SOMEFILE:將指定文件的內容讀取并插入到指定位置

導入其他文件內容

r /PATH/RROM/SOMEFILE:將指定的文件中的文本讀取并插入至指定位置

全文查找

    /PATTERN:從光標所在處向文件尾部查找能夠被 PATTERN 匹配的所有字符串
    ?PATTERN:從光標所在處向文件首部查找能夠被 PATTERN 匹配的所有字符串
            n:跳轉至下一個匹配項,與命令方向相同;
            N:跳轉至上一個匹配項,與命令方向相反;

查找并替換

    默認的界定符是 . 當前行。全文替換則為%為界定符即可。
    s:末行模式的命令
        使用格式:
            s/要查找的內容/替換的新內容/修飾符
                要查找的內容:可以使用正則表達式
                替換的新內容:不可以使用正則表達式,但可以引用查找到的內容中的分組
                        要查找的內容中有分組,在替換的新內容中可以使用 \1,\2... 向后引用
                        直接引用查找到的所有文本,要使用&符號;
                修飾符:
                    i:忽略大小寫
                    g:全局替換,意味著一行中匹配到多次全替換,否則只替換匹配到的第一個

            可把分隔符修改為其他不常用的字符(這種修改后,原有的/分隔符依然可以使用):
                    s@@@
                    s###

定制工作特性

  • 注意在末行模式下的設定,僅對當前vim進程有效;

  • 永久有效,可以設置
    全局:/etc/vimrc
    個人:~/.vimrc

      1、行號
          顯示:set number,簡寫為set nu
          取消:set nomber,set nonu
    
      2、括號匹配高亮
          匹配:set showmatch, set sm
          取消:set nosm
    
      3、自動縮進
          啟用:set ai
          禁用:set noai
    
      4、高亮搜索
          啟用:set hlsearch
          禁用:set nohlsearch
    
      5、語法高亮
          啟用:syntax on
          禁用:syntax off
    
      6、忽略大小寫
          啟用:set ic
          禁用:set noic

獲取幫助

:help
:help subject

原創文章,作者:小江,如若轉載,請注明出處:http://www.www58058.com/49630

(0)
小江小江
上一篇 2016-10-09 09:06
下一篇 2016-10-09 09:06

相關推薦

  • 關于大型網站技術演進的思考(二):存儲的瓶頸(2)

    原文出處: 夏天的森林   上篇里我講到某些網站在高并發下會報出503錯誤,503錯誤的含義是指網站服務端暫時無法提供服務的含義,503還表達了網站服務端現在有問題但是以后可能會提供正常的服務,對http協議熟悉的人都知道,5開頭的響應碼表達了服務端出現了問題,在我們開發測試時候最為常見的是500錯誤,500代表的含義是服務端程…

    2015-03-11
  • awk

    GNU awkGNU awk 2 本章內容 ?awk介紹 ?awk基本用法 ?awk變量 ?awk格式化 ?awk操作符 ?awk條件判斷 ?awk循環 ?awk數組 ?awk函數 ?調用系統命令 3 awk ?awk: Aho, Weinberger, Kernighan,報告生成器,格式化文本輸出 ?有多種版本:New awk(nawk),GNU awk…

    Linux干貨 2016-09-14
  • 自制簡易linux系統

    一、環境準備 1.筆記本電腦 2.vmware12軟件 3.CentOS 6虛擬機 4.大于5G空間的物理磁盤分區 二、分區并掛載文件系統 1.添加磁盤 在vmware中選中CentOS 6系統并右擊鼠標選擇設置,添加–>硬盤–>SCSI(推薦)–>創建新虛擬磁盤–>大小改為5G–>完成 2.分區并…

    Linux干貨 2016-09-20
  • 關于 進程和性能監控

            Linux系統狀態的查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glance,pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup pstree命…

    系統運維 2016-09-11
  • 第五周作業

    1、顯示當前系統上root,fedora或user1用戶的默認shell。 [root@hostname ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 root:/bin/bash 2、找出/etc/rc.d/init.d/functions文件中某詞后面跟一組小括號的行,形如:…

    Linux干貨 2017-08-04
  • 文件管理類命令詳解

    文件管理類命令詳解 文件查看 cat 功能描述:連接文件并打印到標準輸出上 命令格式:cat [OPTION]… [FILE]… OPTION: -b 對所有非空白行編號 -n 給所有輸出行編號 -s 將連續多行空白行顯示為一行空白行 -E 在每一行行尾顯示$ FILE:可顯示多個文件,文件之間以空格分隔 舉例 將file1、file…

    Linux干貨 2017-07-09
欧美性久久久久