文本編輯器vim概述與應用示例

文本編輯器vim概述與應用示例

文本編輯器概述

vim編輯器是一種易用、功能強大的文本編輯器,可以基于三種不同的模式對文本進行編輯,包括編輯模式、輸入模式和末行模式。

  • 編輯模式

    • 模式轉換

      i 表示在光標所在處插入
      a 表示在光標后方插入
      o 表示在光標所在處的下一行插入
      O 表示在光標所在處的上一行插入
      I 表示在光標所在行的行首插入
      A 表示在光標所在行的行尾插入
      :進入末行模式
    • 光標跳轉

      字符間跳轉:h(左)、j(下)、k(下)、l(右)
      單詞間跳轉:w(下一個單詞詞首)、b(當前單詞詞首)、e(當前單詞詞尾)
      行內跳轉:0(當前行行首)、$(當前行行尾)、^(當前行非空白字符的行首)
      行間跳轉:1G(第一行)、G(最后一行)、#G(第#行)
    • 翻屏

      ctrl+f 下一屏
      ctrl+b 上一屏
      ctrl+u 上半屏
      ctrl+d 下半屏
      enter 后一行
    • 編輯命令

      x(刪除光標所在處的字符)、#x(刪除從光標及向后的#個字符)
      rchar(以char字符替換當前光標處的字符)
      d(結合^、0、$、w、d、e實現范圍刪除)、dd(刪除當前行)、#dd(刪除當前行及之后的#行)
      y(結合^、0、$、w、d、e實現范圍復制)、yy(復制當前行)、#yy(復制當前行及之后的#行)
      c(結合^、0、$、w、d、e實現范圍刪除并進入輸入模式))
      p(如果復制的內容為整行,則粘貼在下一行行首,否則粘貼于光標的后方)
      P(如果復制的內容為整行,則粘貼在上一行行首,否則粘貼于光標的前方)
      v(按字符可視化選定)
      V(按行可視化選定)
      u(撤銷此前的操作)、#u(撤銷此前的#個操作)
      r(撤銷此前的撤銷)
  • 末行模式

    • 模式轉換

      ESC 進入編輯模式
    • 地址定界與編輯命令結合

      .(當前行)、$(最后一行)、#(第#行)、%(全文)、/pattern/(模式匹配的行)、,(表示行范圍)
      d、y、c、w(將指定的內容保存至指定的文件)、r(指定文件的內容插入指定位置)
    • 查找

      /PATTERN(向下查找匹配內容)、?PATTERN(向上查找匹配的內容)、n(與查找方向相同查找下一個)、N(與查找方向相反查找下一個)
    • 查找替換

      s/查找模式/替換內容/修飾符、修飾符(i 忽略大小寫 g全部替換)、&(替換內容中使用&引用查找到的全部內容)
    • 退出

      q 退出、q! 不保存退出、wq 保存退出
  • 輸入模式

    • 模式轉換

      ESC 進入編輯模式
    • 直接操作

文本編輯器應用示例

  • 1.復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#

    cp -a /etc/rc.d/rc.sysinit  /tmp
      vim /tmp/rc.sysinit,在末行模式下輸入%s/^[[:space:]]\+[^[:space:]]/#&/g
  • 2.復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符

    cp -a /boot/grub/grub.conf  /tmp
     vim /tmp/grub.conf,在末行模式下輸入%s/^[[:space:]]\+//g
  • 3.刪除/tmp/rc.sysinit文件中以#開頭,且后面跟了至少一個空白字符的行的#和空白字符

    vim /tmp/rc.sysinit,在末行模式下輸入%s/^#[[:space:]]\+\//g
  • 4.為/tmp/grub.conf文件中的前3行的行首加#號

    vim /tmp/rc.sysinit,在末行模式下輸入0,3s/^/#/g
  • 5.將/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改為1

    vim /etc/yum.repos.d/CentOS-Media.repo,在末行模式下輸入%s/\(enable\|gpgcheck\)=0/\1=1/g

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

(0)
N27_xiaoniN27_xiaoni
上一篇 2017-08-06 20:24
下一篇 2017-08-06 22:13

相關推薦

  • 文本處理三劍客之grep

    文本處理三劍客之grep 正則表達式(regex) 文本處理工具 grep egrep 試驗環境:CentOS 7.2 正則表達式 Linux的哲學之一“一切皆文件”,學習Linux應得掌握其基本的文本處理工具,這些工具主要包括: 文件內容:less和cat 文件截?。篽ead和tail 文件抽?。篶ut 關鍵字搜索:grep 正則表達式是計算機科…

    Linux干貨 2016-08-07
  • linux iptables替代工具nftables

    1 使用 FirewallD 構建動態防火墻 1.1 “守護進程” 1.2 靜態防火墻(system-config-firewall/lokkit) 1.3 使用 iptables 和 ip6tables 的靜態防火墻規則 1.4 什么是區域? 1.4.1 預定義的服務 1.4.2 端口和…

    Linux干貨 2015-03-11
  • ip命令詳解

      Linux中的ip命令功能強大,可以完成接口配置、路由管理等任務。   格式:ip [ OPTIONS ] OBJECT { COMMAND | help }   下面使用ip命令來完成一些常用的操作:     1、查看接口狀態       ip link show [設備名…

    Linux干貨 2016-01-14
  • 使用keepalive實現nginx反向代理高可用

    簡介: 在網站架構中,為了分散客戶端對服務器的訪問壓力,可以使用nginx作為反向代理。但是使用一個nginx作為代理服務器必定會面對單點故障的情況,所以一般使用多臺nginx反代服務器,而使用多臺nginx服務器還要面對如何協調調度的問題。在此,我給大家介紹使用keepalive協調調度nginx反代服務器的方法。   keepalive簡介 說…

    2017-05-15
  • 詳解linux磁盤管理

                           磁盤管理 設備文件 1. I/O ports:I/O設備地址 2. 一切皆文件,open(),read(),write(),close(),對設備的操作也都是通     過這…

    Linux干貨 2016-08-29
  • 數據流重導向

    數據流重導向(redirect):就是將某個指令執行后應該要出現在屏幕上的數據,傳輸到其他的位置。 standard output:標準輸出是指指令執行回傳正確的訊息。 standard error output : 指令執行失敗后,所回傳的錯誤訊息。 1標準輸入(stdin):代碼為0,使用< <<2標準輸出(stdout),代碼為1,使…

    Linux干貨 2016-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-08-20 19:01

    VIM基本用法掌握后,可以嘗試擴展一下高階用法和一些插件功能。

欧美性久久久久