vimscript - vim delete or replace entire section
ringa_lee
ringa_lee 2017-05-16 16:41:00
0
5
780

There is a text like this

As of initscripts-2012.07.5, the default format of /etc/rc.conf and
/etc/crypttab have changed. See their respective man pages for 
more details.

--BEGIN--
The purpose of this change is to unify the configuration of systemd
and initscripts. This will allow us to share code and documentation, 
and should make maintenance of initscripts simpler in the long-run.
--END--

The old format is still supported, so old config files should still
work unchanged.

Hopefully --BEGIN-- Delete all the lines between --END--. Is there any direct method for vim?

Another additional question is how to add a piece of content when there is already a
--BEGIN-- mark.

The above all hope to process text files in a scripted manner.


Just an example, the number of lines between --BEGIN--,--END-- is uncertain
Marking this manually is a bit laborious. The actual file is not small and has a similar structure
More.

ringa_lee
ringa_lee

ringa_lee

reply all(5)
左手右手慢动作

:g/--BEGIN--/,/--END--/d
If you want to delete the blank lines before and after at the same time
:g/--BEGIN--/-1,/--END--/+1d

刘奇

vim can do it,

In command mode:

%s/--BEGIN--\_.*--END--//g

The _ is the key, this can match multiple lines.
There is already a way to replace the --BEGIN-- logo. This can also be done using the above replacement idea
:%s/^--BEGIN--/&Content to be replaced/g

Ty80

Move the cursor to the beginning
Esc v to enter view mode
j Scroll down to select the operation part
d Delete x Cut Both are OK

phpcn_u1582

Since you want to script it, just use sed:

sed -i '/--BEGIN--/,/--END--/d' files_to_modify
淡淡烟草味

ndd, n is the number of rows to be deleted.

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!