Spark修鍊之道(基礎篇)——Linux大資料開發基礎:第六節:vi、vim編輯器(二)(轉載)

來源:互聯網
上載者:User

標籤:keyword   中間   regexp   字元   資訊   輸入   載入   唯讀   預設   

轉自雲棲社區:https://yq.aliyun.com/articles/60354?spm=5176.8251999.569296.36.siyXRn 周志湖 2015-08-25 21:23:00 瀏覽305 評論0

摘要: 本節主要內容 緩衝區的使用 檔案的存檔與讀盤 文本尋找 文本替換 周志湖 號:zhouzhihubeyond 網名:搖擺少年夢 1. 緩衝區的使用 在利用vim進行文本編輯時,編輯修改後的文本不會立即儲存到硬碟上,而是儲存在緩衝區中,如果沒有把緩衝區裡的檔案存檔,原始檔案不會被更改。vim在開啟檔案時將常值內容讀到緩衝區中,在進行文本編輯時,修

本節主要內容
  1. 緩衝區的使用
  2. 檔案的存檔與讀盤
  3. 文本尋找
  4. 文本替換

周志湖 
號:zhouzhihubeyond 
網名:搖擺少年夢

1. 緩衝區的使用

在利用vim進行文本編輯時,編輯修改後的文本不會立即儲存到硬碟上,而是儲存在緩衝區中,如果沒有把緩衝區裡的檔案存檔,原始檔案不會被更改。vim在開啟檔案時將常值內容讀到緩衝區中,在進行文本編輯時,修改的文本儲存在緩衝區,此時硬碟上的原檔案不變。下面讓我們來示範一下緩衝區的使用。 
假設採用vim 同時開啟兩個文字檔:

[email protected]:/home/xtwy# vim test2.txt test1.txt//開啟檔案後,預設開啟的是test2.txt//此時我們使用:buffers命令可以看查緩衝區//得到如下結果:buffers  1 %a   "test2.txt"                    line 1  2      "test1.txt"                    line 0

:buffers命令給出的是當前編輯中所有的緩衝區狀態,前面的數字是緩衝區的數字標記,第二個標記就是緩衝區當前的狀態,緊接著是與緩衝區所關聯的檔案名稱。緩衝區的狀態有以下幾種:- (非活動的緩衝區)a (啟用緩衝區)h (隱藏的緩衝區)% (當前的緩衝區)# (交換緩衝區)= (唯讀緩衝區)+ (已經更改的緩衝區)

在命令模式輸入:open test1.txt進入test1.txt編輯介面,然後再輸入:buffers查看緩衝區狀態,得到如下結果

:buffers  1 #    "test2.txt"                    line 1  2 %a   "test1.txt"                    line 1

可以看到此時test1.txt載入為活動緩衝區,而test2.txt則被載入到交換緩衝區。此時利用:bprevious命令可以切換test2.txt為活動緩衝區,


執行後得到: 

可以看到,此時已經切換回到text2.txt,即將text2.txt載入到當前活動緩衝區當中,採用:buffers命令得到如下結果: 

更多緩衝區操作命令如下:

:buffers    電焊工緩衝區狀態:buffer 編輯指定緩衝區:ball   編輯所有緩衝區:bnext  到下一緩衝區:bprevious  到前一緩衝區:blast  到最後一個緩衝區:bfirst 到第一個緩衝區:badd   增加緩衝區:bdelete    刪除緩衝區:bunload    卸載緩衝區
2. 檔案的存檔與讀盤(一)儲存並退出

在編輯模式中,如果文本編輯任務已經完成,想直接儲存退出,返回到Linux CLI命令列的話,直接按ZZ即可。

(二)讀取檔案內容到緩衝區

在編輯模式中,採用:r命令讀取檔案內容到當前緩衝區, 

:r test1.txt可以test1.txt檔案內容寫到緩衝區 

(三)將緩衝區內容寫到檔案

在編輯模式中,採用:w命令將修改後的檔案寫到磁碟,也可以使用:wq命令將修改的檔案寫到磁碟上後退出vim返回inux CLI,如果不想儲存直接退出,則使用:q!命令直接退出vim,返回到CLI命令列。

3. 文本尋找(1)一般搜尋

使用?或/進行字串尋找,例如: 

斷行符號之後,游標將定位到下一個Spark上,如果還想往下搜尋,則按n(next),如果想往上搜尋,則按N

(2)Regex搜尋

Regex搜尋是指加入了像”^,$,.”等特殊匹配字元,它們的作用如下表:

搜尋字串 搜尋描述 舉例
:/^Spark 搜尋以Spark為開頭的行 Spark is ….
:/YARN$ 搜尋以YARN為結尾的行 …Hadoop YARN
:/Ha…p 搜尋Ha開頭,中間有三個字元且以p結尾的字串 Hadoop、Hadaap
:/e> 尋找以e結尾的字串,其中>符號是字串結束指示符號,這裡\不是逸出字元,而是與>組合到一起,來表示特殊意義 like、source
:/\<Had 尋找以Had作為開始的字串,\< 同樣具有特殊意義 Hadoop、Hadoo
:/Spa* 查看字串中出現至少一次Spar的字串,\< 同樣具有特殊意義 Spark、SpaSpark
:/Sp[ae]rk 匹配Spark或Sperk Spark、Sperk
4. 文本替換

文本替換使用以下文法格式:

:[g][address]s/search-string/replace-string[/option]

其中address用於指定替換範圍,下表給出的是常用樣本:

//將當前緩衝區的第一行中的Downloading替換為Download: 1 s/Downloading/Download//將當前緩衝區中的第一行到第五行中的Spark替換為spark:1,5 s/Spark/spark//將當前緩衝區中的第一行到當前游標所在行的Spark替換為spark:1,. s/Spark/spark//將當前游標所在行到緩衝區最後一行的Spark替換為spark:.,$ s/Spark/spark//將整個緩衝區中的Spark替換為spark:% s/Spark/spark//當前行中第一次搜尋到的Spark替換為spark: s/Spark/spark//將當前行中所有的Spark替換為spark:s/Spark/spark/g  //將所有的and轉換成And,不包括theta這種字串,只會作用於the這種單獨存在的字串:% s/\<the\>/The/g  

添加公眾號,可以瞭解更多最新Spark、Scala相關技術資訊 

Spark修鍊之道(基礎篇)——Linux大資料開發基礎:第六節:vi、vim編輯器(二)(轉載)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.