N22第六周作業

VIM編輯器介紹

什么是VIM?

Vim是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。VIM是純粹的自由軟件。

Vim是從 vi 發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用,和Emacs并列成為類Unix系統用戶最喜歡的文本編輯器。

VIM的使用

    1、在插入模式之外

    2、使用 h、j、k、l

    3、在當前行里面有效的移動光標

常用到的一些命令

    fx:移動光標到當前行的下一個 x 處。很明顯,x 可以是任意一個字母,而且你可以使用 ; 來重復上一個 f 命令;

    tx:和上面的命令類似,但是是移動到 x 的左邊一個位置;

    Fx:和 fx 類似,不過是往回找。使用 , 來重復上一個F命令;

    Tx:和 tx 類似,不過是往回移動到 x 的右邊一個位置;

    b:光標往前移動一個詞;

    w:光標往后移動一個詞;

    0:移動光標到當前行首(是數字0);

    ^:移動光標到當前行的第一個字母位置;

    $:移動光標到行尾;

    ):移動光標到下一個句子;

    ( :移動光標到上一個句子;

在整個文件里面有效移動光標

    <Ctrl-f>:向下移動一屏;

    <Ctrl-d>:向下移動半屏;

    <Ctrl-b>:向上移動一屏;

    <Ctrl-u>:向上移動半屏;

    G:到文件尾;

    numG:移動光標到指定的行(num);

    gg:到文件首;

    H:移動光標到屏幕上面;

    M:移動光標到屏幕中間;

    L:移動光標到屏幕下面;

    *:讀取光標處的字符串,并且移動光標到它再次出現的地方;

    #:和上面的類似,但是是往反方向尋找;

    /text:從當前光標處開始搜索字符串 text,并且到達 text 出現的地方。使用回車開始搜索命令。如果想重復搜索的話,按 n移動到下個 text 處,N 移動到上一個 text 處 ;

    ?text:和上面類似,但是是反方向;

    m{a-z}:在當前光標的位置標記一個書簽,名字為 a-z 的單個字母。書簽名只能是小寫字母;

    `a:到書簽 a 處;

    `.:到你上次編輯文件的地方;

進入插入模式

    i:在當前字符的左邊插入;

    I:在當前行首插入;

    a:在當前字符的右邊插入;

    A:在當前行尾插入;

    o:在當前行下面插入一個新行;

    O:在當前行上面插入一個新行;

    c{motion}:刪除 motion 命令跨過的字符,并且進入插入模式;

        c$,這將會刪除從光標位置到行尾的字符并且進入插入模式;

        ct!,這會刪除從光標位置到下一個嘆號(但不包括),然后進入插入模式;

            注意:被刪除的字符被存在了剪貼板里面,并且可以再粘貼出來。

    d{motion}:和上面差不多,但是不進入插入模式;

有效的移動大段的文本

    v:按字符選擇;

    V:按行選擇;

    <C-V>:按塊選擇;

在可視選擇模式下剪切和拷貝

    d:剪貼選擇的內容到剪貼板;

    y:拷貝選擇的內容到剪貼板;

    c:剪貼選擇的內容到剪貼板并且進入插入模式;

    d{motion}:剪切 motion 命令跨過的字符到剪貼板;

    y{motion}:和上面類似,不過是拷貝;

    c{motion}:和 d{motion} 類似,不過最后進入插入模式;

    dd:剪切當前行;

    yy:拷貝當前行;

    cc:剪切當前行并且進入插入模式;

    D:剪切從光標位置到行尾到剪貼板;

    Y:拷貝當前行;

    C:和 D 類似,最后進入插入模式;

    x:剪切當前字符到剪貼板;

    s:和x類似,不過最后進入插入模式;

    p:粘貼;

vim的配置

    設置縮進::set smartindent // 設置縮進; :set smartindent shiftwidth=4 // C語言自動縮進,縮進值為4個字符寬度;

    顯示光標行列信息::set ruler // 顯示光標信息(右下角);

    查看制表符::set list // 顯示制表符,以^符號顯示制表符的位置;

    查看行數信息::set number //顯示行號(左邊);

    關鍵字高亮::syntax on //關鍵字高亮;

     多文件編輯:: split two.c // 多文件編輯;

練習題

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

# cp /etc/rc.d/init.d/functions /tmp/
# vim /tmp/functions
:s@^[[:space:]]\+@#@g

2.復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;

# cp /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文件中前三行的行首加#號;

# vim /tmp/grub.conf
:1,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@=0@=1@g

6.每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名為形如etc-201504020202;

0 */4 * * * /usr/bin/cp -rf /etc /backup/etc-$(date +%Y%m%d) &> /dev/null

7.每周2,4,6備份/var/log/messages文件至/backup/messages_logs/目錄中,保存的文件名形如messages-20150402;

0 0 * * 2,4,6 /usr/bin/cp /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d)

8.每天每兩小時取當前系統/proc/meminfo文件中的所有以S開頭的信息至/stats/memory.txt文件中;

0 */2 * * * /usr/bin/grep '^S' >> /stats/memory.txt

9.工作日的工作時間內,每兩小時執行一次echo "howdy";

0 */2 * * 1-5 /usr/bin/echo "howdy"

10.創建目錄/tmp/testdir-當前日期時間;

# mkdir /tmp/testdir-`date +%F`

11.在此目錄創建100個空文件:file1-file100;

#!/bin/bash
#
for i in {1..100};do
	touch file$i
done

12.顯示/etc/passwd文件中位于第偶數行的用戶的用戶名;

# sed -n 'n;p' /etc/passwd | cut -d: -f1

13.創建10用戶user10-user19;密碼同用戶名;

#!/bin/bash
#
for i in {10..19};do
    useradd user$i
    echo "user$i" | passwd --stide user$i &> /dev/null
done

14.在/tmp/創建10個空文件file10-file19;

#!/bin/bash
#
for i in {10..19};do
    touch /tmp/file$i
done

15.把file10的屬主和屬組改為user10,依次類推。

#!/bin/bash
#
for i in {10..19};do
    chown user$i.user$i /tmp/file$i
done

原創文章,作者:N22-無錫-沉默,如若轉載,請注明出處:http://www.www58058.com/52391

(0)
N22-無錫-沉默N22-無錫-沉默
上一篇 2016-10-24
下一篇 2016-10-24

相關推薦

  • linux 磁盤管理與文件掛載

        磁盤對于linux來說是至關重要的而且與它 的中心思想相關聯,一切皆文件,因此就把磁盤分為了好多類型, 如:塊設備,字符設備。對于每類磁盤的使用,我們對它進行了分區與規劃,這就用到我們的分區與查看工具 fdisk,理論上磁盤容量足夠時,可以建立任意數量的分區。  一.磁盤的管理與工具 1.  fdisk 強大的…

    2017-06-17
  • Linux基礎之權限管理(含SUID\SGID\STICKY和ACL)

    概述     Linux系統是一個多人多任務的操作系統,系統上同時可能有很多人登錄,每個人都會利用系統上的各類資源完成一定的操作。那么如何合理的規范這些用戶的行為,保證資源的合理分配,則就需要用到權限管理的相關內容了。權限管理是Linux系統上最基礎,也是最重要的一部分內容,本章就簡要說明下權限管理的相關內容。內容主要…

    Linux干貨 2016-08-04
  • 【職位推薦】華圖網校/北京/運維工程師/8-12k(14薪)

    北京華圖宏陽網絡科技有限公司 華圖教育集團:       華圖教育(www.huatu.com)是華圖宏陽股份旗下品牌,擁有遍布全國的100余家分支機構。主要產品包括中央和地方公務員招錄考試輔導,事業單位、三支一扶、村官、選調生、招警等考試輔導。      北京華圖宏陽教育文化發展股份有限…

    Linux干貨 2016-04-20
  • 源碼包編譯安裝

    程序包編譯安裝:      Application-VERSION-release.src.rpm–> 安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝      源代碼 –> 預處理 –> 編譯 &#8…

    Linux干貨 2016-08-23
  • linux三劍客之awk

    awk             簡介:是一個優良的文本處理工具,Linux及Unix環境中現有的功能最強大的數據處理引擎之一。這種編程及數據操作語言的最大功能         &n…

    Linux干貨 2016-12-05
  • 內置數據結構,列表及其方法

    List:列表有若干個元素,元素可以是任意對象,元素有順序,可以使用索引和迭代,使用線性結構,使用[ ]進行描述,在內存中的空間是連續的,每個元素在內存中的空間是一樣的………列表是可變的,列表不能一開始就定義大小,列表索引不可以超界   列表索引l.index(),從左向右搜索,發現第一個匹配的,自動返回搜索的值的索引;匹配不到,拋出異常Value…

    Linux干貨 2018-03-25

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-02 14:44

    博客寫得非常的好,32個贊,給出了詳細操作步驟,9題還差一個工作時間哦,加油!

欧美性久久久久