Grep工具、Shell腳本及Vimtutor基礎

Grep工具、Shell腳本及Vimtutor基礎

1、grep工具基礎

1.1 統計出/etc/passwd文件中其默認shell爲非/sbin/nologin的用戶個數,並將用戶都顯示出來mysql

# grep -Ev "/sbin/nologin" /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
xsd:x:1000:1000:xsd:/home/xsd:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2019::/home/slackware:/bin/nologin
user1:x:2003:2003::/home/user1:/bin/bash
user2:x:2004:2004::/home/user2:/bin/bash
user3:x:2005:2005::/home/user3:/bin/bash
tomcat:x:2006:2023::/home/tomcat:/bin/bash
mysql:x:2007:2024::/home/mysql:/bin/bash
user4:x:2008:2008::/home/user4:/bin/bash
aaa:x:2009:2009::/home/aaa:/bin/bash
bbb:x:2010:2010::/home/bbb:/bin/bash

1.2 查出用戶UID最大值的用戶名、UID及shell類型linux

# cat /etc/passwd | cut -d: -f1,3,7|sort -n -t: -k2 -r|head -n1
bbb:2010:/bin/bash

1.3 統計當前鏈接本機的每一個遠程主機IP的鏈接數,並按從大到小排序spring

# ss -nt|tail -n+2|tr -s ' ' :|cut -d: -f6|sort|uniq -c|sort -nr

2、Shell腳本基礎

2.1 編寫腳本disk.sh,顯示當前硬盤分區中空間利用率最大的值sql

#!/bin/bash

echo -e "\e[1;31m The most Used Disk of This System is: `df -h|tail -n+2|tr -s ' ' :|cut -d : -f 1,5|sort -n -t : -k 2|tail -n1` \e[0m"
# chmod +x disk.sh
# ./disk.sh
 The most Used Disk of This System is: /dev/sda1:16%

2.2 編寫腳本 systeminfo.sh,顯示當前主機系統信息,包括:主機名,IPv4地址,操做系統版本,內核版本,CPU型號,內存大小,硬盤大小shell

# vim systeminfo.sh
#!/bin/bash

RED="\e[1;31m"
GREEN="\e[1;32m"
END="\e[0m"

echo -e "$GREEN--------------System Information---------------$END"

echo -e "$GREEN HostName: `hostname` $END"

echo -e "$GREEN IP: `ifconfig|grep -Eo '([0-9]{1,3}.){3}[0-9]{1,3}'|head -n1` $END"

echo -e "$GREEN OSVERSION:
 `cat /etc/redhat-release` $END"

echo -e "$GREEN KERNELVERSION: `uname -r`"

echo -e "$GREEN CPU TYPE: `lscpu|grep 'Model name'|tr -s ' '|cut -d: -f2` $EDN"

echo -e "$GREEN MEMORY: `free -h|tr -s ' ' :|cut -d: -f 2|head -n2|tail -n1` $END"

echo -e "$GREEN DISK: `lsblk|grep -E "\<sda\>"|tr -s ' '|cut -d ' ' -f 4` $END"

echo -e "$GREEN--------------System Information---------------$END"

# chmod +x systeminfo.sh
# ./sysinfor.sh
--------------System Information---------------
 HostName: localhost.localdomain
 IP: 172.20.200.131
 OSVERSION:
 CentOS Linux release 7.8.2003 (Core)
 KERNELVERSION: 3.10.0-1160.6.1.el7.x86_64
 CPU TYPE:  Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz
 MEMORY: 900M
 DISK: 120G
--------------System Information---------------

3、20分鐘內通關vimtutor

第一講第一節∶移動光標

   ※※ 要移動光標,請依照說明分別按下 h、j、k、l 鍵。 ※※

      ^
      k      提示∶ h 的鍵位於左邊,每次按下就會向左移動。
 < h     l >         l 的鍵位於右邊,每次按下就會向右移動。
      j          j 鍵看起來很象一支尖端方向朝下的箭頭。
      v

  1. 請隨意在屏幕內移動光標,直至您以爲舒服爲止。

  2. 按下下行鍵(j),直到出現光標重複下行。

---> 如今您應該已經學會如何移動到下一講吧。

  3. 如今請使用下行鍵,將光標移動到第二講。

提示∶若是您不敢肯定您所按下的字母,請按下<ESC>鍵回到正常(Normal)模式。而後再次從鍵盤輸入您想要的命令。

提示∶光標鍵應當也能正常工做的。可是使用hjkl鍵,在習慣以後您就可以快速地在屏幕內四處移動光標了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   第一講第二節∶VIM的進入和退出

  !! 特別提示∶敬請閱讀完整本一節的內容,而後才能執行如下所講解的命令。

  1. 請按<ESC>鍵(這是爲了確保您處在正常模式)。

  2. 而後輸入∶   :q! <回車>

---> 這種方式的退出編輯器毫不會保存您進入編輯器以來所作的改動。若是您想保存更改再退出,請輸入∶
    :wq  <回車>

  3. 若是您看到了命令行提示符,請輸入可以帶您回到本教程的命令,那就是∶

  vimtutor <回車>

     一般狀況下您也能夠用這種方式∶

  vim tutor <回車>

---> 這裏的 'vim' 表示進入vim編輯器,而 'tutor'則是您準備要編輯的文件。

  4. 若是您自信已經緊緊記住了這些步驟的話,請從步驟1執行到步驟3退出,而後再次進入編輯器。接着將光標移動到第一講第三節來繼續咱們的教程講解。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   第一講第三節∶文本編輯之刪除

   ** 在正常(Normal)模式下,能夠按下 x 鍵來刪除光標所在位置的字符。**

  1. 請將光標移動到本節中下面標記有 ---> 的那一行。

  2. 爲了修正輸入錯誤,請將光標移至準備刪除的字符的位置處。

  3. 而後按下 x 鍵將錯誤字符刪除掉。

  4. 重複步驟2到步驟4,直到句子修正爲止。

---> The ccow jumpedd ovverr thhe mooon.

  5. 好了,該行已經修正了,下一節內容是第一講第四節。

特別提示∶在您瀏覽本教程時,不要強行記憶。記住一點∶在使用中學習。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       第一講第四節∶文本編輯之插入

  ** 在正常模式下,能夠按下 i 鍵來插入文本。**

  1. 請將光標移動到本節中下面標記有 ---> 的第一行。

  2. 爲了使得第一行內容雷同於第二行,請將光標移至文本第一個字符準備插入的位置。

  3. 而後按下 i 鍵,接着輸入必要的文本字符。

  4. 全部文本都修正完畢,請按下 <ESC> 鍵返回正常模式。
     重複步驟2至步驟4以便修正句子。

---> There is text misng this .
---> There is some text missing from this line.

  5. 若是您對文本插入操做已經很滿意,請接着閱讀下面的小結。

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          第一講小結

  1. 光標在屏幕文本中的移動既能夠用箭頭鍵,也可使用 hjkl 字母鍵。

  h (左移) j (下行)       k (上行)     l (右移)

  2. 欲進入vim編輯器(從命令行提示符),請輸入∶vim 文件名 <回車>

  3. 欲退出vim編輯器,請輸入如下命令放棄全部修改∶

 <ESC>   :q!  <回車>

     或者輸入如下命令保存全部修改∶

 <ESC>   :wq  <回車>

  4. 在正常模式下刪除光標所在位置的字符,請按∶ x

  5. 在正常模式下要在光標所在位置開始插入文本,請按∶

  i     輸入必要文本 <ESC>

特別提示∶按下 <ESC> 鍵會帶您回到正常模式或者取消一個不指望或者部分完成的命令。好了,第一講到此結束。下面接下來繼續第二講的內容。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   第二講第一節∶刪除類命令

     ** 輸入 dw 能夠從光標處刪除至一個單字/單詞的末尾。**

  1. 請按下 <ESC> 鍵確保您處於正常模式。

  2. 請將光標移動到本節中下面標記有 ---> 的那一行。

  3. 請將光標移至準備要刪除的單詞的開始。

  4. 接着輸入 dw 刪除掉該單詞。

  特別提示∶您所輸入的 dw 會在您輸入的同時出如今屏幕的最後一行。若是您輸入有誤,請按下 <ESC> 鍵取消,而後從新再來。

---> There are a some words fun that don't belong paper in this sentence.

  5. 重複步驟3至步驟4,直至句子修正完畢。接着繼續第二講第二節內容。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        第二講第二節∶其餘刪除類命令

     ** 輸入 d$ 從當前光標刪除到行末。**

  1. 請按下 <ESC> 鍵確保您處於正常模式。

  2. 請將光標移動到本節中下面標記有 ---> 的那一行。

  3. 請將光標移動到該行的尾部(也就是在第一個點號‘.’後面)。

  4. 而後輸入 d$ 從光標處刪至當前行尾部。

---> Somebody typed the end of this line twice. end of this line twice.

  5. 請繼續學習第二講第三節就知道是怎麼回事了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       第二講第三節∶關於命令和對象

刪除命令 d 的格式以下∶

  [number]   d object     或者     d  [number]   object

  其意以下∶
    number - 表明執行命令的次數(可選項,缺省設置爲 1 )。
    d - 表明刪除。
    object - 表明命令所要操做的對象(下面有相關介紹)。

  一個簡短的對象列表∶
    w - 從當前光標當前位置直到單字/單詞末尾,包括空格。
    e - 從當前光標當前位置直到單字/單詞末尾,可是 *不* 包括空格。
    $ - 從當前光標當前位置直到當前行末。

特別提示∶
    對於敢於探索者,請在正常模式下面僅按表明相應對象的鍵而不使用命令,則將看到光標的移動正如上面的對象列表所表明的同樣。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  第二講第四節∶對象命令的特殊狀況

    ** 輸入 dd 能夠刪除整一個當前行。 **

  鑑於整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅須要在同一行上擊打兩次 d 就能夠刪除掉光標所在的整行了。

  1. 請將光標移動到本節中下面的短句段落中的第二行。
  2. 輸入 dd 刪除該行。
  3. 而後移動到第四行。
  4. 接着輸入 2dd (還記得前面講過的 number-command-object 嗎?) 刪除兩行。

      1)  Roses are red,
      2)  Mud is fun,
      3)  Violets are blue,
      4)  I have a car,
      5)  Clocks tell time,
      6)  Sugar is sweet
      7)  And so are you.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    第二講第五節∶撤消類命令

  ** 輸入 u 來撤消最後執行的命令,輸入 U 來修正整行。**

  1. 請將光標移動到本節中下面標記有 ---> 的那一行,並將其置於第一個錯誤處。
  2. 輸入 x 刪除第一個不想保留的字母。
  3. 而後輸入 u 撤消最後執行的(一次)命令。
  4. 此次要使用 x 修正本行的全部錯誤。
  5. 如今輸入一個大寫的 U ,恢復到該行的原始狀態。
  6. 接着屢次輸入 u 以撤消 U 以及更前的命令。
  7. 而後屢次輸入 CTRL-R (先按下 CTRL 鍵不放開,接着輸入 R 鍵) ,這樣就能夠執行恢復命令,也就是撤消掉撤消命令。

---> Fiix the errors oon thhis line and reeplace them witth undo.

  8. 這些都是很是有用的命令。下面是第二講的小結了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          第二講小結

  1. 欲從當前光標刪除至單字/單詞末尾,請輸入∶dw

  2. 欲從當前光標刪除至當前行末尾,請輸入∶d$

  3. 欲刪除整行,請輸入∶dd

  4. 在正常模式下一個命令的格式是∶

       [number]   command   object     或者     command [number]   object
     其意是∶
       number - 表明的是命令執行的次數
       command - 表明要作的事情,好比 d 表明刪除
       object - 表明要操做的對象,好比 w 表明單字/單詞,$ 表明到行末等等。
  $ (to the end of line), etc.

  5. 欲撤消之前的操做,請輸入∶u (小寫的u)
     欲撤消在一行中所作的改動,請輸入∶U (大寫的U)
     欲撤消之前的撤消命令,恢復之前的操做結果,請輸入∶CTRL-R

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    第三講第一節∶置入類命令

        ** 輸入 p 將最後一次刪除的內容置入光標以後 **

  1. 請將光標移動到本節中下面示範段落的首行。

  2. 輸入 dd 將該行刪除,這樣會將該行保存到vim的緩衝區中。

  3. 接着將光標移動到準備置入的位置的上方。記住∶是上方哦。

  4. 而後在正常模式下(<ESC>鍵進入),輸入 p 將該行粘貼置入。

  5. 重複步驟2至步驟4,將全部的行依序放置到正確的位置上。

     d) Can you learn too?
     b) Violets are blue,
     c) Intelligence is learned,
     a) Roses are red,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         第三講第二節∶替換類命令

   ** 輸入 r 和一個字符替換光標所在位置的字符。**

  1. 請將光標移動到本節中下面標記有 ---> 的第一行。

  2. 請移動光標到第一個錯誤的適當位置。

  3. 接着輸入 r ,這樣就能將錯誤替換掉了。

  4. 重複步驟2和步驟3,直到第一行已經修改完畢。

--->  Whan this lime was tuoed in, someone presswd some wrojg keys!
--->  When this line was typed in, someone pressed some wrong keys!

  5. 而後咱們繼續學校第三講第三節。

特別提示∶切記您要在使用中學習,而不是在記憶中學習。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   第三講第三節∶更改類命令

    ** 要改變一個單字/單詞的部分或者所有,請輸入 cw **

  1. 請將光標移動到本節中下面標記有 ---> 的第一行。

  2. 接着把光標放在單詞 lubw 的字母 u 的位置那裏。

  3. 而後輸入 cw 就能夠修正該單詞了(在本例這裏是輸入 ine 。)

  4. 最後按 <ESC> 鍵,而後光標定位到下一個錯誤第一個準備更改的字母處。

  5. 重複步驟3和步驟4,直到第一個句子徹底雷同第二個句子。

---> This lubw has a few wptfd that mrrf changing usf the change command.
---> This line has a few words that need changing using the change command.

提示∶請注意 cw 命令不只僅是替換了一個單詞,也讓您進入文本插入狀態了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         第三講第四節∶使用c指令的其餘更改類命令

      ** 更改類指令可使用同刪除類命令所使用的對象參數。**

  1. 更改類指令的工做方式跟刪除類命令是一致的。操做格式是∶

       [number]   c   object    或者     c [number]   object

  2. 對象參數也是同樣的,好比 w 表明單字/單詞,$表明行末等等。

  3. 請將光標移動到本節中下面標記有 ---> 的第一行。

  4. 接着將光標移動到第一個錯誤處。

  5. 而後輸入 c$ 使得該行剩下的部分更正得同第二行同樣。最後按 <ESC> 鍵。

---> The end of this line needs some help to make it like the second.
---> The end of this line needs to be corrected using the  c$  command.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          第三講小結

  1. 要從新置入已經刪除的文本內容,請輸入小寫字母 p。該操做能夠將已刪除的文本內容置於光標以後。若是最後一次刪除的是一個整行,那麼該行將置於當前光標所在行的下一行。

  2. 要替換光標所在位置的字符,請輸入小寫的 r 和要替換掉原位置字符的新字符便可。

  3. 更改類命令容許您改變指定的對象,從當前光標所在位置直到對象的末尾。好比輸入 cw 能夠替換當前光標到單詞的末尾的內容;輸入 c$ 能夠替換當前光標到行末的內容。

  4. 更改類命令的格式是∶

  [number]   c object       或者 c   [number]   object

下面咱們繼續學習下一講。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       第四講第一節∶定位及文件狀態

  ** 輸入 CTRL-g 顯示當前編輯文件中當前光標所在行位置以及文件狀態信息。輸入 SHIFT-G 則直接跳轉到文件中的某一指定行。**

  提示∶切記要先通讀本節內容,以後才能夠執行如下步驟!!!

  1. 按下 CTRL 鍵不放開而後按 g 鍵。而後就會看到頁面最底部出現一個狀態信息行,顯示的內容是當前編輯的文件名和文件的總行數。請記住步驟3的行號。

  2. 按下 SHIFT-G 鍵可使得當前光標直接跳轉到文件最後一行。

  3. 輸入您曾停留的行號,而後按下 SHIFT-G。這樣就能夠返回到您第一次按下CTRL-g 時所在的行好了。注意∶輸入行號時,行號是不會在屏幕上顯示出來的。

  4. 若是願意,您能夠繼續執行步驟1至步驟三。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   第四講第二節∶搜索類命令

     ** 輸入 / 以及尾隨的字符串能夠用以在當前文件中查找該字符串。**

  1. 在正常模式下輸入 / 字符。您此時會注意到該字符和光標都會出如今屏幕底部,這跟 : 命令是同樣的。

  2. 接着輸入 errroor <回車>。那個errroor就是您要查找的字符串。

  3. 要查找同上一次的字符串,只須要按 n 鍵。要向相反方向查找同上一次的字符串,請輸入 Shift-N 便可。

  4. 若是您想逆向查找字符串,請使用 ? 代替 / 進行。

---> When the search reaches the end of the file it will continue at the start. "errroor" is not the way to spell error;  errroor is an error.

  提示∶若是查找已經到達文件末尾,查找會自動從文件頭部繼續查找。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     第四講第三節∶配對括號的查找

       ** 按 % 能夠查找配對的括號 )、]、}。**

  1. 把光標放在本節下面標記有 --> 那一行中的任何一個 (、[ 或 { 處。

  2. 接着按 % 字符。

  3. 此時光標的位置應當是在配對的括號處。

  4. 再次按 % 就能夠跳回配對的第一個括號處。

---> This ( is a test line with ('s, ['s ] and {'s } in it. ))

提示∶在程序調試時,這個功能用來查找不配對的括號是頗有用的。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        第四講第四節∶修正錯誤的方法之一

  ** 輸入 :s/old/new/g 能夠替換 old 爲 new。**

  1. 請將光標移動到本節中下面標記有 ---> 的那一行。

  2. 輸入 :s/thee/the <回車> 。請注意該命令只改變光標所在行的第一個匹配串。

  3. 輸入 :s/thee/the/g 則是替換全行的匹配串。

---> the best time to see thee flowers is in thee spring.

  4. 要替換兩行之間出現的每一個匹配串,請輸入 :#,#s/old/new/g (#,#表明的是兩行的行號)。輸入 :%s/old/new/g 則是替換整個文件中的每一個匹配串。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          第四講小結

  1. Ctrl-g 用於顯示當前光標所在位置和文件狀態信息。Shift-G 用於將光標跳轉至文件最後一行。先敲入一個行號而後按 Shift-G 則是將光標移動至該行號表明的行。

  2. 輸入 / 而後緊隨一個字符串是則是在當前所編輯的文檔中向後查找該字符串。輸入問號 ? 而後緊隨一個字符串是則是在當前所編輯的文檔中向前查找該字符串。完成一次查找以後按 n 鍵則是重複上一次的命令,可在同一方向上查找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。

  3. 若是光標當前位置是括號(、)、[、]、{、},按 % 能夠將光標移動到配對的
     括號上。

  4. 在一行內替換頭一個字符串 old 爲新的字符串 new,請輸入  :s/old/new
     在一行內替換全部的字符串 old 爲新的字符串 new,請輸入  :s/old/new/g
     在兩行內替換全部的字符串 old 爲新的字符串 new,請輸入  :#,#s/old/new/g
     在文件內替換全部的字符串 old 爲新的字符串 new,請輸入  :%s/old/new/g
     進行全文替換時詢問用戶確認每一個替換需添加 c 選項,請輸入 :%s/old/new/gc

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  第五講第一節∶在 VIM 內執行外部命令的方法

    ** 輸入 :! 而後緊隨著輸入一個外部命令能夠執行該外部命令。**

  1. 按下咱們所熟悉的 : 命令設置光標到屏幕底部。這樣就可讓您輸入命令了。

  2. 接着輸入感嘆號 ! 這個字符,這樣就容許您執行外部的 shell 命令了。

  3. 咱們以 ls 命令爲例。輸入 !ls <回車> 。該命令就會列舉出您當前目錄的內容,就如同您在命令行提示符下輸入 ls 命令的結果同樣。若是 !ls 沒起做用,您能夠試試 :!dir 看看。

---> 提示∶ 全部的外部命令均可以以這種方式執行。

---> 提示∶ 全部的 : 命令都必須以 <回車> 了結。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        第五講第二節∶關於保存文件的更多信息

      ** 要將對文件的改動保存到文件中,請輸入 :w FILENAME 。**

  1. 輸入 :!dir 或者 :!ls 獲知當前目錄的內容。您應當已知道最後還得敲<回車> 吧。

  2. 選擇一個還沒有存在文件名,好比 TEST 。

  3. 接着輸入 :w TEST  (此處 TEST 是您所選擇的文件名。)

  4. 該命令會以 TEST 爲文件名保存整個文件 (VIM 教程)。爲了確保正確保存,請再次輸入 :!dir 查看您的目錄列表內容。

---> 請注意∶若是您退出 VIM 而後在以文件名 TEST 爲參數進入,那麼該文件內容應該同您保存時的文件內容是徹底同樣的。

  5. 如今您能夠經過輸入 :!rm TEST 來刪除 TEST 文件了。

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      第五講第三節∶一個具備選擇性的保存命令

  ** 要保存文件的部份內容,請輸入 :#,# w FILENAME **

  1. 再來執行一次 :!dir 或者 :!ls 獲知當前目錄的內容,而後選擇一個合適的不重名的文件名,好比 TEST 。

  2. 接着將光標移動至本頁的最頂端,而後按 CTRL-g 找到該行的行號。別忘了行號哦。

  3. 接着把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行好哦。

  4. 爲了只保存文章的某個部分,請輸入 :#,# w TEST 。這裏的 #,# 就是上面要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。

  5. 最後,用 :!dir 確認文件是否正確保存。可是此次先別刪除掉。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     第五講第四節∶提取和合並文件

       ** 要向當前文件中插入另外的文件的內容,請輸入 :r FILENAME **

  1. 請鍵入 :!dir 確認您前面建立的 TEST 文件還在。

  2. 而後將光標移動至當前頁面的頂端。

特別提示∶ 執行步驟3以後您將看到第五講第三節,請屆時再往下移動回到這裏來。

  3. 接着經過 :r TEST 將前面建立的名爲 TEST 的文件提取進來。

特別提示∶您所提取進來的文件將從光標所在位置處開始置入。

  4. 爲了確認文件已經提取成功,移動光標回到原來的位置就能夠注意有兩份第五講第三節,一份是本來,另一份是來自文件的副本。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          第五講小結

  1. :!command 用於執行一個外部命令 command。

     請看一些實際例子∶
   :!dir  -  用於顯示當前目錄的內容。
   :!rm FILENAME  - 用於刪除名爲 FILENAME 的文件。

  2. :w FILENAME  可將當前 VIM 中正在編輯的文件保存到名爲 FILENAME 的文件中。

  3. :#,#w FILENAME 可將當前編輯文件第 # 行至第 # 行的內容保存到文件FILENAME 中。

  4. :r FILENAME 可提取磁盤文件 FILENAME 並將其插入到當前文件的光標位置後面。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    第六講第一節∶打開類命令

  ** 輸入 o 將在光標的下方打開新的一行並進入插入模式。**

  1. 請將光標移動到本節中下面標記有 ---> 的那一行。

  2. 接着輸入小寫的 o 在光標 *下方* 打開新的一行並進入插入模式。

  3. 而後複製標記有 ---> 的行並按 <ESC> 鍵退出插入模式而進入正常模式。

---> After typing  o  the cursor is placed on the open line in Insert mode.

  4. 爲了在光標 *上方* 打開新的一行,只須要輸入大寫的 O 而不是小寫的 o 就能夠了。請在下行測試一下吧。當光標處在在該行上時,按 Shift-O能夠在該行上方新開一行。

Open up a line above this by typing Shift-O while the cursor is on this line.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   第六講第二節∶光標後插入類命令

       ** 輸入 a 將可在光標以後插入文本。 **

  1. 請在正常模式下經過輸入 $ 將光標移動到本節中下面標記有 ---> 的第一行的末尾。

  2. 接着輸入小寫的 a 則可在光標以後插入文本了。大寫的 A 則能夠直接在行末插入文本。

提示∶輸入大寫 A 的操做方法能夠在行末插入文本,避免了輸入 i,光標定位到最後一個字符,輸入的文本,<ESC> 回覆正常模式,箭頭右鍵移動光標以及 x 刪除當前光標所在位置字符等等諸多繁雜的操做。

  3. 操做以後第一行就能夠補充完整了。請注意光標後插入文本與插入模式是基本徹底一致的,只是文本插入的位置定位稍有不一樣罷了。

---> This line will allow you to practice
---> This line will allow you to practice appending text to the end of a line.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      第六講第三節∶另一個置換類命令的版本

        ** 輸入大寫的 R 可連續替換多個字符。**

  1. 請將光標移動到本節中下面標記有 ---> 的第一行。

  2. 移動光標到第一行中不一樣於標有 ---> 的第二行的第一個單詞的開始,即單詞 last 處。

  3. 而後輸入大寫的 R 開始把第一行中的不一樣於第二行的剩餘字符逐一輸入,就能夠所有替換掉原有的字符而使得第一行徹底雷同第二行了。

---> To make the first line the same as the last on this page use the keys.
---> To make the first line the same as the second, type R and the new text.

  4. 請注意∶若是您按 <ESC> 退出置換模式回覆正常模式,還沒有替換的文本將仍然保持原狀。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       第六講第四節∶設置類命令的選項

    ** 設置可以使查找或者替換可忽略大小寫的選項 **

  1. 要查找單詞 ignore 可在正常模式下輸入 /ignore 。要重複查找該詞,能夠重複按 n 鍵。

  2. 而後設置 ic 選項(ic就是英文忽略大小寫Ignore Case的首字母縮寫詞),即輸入∶
 :set ic

  3. 如今能夠經過鍵入 n 鍵再次查找單詞 ignore。重複查找能夠重複鍵入 n 鍵。

  4. 而後設置 hlsearch 和 incsearch 這兩個選項,輸入如下內容∶
     :set hls is

  5. 如今能夠再次輸入查找命令,看看會有什麼效果∶
     /ignore

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          第六講小結

  1. 輸入小寫的 o 能夠在光標下方打開新的一行並將光標置於新開的行首,進入插入模式。
     輸入大寫的 O 能夠在光標上方打開新的一行並將光標置於新開的行首,進入
     插入模式。

  2. 輸入小寫的 a 能夠在光標所在位置以後插入文本。
     輸入大寫的 A 能夠在光標所在行的行末以後插入文本。

  3. 輸入大寫的 R 將進入替換模式,直至按 <ESC> 鍵退出替換模式而進入正常
     模式。

  4. 輸入 :set xxx 能夠設置 xxx 選項。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         第七講∶在線幫助命令

        ** 使用在線幫助系統 **

  Vim 擁有一個細緻全面的在線幫助系統。要啓動該幫助系統,請選擇以下三種方
  法之一∶
 - 按下 <HELP> 鍵 (若是鍵盤上有的話)
 - 按下 <F1> 鍵 (若是鍵盤上有的話)
 - 輸入 :help <回車>

  輸入 :q <回車> 能夠關閉幫助窗口。

  提供一個正確的參數給":help"命令,您能夠找到關於該主題的幫助。請試驗如下參數(可別忘了按回車鍵哦。:)∶

   :help w <回車>
   :help c_<T <回車>
   :help insert-index <回車>
   :help user-manual <回車>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         第八講∶建立一個啓動腳本

     ** 啓用vim的功能 **

  Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。爲了啓動更多的功能,您得建立一個vimrc文件。

  1. 開始編輯vimrc文件,這取決於您所使用的操做系統∶

     :edit ~/.vimrc  這是Unix系統所使用的命令
     :edit $VIM/_vimrc  這是Windows系統所使用的命令

  2. 接着導入vimrc範例文件∶

     :read $VIMRUNTIME/vimrc_example.vim

  3. 保存文件,命令爲∶

     :write

  在下次您啓動vim的時候,編輯器就會有了語法高亮的功能。您能夠繼續把您喜歡的其它功能設置添加到這個vimrc文件中。
相關文章
相關標籤/搜索