[CentOS] - OT - VIM - recording
Charles E Campbell Jr
charles.e.campbell at nasa.govWed Jul 15 16:01:07 UTC 2009
- Previous message: [CentOS] - OT - VIM - recording
- Next message: [CentOS] - OT - VIM - recording
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Ed Donahue wrote: > Is it possible in vim to do the following: > > Search for this block of data: > > # Catalog Service 2.0 for uat03 > <LocationMatch "^/Services/?"> > PathPrepend /inquiryservices > Cluster 172.21.1.1:999 > </LocationMatch> > > And change Cluster 172.21.1.1:9999 to Cluster 172.21.1.2:7000 > > It needs to have uat03 (or 02, 01) on the line and this line > 'PathPrepend /inquiryservices' for the Cluster to be changed. > Yes. Embed following into a file, have cursor above any blocks you want changed, and source this: let uat= search('^\s*#\s*Catalog.*uat0[123]$','W') if uat if getline(uat+1) =~ '<LocationMatch\>' let hasprepend = search('^\s*PathPrepend /inquiryservices','Wn') let lmend = search('^\s*</LocationMatch\>','W') if lmend && hasprepend exe uat+1 "," lmend-1 "s/Cluster 172.21.1.1:9999/Cluster 172.21.1.2:7000/e" endif endif endif That's a one shot change. You could wrap this into a function or map and call it as often as wished. I suggest asking vim questions on the vim mailing list, BTW. See http://vim.sourceforge.net/community.php . You might get a better answer than mine there, too. Regards, Chip Campbell -- someday I'll have a good signature, I'm sure of it...
- Previous message: [CentOS] - OT - VIM - recording
- Next message: [CentOS] - OT - VIM - recording
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the CentOS mailing list