Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [substitute]

Any operation involving regular expression based substitution of text, such as the ex-mode `:s` command. Not to be confused with [tag:replace].

2
votes
1answer
32 views

Batch change name from ABC - DEF.pdf to DEF - ABC.pdf

I want to batch change 50+ files in a folder in Windows10. the original name style: 'how to install the software - softwareA user manual p1.pdf', the new file name will be 'softwareA user manual p1 - ...
1
vote
2answers
43 views

iedit behaviour in Vim?

For Emacs there is idedit. It Allows you to select some text, then hit one button, which automatically select all other occurrences of the selected text in the current buffer. Then you can edit the ...
1
vote
1answer
100 views

Copy first letter of each word in a line

I would like to copy the first letters of paper titles in a bib file and set that as entry name. Example: @article{Cqmdoprbcc, title={Can quantum-mechanical description of physical reality be ...
0
votes
1answer
27 views

Quick find and replace a fixed placeholder

I have a config file that have placeholder PKG, in workflow, I need to replace this PKG with a string but typing :%s/blah/blah/g cost time. I need a quick map key that asks for a string to replace ...
0
votes
1answer
29 views

Vim multi-line substitute/insert once on selected text

I tried to make a function function! WrapSelect (front, back) "puts characters around the selected text. execute '''<, ''>s/\%V\(\_.*\)\%V\(\_.\)/'.a:front.'\1\2'.a:back.'/' nohl ...
0
votes
2answers
49 views

how to replace N characters without having to press <esc>, is it possible?

In command mode, r replaces the character under the cursor by the one pressed right after typing r without going into insert mode, so there's no esc to press. 5r replaces the 5 characters starting ...
0
votes
1answer
42 views

Replace a line with two other lines

I have multiple files with a string like: source /PATH/TO/OLD/ENV.sh And this needs to be replaced with: source /PATH/TO/NEW/ENV1.sh source /PATH/TO/NEW/ENV2.sh Usually, I use sed to replace ...
1
vote
1answer
50 views

Insert specific character after each instance of a character in a line

I would like to insert a specific character after each instance of another character in a line. For example, inserting a '\' after each instance of another '\' on a line. So, from this: C:folder\...
0
votes
1answer
187 views

Replace matching parentheses

Is there a way to match matching parentheses in vim regex? For example, if I have a line like this: function("test(with)parentheses"); // (comment) Command :.s/\(function\)(\(.*\))/\1[\2]/g ...
2
votes
1answer
47 views

How to match pattern with buffer-scoped variable

Goal: write code to do block commenting/uncommenting while keeping the current indentation level. This has been solved, see here for my code Current problem: use s/// to match a line that begins with ...
4
votes
1answer
178 views

When substituting with :%s/old/new/g, does g flag have any effect?

While working through vimtutor, I tried a variant on :%s/old/new/g by leaving off the g flag :%s/old/new and expected the substitution to only occur once in the whole file. After all, this mirrors ...
1
vote
2answers
41 views

Changing content within the specified [count] number of braces for each line

I need to change the content within a [count] number of braces for each line in my buffer. 1 {Lorem} ipsum dolor {amet} blah blah {change this text} more blah blah 2 Hello. The {sun} rises in {the} ...
0
votes
1answer
29 views

How do I substitute two same words (of different cases) to another two words whilst retaining their original cases?

I am sorry that my English was not good enough to clearly describe the task in the title. Here is a more descriptive attempt. Let us say I have the following text \gls{tla}{TLA} (As a side note, ...
0
votes
2answers
108 views

How do I add text before and after the visual selection?

Suppose I’ve selected some text in visual mode. How do I insert a certain piece of text at the beginning of the selection and a different piece of text at the end? (I’m only concerned with “normal” ...
0
votes
1answer
324 views

How to substitute string between two special characters?

Line pattern: abc : some-thing abc : some-thing; abc : some-thing --commment-: abc : some-thing; --commment-: Requirements: 1. Want to substitute the string between : and ;. 2. Comment is start ...
0
votes
1answer
45 views

Copy lines matching pattern, then substitute

I want to search file for pattern, duplicate every line that matches that pattern, then in perform substitution on each duplicated line. Suppose file looks like this: a 1 a 2 b 1 b 2 c 1 c 2 I want ...
0
votes
1answer
50 views

loading back-reference groups “shortcut”

I'm looking for a shortcut for loading back-reference groups using the same separator. Such a beast may not exist but it would be useful to me if it does. An example: Starting with this string :111 ...
-1
votes
1answer
66 views

Is \r operating system specific?

In the Vim documentation, it says that \r "matches < CR >", however for the result of replacement I could not find in the documentation a description of what it does. For example, imagine this: :%...
0
votes
2answers
37 views

Avoid so much escaping in substitution expression

I have a substitute expression to find words beginning with a dollar signs and capture them like this: :%s/\$\(.*\)\>//g However there are a lot of escape sequences in the regular expression (4). ...
0
votes
0answers
20 views

Rename occurrances of word? [duplicate]

The standard way in e.g. Sublime to rename some variable is to use multiple cursors. I know that in vim I can do something like :%s/foo/bar/gc to rename. However, to me it feels more appealing to do ...
2
votes
2answers
80 views

How to remove lines which have lower numbers than before, and keep only the sequential?

In order to parse certain log file and make a plot of sequential numbers, I need to filter out the lines with numbers which appearing lower than in the previous lines. For example, given the list of ...
0
votes
1answer
353 views

E488: Trailing characters error in VI with find and replace command

I am trying a simple find and replace function in VI Editor to change a profile path but the / is getting in my way and I need a simple and clever solution. I tried using: %s/profile: "/fldr0/local/...
0
votes
2answers
46 views

How do I write <8e>?

I extracted the text from a pdf which I need to edit further in vim. It contains quite a few diacritical combinations, some of them apparently got converted to control characters by pdftotext. It ...
1
vote
1answer
252 views

Finding all semicolons not preceded by backslash

I'm really struggling to figure out how to find all occurrences of a semicolon not preceded by a backslash. I'm hoping to find a quick vim command to clean up long bash commands that I've opened with ...
1
vote
0answers
45 views

parameter substitution template plugin

I would like to find a plugin, what can do the following in normal mode of vim: Parameter initialization Parameter substitution into text based on templates Suppose we have many sql query where ...
0
votes
3answers
63 views

Edit record register with multiple subtitution

I recorded a register and it work normally. I mistakenly overrode that register, fortunately I already saved the pattern. It's as below: V}y}pV}:s/_a\(\>\|_\)/_b\1/g^MpV}:s/_a\(\>\|_\)/_c\1/g^...
5
votes
1answer
134 views

Can vim perform all substitutions simultaneously?

The root of my question is about a difference between the way Vim processes multiple substitutions and they way other editors (Sublime, for example) do it. I have this file: thing1 thing2 thing3 ...
0
votes
1answer
44 views

Special search and replace

How can I search and replace array[j] by array in the whole script? I tried :%s/array[j]/array/ but that does not work. Thanks!
0
votes
1answer
32 views

What is the syntax if I want to replace one directory with another in vim given that I have '/' in it?

If I have this directory: /home/abc/def/apples/ and I want to replace it with this directory: /home/nfl/nfl/nba/ in vim, what is the syntax? I tried using %s/a/b/g but this command fails.
0
votes
1answer
78 views

Vim - find an occurence of a pattern one by one and and edit it at once

I would like to be able to find an occurence of a pattern, highlight it, go to the next occurence of the pattern, highlight it, go to the next one, and so on and so forth, and on the end delete all ...
0
votes
0answers
16 views

Replace a word in selected lines, with caps support? [duplicate]

Lately I realized I am always doing replace operations on lines of code that look alike, but have a different word on them. An example of this is the following line in godot: onready var missile = ...
0
votes
0answers
36 views

Nicer mechanism for text body substitions

Frequently I need to do larger substitutions. An example would be changing an entire class for function. To do so I have to construct a large string with newlines to make the substitution. This can be ...
1
vote
1answer
64 views

Search query to match multiple instances on a line, only between certain delimiters?

I do a lot of programming in Ruby, and a common edit suggested by Rubocop (a linter) is to reformat an array of symbols [:foo, :bar, :baz] as a percent string: %i[foo bar baz] I'm looking for a ...
0
votes
0answers
54 views

Why did I have to repeat the substitution command several times to replace all instances of tab?

I was cleaning up a file I cloned from github that had several instances of tabs that I wanted to replace with spaces. I ran the following with only partial success: :%s/\t/ /g # globally,...
1
vote
2answers
42 views

unable to replace text starting from *

I had following code:- Time::Time(short y,short m,short d,short h,short mi,short s): (*this).y(y), (*this).m(m), (*this).d(d), (*this).h(...
0
votes
1answer
73 views

How do I delete the first char of next line only?

On text like this #Comment #comment .... #comment #Comment I want to delete the # but only on next line,so become.. #Comment comment .... #comment Comment So far I do it with sed like this: ...
0
votes
1answer
57 views

Substitute only on certain lines

Is there a way to have s;/;|;g run only on the lines I filter using a regex? I have a file, which looks like: Date: 2017/08/18 Path /home/share/thing Path /home/me/thing Date: 2017/08/18 Path /home/...
1
vote
2answers
88 views

Find and replace string with slash in it and retain the slash in the new string

I am having a tough time in finding a replacing a string using vi. Source String: &DB2_PORT;/&DB2_DATA; New String after replace: &DB2_PORT;/&DB2_DATA;:tcp=true I can find and ...
0
votes
2answers
387 views

replace lines with the first and the last word

Here is a text with lines containing simple words: AZREG AREDB Z ARGHREHV AZRZEGV RYUJUS How to replace this line with only the first and the last word separated by a space? I have ended up with :! ...
-1
votes
1answer
67 views

Prepend “number,” to each line, where number is calculated from nth term

I have a file with 48 lines like 0.00000 0.00621 0.16298 0.19977 0.40198 0.29450 0.49277 0.28054 0.43256 0.18729 0.28934 And I want to prepend d.ddddddd, to each line, each d represents a digit (so ...
1
vote
1answer
53 views

How to remove all words which doesn't match the pattern?

I've the following content: a1a foo bar buzz foo b2b bar buzz foo bar c3c buzz foo bar buzz d4d where I can match all words consisting only alpha characters by the following pattern: /\<[a-zA-Z]*...
1
vote
1answer
61 views

Quickly creating JSON entries in an Avro schema

Is there a quicker way to create more entries of form { "name": FIELD_NAME, "type": "string" } from a list of words down below, than recording a macro to process each word and then pasting the result ...
51
votes
11answers
7k views

How to find and replace in Vim without having to type the original word?

I'd like to optimize my "find and replace" workflow in Vim. It's something I do often, as I'm sure most of you do too. Usually something along the lines of -- copy a block and change the name of a ...
0
votes
1answer
120 views

How to use the JS regex engine instead of the built in engine?

Is it possible to use the javascript regex engine instead of built-in one for search and substitute?
2
votes
3answers
237 views

How to get around this common multiple-cursors use case?

I have a lot of difficulty doing things like the following in Vim: From 1 'apple' 2 'orange' 3 'pear' 4 $fruit1 = 5 $fruit2 = 6 $fruit3 = To 1 2 3 4 $fruit1 = 'apple'; 5 $fruit2 = 'orange'; 6 $...
0
votes
1answer
106 views

Replace brackets and the content within the brackets in a variable

I'm currently stuck on this problem. I want, in a vimscript, to replace a variable's brackets when they contain a certain pattern. To say this differently, say I have a variable foo = "[content] bar" ...
0
votes
1answer
70 views

Copy a substring in line to the front of the line

I have a list of file names I'm trying to create insert statements out of. In each file name is the ID I need for the primary key, that I just need to copy from inside the file name to the front of ...
6
votes
1answer
244 views

Replace all occurrences in visual block selection but NOT all occurrences on line

I'm trying to figure out how to do a search and replace on a visual block selection that will replace all occurrences in the visual block selection without replacing all occurrences on the line. What ...
3
votes
1answer
388 views

Duplicate line and replace part of line multiple times

Considering this type of Json structure : [ { "id": "0000000000001", "en-US": "String 1" }, { "id": "0000000000002", "en-US": "String 2" } ... ] I ...
5
votes
5answers
1k views

Match any number of digits NOT followed by

I want to search for: From start of the line, any number of white spaces followed by any number of digits NOT followed by a dot. And replace it with all that was searched and a dot. This is just ...