vim一行內交換單詞的次序以及文本資料的列交換

來源:互聯網
上載者:User

標籤:vim

需求描述

1.假設將英文中所有中文名字為“Fan JianQiang”改成“QiangJian Fan”

2.將所有“change world,change mind!”替換成“change mind, change world!”

3.將下面樣本資料的age列和ID列對換

name age ID  slary
a 20  1   10
b 19  2   10
c 21  3   10
d 21  5   10
e 22  4   10
f 23  6   10
g 23  7   10
h 17  8   10
j 24  10  10
k 26  9   10

命令實現

針對1、2需求最直接的方法就是整體文本替換;針對需求3,可以使用塊選擇,然後剪下,粘貼!不過不是本博文要闡述的內容。下面介紹另外一種實現方式:

需求1命令

:%s/\ (Fan\ ) \ (Jian\ )\ (Qiang\ )/\3\2 \1/

需求2命令

:%s/\ (world\ ), change \ (mind\ )/\2, change \1/

需求3命令

:%s/\ ([1-9][0-9]\ )  \ ([1-9].\ )/\2  \1/


這就是\ (\ )的使用方式

包含在其中的pattern將會儲存起來,從左至右依次編號,一行當中最多儲存9個。訪問它們通過編號訪問!比如上面的需求2,world存到編號1,mind存到編號2;因此\2, change \1就把world和mind調換為mind, change world,然後替換!需求1和需求3同理!

說明:由於\ 和(結合成了網頁斜字型的轉義。而不能顯示,這裡每個 \ 和 ( 中間都加了空格,注意空格不是命令的一部分

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.