读书人

大伙儿VIM(一久新的器

发布时间: 2012-08-02 11:35:25 作者: rapoo

大家VIM(一久新的器)[五]

找、替

?

搜、替的功能乎是每器必的功能,那在 vi(m) 中有有特殊的地方呢?然有,您忘了,vi(m) 是性十足的器。最特殊的地方是和表示式(regular expression, regexp)合在一起。的她是一 pattern 的表示法,在行作,如找或替,就依 pattern 去找,所有符合 pattern 的地方就行您所下的作。在元不 regexp,另立一元探,以免搞得昏。目前就不使用 regexp,您要找什就直接入什就了。




/  在 c-mode 的情形下,按 / 就在左下角出一 /,然後   入您要找的字串,按 Enter 就始找。?  和 / 相同,只是 / 是向前(下)找,? 是向後(上)找。n  找。N  找(反向)。



更方便的找操作(vim 才有)


*  找游所在之 word(要完全符合)。#  同上,但 * 是向前(下)找,# 是向後(上)找。g* 同 * ,但部份符合即可。g# 同 # ,但部份符合即可。
n, N 之找仍用。


?

替(substitute)

:[range]s/pattern/string/[c,e,g,i]range  指的是,1,7 指第一行至第七行,1,$ 指第一行       至最後一行,也就是整篇文章,也可以 % 代表。
得? % 是目前的文章,# 是前一次的文章。
pattern  就是要被替掉的字串,可以用 regexp 表示。string    pattern 由 string 所取代。c  confirm,每次替前。e  不示 error。g  globe,不,整行替。i  ignore 不分大小。
g 大概都是要加的,否只替每一行的第一符合字串。可以合起用,如 cgi,表示不分大小,整行替,替前要是否替。 [例] :%s/Edwin/Edward/g
    整篇文章的 Edwin 就替成 Edward。

更的找、替的例子在明 regexp 的候再述。目前只知道最基本的用法就可以了!其光就非常好用了。:-)


?

功能

又是 vi(m) 的一秘密武器,的,您可以在文章中的某做(marks),然後跑到其它地方去,在呼叫 mark 又回到原。妙吧!

mx  x 代表 26 小英文字母,游所在就被 mark。`x  回到原定位置。
` 是 backward quote,就是 Tab 上面那一。
'x  回到定行行首。
' 是 forward quote,是 Enter 隔壁那一。


?

VIM於的充功能

小字母  只作用於一案。大字母  可作用於中之各案。目字    可作用於前次的十案。
目字的用法比特殊,'0 是回到前一次案中前的最後位置,'1 是回到前二次案的最後位置,依此推。您不必使用 m 示,vim 自。很玄吧!其是 viminfo 的功能,您要真追究的, :h viminfo-file-marks。viminfo 掉,就功能了! 所前次指的是前次的 vim。
:marks  得知目前所有的列表。

读书人网 >开源软件

热点推荐