摘要:原文地址實戰指南五文本替換在編輯代碼時,有時候你希望對變量或者函數重命名。提供了強大的替換功能,比其他普通編輯器的更好用。事實上你打不用如此麻煩,只需下面簡單的替換即可本文列出了常用的文本編輯中全局替換的方法。
原文地址:Vim實戰指南(五):文本替換
Introduction在編輯代碼時,有時候你希望對變量或者函數重命名。vi提供了強大的替換功能,比其他普通編輯器的ctrl+r更好用。
替換vi的替換基于ex命令:
正則表達式:s/old/new/g:將當前行所有的old替換成new,s是substitute,g是global
:1,10s/old/new/g:將第1到第10行所有的old替換成new
:%s/old/new/g:將當前文件所有行的old替換成new,%是第一行的意思
:%s/old/new/gc:同上,但是替換前需要確認,c是confirm
:g/pattern/s/old/new/g:將符合pattern的行內的所有old替換成new,第一個g是指匹配pattern的所有行,第二個g是指行內所有的匹配old的字符串
下面列出正則表達式中使用的metacharacters:
.:匹配除了換行符之外的任何符號(包含空格),如a.a匹配aaa和aba
:重復前面(零次或多次)匹配符,如a匹配a和aa
^:當出現在表達式前面時,表示頭部匹配,如^.匹配行首第一個字符
$:當出現在表達式尾部時,表示尾部匹配,如.$匹配行尾第一個字符
:轉移符,如*表示匹配*,而不是重復前面的匹配符
[]:匹配中括號中任何一個匹配符,如[ab]表示匹配a或者b
():將括號中的模式保存
<>:匹配以<符號后開始和>符號前結束的單詞
正則表達式可以結合上面的pattern使用,這里不再贅述。
技巧在程序編寫中,你覺得pan有歧義,你希望把所有的pan替換成panic:
:%s/pan/panic/g
稍后你發現,所有的panic被替換成了panicic,這不是我們想要的。你注意到pan后面都有一個符號,因此你使用:
:%s/pan[ ,.:;]/panic[ ,.:;]/g
接著你發現,這種匹配仍然有漏網之魚,如pan=1,仍然需要匹配=號。
事實上你打不用如此麻煩,只需下面簡單的替換即可:
:%s/Summary/panic/g
本文列出了常用的文本編輯中全局替換的方法。由于正則表達式從來都不是一個簡單的話題,本文只是簡單的介紹了如何在替換中使用正則表達式,事實上vi支持所有的正則表達式功能,可以完成任何你能想到的替換!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24864.html
摘要:原文地址實戰指南一基礎編輯命令和作為兩大神級文本編輯器各有利弊,本實戰指南不加討論的介紹本實戰指南不是教你按照的鍵位圖來編輯文本,而是從實戰的角度,教你如何快速的用來開發你的程序,節省你的開發時間。 原文地址:Vim實戰指南(一):基礎編輯命令 Introduction Vim和Emacs作為兩大神級文本編輯器各有利弊,本實戰指南不加討論的介紹Vim.本實戰指南不是教你按照Vim的鍵位...
摘要:原文地址實戰指南四命令是下的一個文本編輯器。你已經見過中的,沒錯,這些就是來自于命令。當你希望顯示某行,輸入命令,顯示器上才會顯示那行。而控制這個顯示器顯示文本的命令行工具,就是。 原文地址:Vim實戰指南(四):ex命令 Introduction ex是Unix下的一個文本編輯器。至于為什么突然講到這個,那是因為vi就是ex的visual mode。你已經見過vi中的:w, :q!,...
摘要:原文地址實戰指南三高級技巧當入門后,在你日常使用中,會遇到下面幾個問題我編輯好的文本,怎么無法保存是不是要重新來一次我誤操作,怎么回退撤銷只能退出重新打開嗎我能同時復制多個不連續的行嗎一行一行復制粘貼太慢了。 原文地址:Vim實戰指南(三):高級技巧 Introduction 當vi入門后,在你日常使用中,會遇到下面幾個問題: 我編輯好的文本,怎么無法保存?是不是要重新來一次? 我誤...
摘要:原文地址實戰指南二光標移動技巧提升的打字效率的一個技巧就是快速移動光標。或許你覺得這不值一提,用或者上下左右也能移動,不過相信我,我下面要介紹的移動光標技巧絕對物超所值。 原文地址:Vim實戰指南(二):光標移動技巧 Introduction 提升Vim/vi的打字效率的一個技巧就是快速移動光標。或許你覺得這不值一提,用hjkl或者上下左右也能移動,不過相信我,我下面要介紹的移動光標技...
摘要:貢獻者飛龍版本最近總是有人問我,把這些資料看完一遍要用多長時間,如果你一本書一本書看的話,的確要用很長時間。為了方便大家,我就把每本書的章節拆開,再按照知識點合并,手動整理了這個知識樹。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 貢獻者:飛龍版...
閱讀 1358·2021-09-24 10:26
閱讀 3671·2021-09-06 15:02
閱讀 626·2019-08-30 14:18
閱讀 584·2019-08-30 12:44
閱讀 3125·2019-08-30 10:48
閱讀 1949·2019-08-29 13:09
閱讀 2002·2019-08-29 11:30
閱讀 2288·2019-08-26 13:36