最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux常用工具vi/vim的使用完整版

 更新時間:2019年09月09日 10:14:11   作者:sanri1993  
這篇文章主要給大家介紹了關(guān)于linux常用工具vi/vim使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

為什么要學(xué) vim

linux 有大量的配置文件,所以 linux 的文本處理工具也是比較多的,常用的有
less vi head tail cat grep sed awk .... 。其中編輯一些配置文件,及查看日志時,常用的工具就是 vim 和 less ,而且它兩的快捷鍵又很相似,所以學(xué)會 vim 的使用還是挺必要的。

預(yù)期讀者

運維,開發(fā)、及想對 linux 進階的人。學(xué) bash 的話, 會 vim 還是方便點,不可能每次都要跑到 windows 上去編輯吧

開始學(xué)習(xí)

vi 的三種模式及切換

  • 一般模式
  • 編輯模式
  • 指令列模式
graph LR
A[一般模式] -- I/O/A/R--> B[編輯模式]
A -- 冒號/問號/正斜杠 --> C[指令列模式]
C -- ESC --> A
B -- ESC --> A

從一般模式切換到編輯模式各命令區(qū)別

  • i 在當(dāng)前光標(biāo)處插入
  • o 另起一行插入
  • a 后面一個字符插入
  • r 替換輸入。這個在改單個字符很有用,因為它只替換一個字符又變回一般模式了

常用按鍵及功能

下面的指令是區(qū)分大小寫的

移動游標(biāo)的方法 (一般模式)

  • ↑→↓← 上右下左移動,5↓ 向下移動 5 行
  • ctrl + f 向下翻頁,翻半頁命令為 ctrl + d
  • ctrl + b 向上翻頁,翻半頁命令為 ctrl + u
  • 0 移動到一行的開頭,移到到一行的結(jié)尾為 $
  • gg 到開頭,G 移動到結(jié)尾 ,3G 移動到第 3 行
  • <enter> 游標(biāo)向下移動一行,3<enter> 游標(biāo)向下移動 3 行

刪除,復(fù)制,粘貼 (一般模式)

  • x 向后刪除一個字符,X 向前刪除一個字符,3x 向后刪除 3 個字符
  • dd 刪除一行,3dd 刪除3 行
  • d$ 從當(dāng)前光標(biāo)位置刪除到結(jié)尾 ,dG 從當(dāng)前位置到最后一行全部刪除
  • yy 復(fù)制當(dāng)前行 ,3yy 復(fù)制 3 行
  • p 在下一行粘貼復(fù)制的東西,P 在上一行粘貼
  • u 撤回操作
  • . 重復(fù)上一次操作

查找與替換(一般模式)

  • /word 向下查找字符,?word 向上查找字符
  • n 重復(fù)前一個搜索的動作,按下 n 后,會繼續(xù)找下一個匹配的字符
  • 1,5s/sanri/9420/g 搜索第 1 行到第 5 行的 sanri 字符串,替換成 9420
  • 1,$s/sanri/9420/g 搜索第 1 行到最后一行的 sanri 字符串,替換成 9420

選擇文本 (一般模式)

  • v 然后使用方向鍵,相當(dāng)于在 windows 按住鼠標(biāo)拖動
  • V 光標(biāo)經(jīng)過的行會選擇
  • ctrl +v 選擇列模式
  • y 選擇的文本復(fù)制
  • d 選擇的文本刪除

總結(jié)一下

從上面的命令來看在vi 中,一些字母都是有著特別的含義的,比如

$ 代表行結(jié)尾,0 代表行開頭,G 代表最后一行,y 代表復(fù)制,d 代表刪除行,x 代表刪除字符、

數(shù)字一般表示重復(fù)做幾次的意思,大小寫代表的含義一般剛好相反、

翻頁的快捷鍵剛好是英文的縮寫

ctrl + f front page
ctrl + b back page
ctrl + d down page
ctrl + u up page

保存文件另存為(命令模式)

  • :w 保存文件,:w! 強制寫文件(需要權(quán)限)
  • :q 退出,:q! 退出不保存
  • :wq 保存并退出,:wq! 強制保存并退出(需要權(quán)限)
  • :1,5 w [filename] 將第一行到第 5 行的數(shù)據(jù)寫入新的文件
  • :! command 執(zhí)行命令,在編輯文件的時候可以查看一些信息而不需要退出文件
  • :set nu 顯示行號,:set nonu 不顯示行號

練習(xí)一下

wget 'http://linux.vbird.org/linux_basic/0310vi/man.config'
  1. 使用 vi 開啟目錄下的 man.config 這個檔案;
  2. 在 vi 中設(shè)定一下行號;
  3. 移動到第 58 行,向右移動 40 個字元,請問你看到的雙引號內(nèi)是什么目錄?
  4. 移動到第一行,并且向下搜尋一下‘ bzip2 '這個字串,請問他在第幾行?
  5. 接著下來,我要將 50 到 100 行之間的‘小寫 man 字串'改為‘大寫 MAN 字串',并且一個一個挑選是否需要修改,如何下達指令?如果在挑選過程中一直按‘y', 結(jié)果會在最后一行出現(xiàn)改變了幾個 man 呢?
  6. 修改完之后,突然反悔了,要全部復(fù)原,有哪些方法?

7.我要復(fù)制 65 到 73 這九行的內(nèi)容(含有MANPATH_MAP),并且貼到最后一行之后;

  • 21 到 42 行之間的開頭為 # 符號的注解資料我不要了,要如何刪除?
  • 將這個檔案另存成一個 man.test.config 的檔名;
  • 去到第 27 行,并且刪除 15 個字元,結(jié)果出現(xiàn)的第一個單字是什么?
  • 在第一行新增一行,該行內(nèi)容輸入‘I am a student...';
  • 儲存后離開吧!

答案如下:

 vi man.config
 :set nu
 58G 40→ /dir/bin/foo
 gg /bzip2 118 行
 50,100s/man/MAN/gc 25 處修改,有 23 行有變動 
 u ,或者不保存退出 :q!
 定位到 65 行 65G ,復(fù)制 9 行 9yy ,定位最后一行 G ,粘貼 p 
 :21,42s/^#//g //里面是可以使用正則的
 :w man.test.config
 27G 15x you
 定位到第一行 gg ,i <enter> 然后輸入內(nèi)容
 :wq 

多文件編輯

vi 后面可以接多個文件,像這樣

vi man.config test.txt

n 編輯下一個文件

N 編輯上一個文件

files 顯示當(dāng)前正在編輯的所有文件

多視窗編輯

可以支持在同一個窗口打開多個文件,使用 :sp [filename] 命令,像這樣

:sp /etc/hosts

每一個窗口都有自己單獨的模式和命令

[ctrl]+w+↓ 切換到下一個窗口

[ctrl]+w+↑ 切換到上一個窗口

編輯 vim 的配置文件 ~/.vimrc (簡單配置)

每行一個配置 " 是注釋

可以使用命令 :set all 查看所有配置項,常用的配置項如下:

set nu 設(shè)置行號

set ts=4 設(shè)置按下一 tab 時,縮進 4 個空格的位置

set tabstop=4 設(shè)置顯示的時候,一個 tab 占 4 個空格的寬度

set autoindent 自動縮進,這對于寫代碼很有用

上面的命令已經(jīng)設(shè)置好了展示,退格和按下 tab 都是用以制表符為單位。如果需要使用空格來表示制表符則需要加以下幾個配置

set expandtab 使用空格來表示縮進,而不是制表符

set softtabstop=4 退格的時候,如果遇到四個連續(xù)的空格,一次性刪除,而不是一個一個的刪

``

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • linux Centos7斷網(wǎng)下安裝應(yīng)用程序詳解

    linux Centos7斷網(wǎng)下安裝應(yīng)用程序詳解

    在本篇文章里小編給大家整理的是關(guān)于linux最新版本Centos7,斷網(wǎng)情況下安裝應(yīng)用程序相關(guān)步驟,需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • xampp Apache啟動后無法訪問站點解決方法匯總

    xampp Apache啟動后無法訪問站點解決方法匯總

    本文給大家總結(jié)了3種xampp Apache啟動后無法訪問站點解決方法,均能夠解決此問題,有需要的小伙伴可以參考下
    2015-03-03
  • Linux線程退出方式總結(jié)(推薦)

    Linux線程退出方式總結(jié)(推薦)

    下面小編就為大家?guī)硪黄狶inux線程退出方式總結(jié)(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 在linux系統(tǒng)下部署selenium爬蟲程序介紹

    在linux系統(tǒng)下部署selenium爬蟲程序介紹

    大家好,本篇文章主要講的是在linux系統(tǒng)下部署selenium爬蟲程序介紹,感興趣的同學(xué)速來圍觀哦,記得收藏本篇文章方便下次瀏覽
    2021-11-11
  • linux c下log輸出代碼模板示例代碼

    linux c下log輸出代碼模板示例代碼

    這篇文章主要給大家介紹了關(guān)于在linux c下log輸出代碼模板的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 使用userdel命令刪除Linux用戶的教程詳解

    使用userdel命令刪除Linux用戶的教程詳解

    這篇文章主要介紹了使用userdel命令刪除Linux用戶的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • Linux下Kafka單機安裝配置方法(圖文)

    Linux下Kafka單機安裝配置方法(圖文)

    Kafka是一個分布式的、可分區(qū)的、可復(fù)制的消息系統(tǒng)。它提供了普通消息系統(tǒng)的功能,但具有自己獨特的設(shè)計。這個獨特的設(shè)計是什么樣的呢
    2015-12-12
  • linux掛載以及初始化硬盤方式

    linux掛載以及初始化硬盤方式

    這篇文章主要介紹了linux掛載以及初始化硬盤方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Linux使用logrotate來切割日志文件

    Linux使用logrotate來切割日志文件

    本篇文章主要介紹了Linux使用logrotate來切割日志文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Canonical通過Flutter啟用Linux桌面應(yīng)用程序(推薦)

    Canonical通過Flutter啟用Linux桌面應(yīng)用程序(推薦)

    這篇文章主要介紹了Canonical通過Flutter啟用Linux桌面應(yīng)用程序,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07

最新評論

工布江达县| 牟定县| 通海县| 垣曲县| 临夏县| 浦北县| 保定市| 阿勒泰市| 黔西| 南安市| 巴楚县| 永和县| 冀州市| 克什克腾旗| 洛宁县| 蕉岭县| 庆阳市| 朝阳县| 文水县| 若羌县| 汨罗市| 乡宁县| 六枝特区| 司法| 夏河县| 扬州市| 两当县| 临澧县| 疏附县| 宜阳县| 尼勒克县| 潜江市| 阳高县| 盐山县| 郁南县| 建始县| 霸州市| 隆昌县| 苍山县| 张掖市| 巫山县|