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
16 views

Search and replace: float arithmetic

For example I have many numbers like 111.222, I want to decrease them to 0.1 (to get 111.122), how to do that? I tried: :%s#\d\+\.\d\+#\=submatch(0)-0.1# But as a result I have 110.9.
1
vote
1answer
29 views

Suppress error message from “substitute” if string not found

I have this coding in my .vimrc: If any line contains trailing whitespace, then this function terminates silently, but otherwise I get this error message: I could add silent! to the autocmd, but I ...
3
votes
1answer
37 views

Replace all quotes with escaped quotes and vice versa

I am trying to replace all quotes (") with escaped quotes (\") and simultaneously all escaped quotes with normal quotes. I found the following solution to a similar problem here for swapping 'foo' to ...
0
votes
3answers
49 views

How do I replace all accented characters like “á”, “ő” and “é”?

I am trying to master VI and found some nice tricks to replace a letter with a single :%s/ command and this works. If I'd like to replace for example word with wardos I can use :%s/word/wardos/g and ...
3
votes
1answer
48 views

replace or operate within regex match

underlying question: Is there a way to operate on text within a regex match? I.e. is there an analog to the 'g' command that operates on match substrings instead of lines usecases: One example of ...
0
votes
1answer
32 views

Transform lines: prepend with incrementing number and string and append with string for each line in one step

I have the following lines: abc07 bca08 xyz17 And I would like to transform it to: [0]="abc07" \ [1]="bca08" \ [2]="xyz17" \ Based on this question, I can do the first part and the end ...
2
votes
1answer
33 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
48 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
109 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
32 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
32 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
53 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
44 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
52 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
451 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
48 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
234 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
42 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
30 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
201 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
479 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
47 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
58 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
74 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
40 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
82 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
450 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
51 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
334 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
47 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
144 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
45 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
34 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
83 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
75 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
74 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
61 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
100 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
447 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
70 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
56 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
64 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
134 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?