Questions tagged [substitute]

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

Filter by
Sorted by
Tagged with
0 votes
1 answer
52 views

Add newline after every paragraph in log file in vi editor

I want to add new line after every paragraph in vi editor. How do I do it? The new line is located by the date and time in this format 2023-11-26 14:14:14
1 vote
1 answer
29 views

Search and replace text in visual range but not entire line [duplicate]

I want to search and replace within a visual range just as was answered in this SO post, which uses :'<,'>. But I don't want this to take place on an entire line, only within the selected subset ...
3 votes
2 answers
70 views

How to remove trailing whitespace and carriage return characters?

My goal is to get rid of "bad" CRs and trailing spaces at once, so I am executing the following command: :%s/^M\|\s\+$//g The problem is that if at the end of the line there is a ^M and ...
1 vote
1 answer
29 views

How do I use parameters within a custom command?

I want to define a global search and replace with confirmation command, something like: command Gfr :s/<parameter1>/<parameter2>/gc So I can type: :Gfr foo bar and Vim will find all ...
1 vote
4 answers
79 views

How to encapsulate a visual selection with preprocessor logic?

I have to preprocessor-comment out a lot of C-code. E.g. I want this: if (abcd == true) do_smt(); To become this: #if 0 if (abcd == true) do_smt(); #endif This is tedious work, so I was hoping ...
1 vote
1 answer
41 views

Is there a way to substitute a text that has regex formatted number ranges and replace with all combinations?

Let's say I have a file that looks like: host[1-2]lx host[1-4]win what I want is an easy way to get host1lx host2lx host1win host2win host3win host4win Is there a neat way to automate that process? ...
1 vote
1 answer
70 views

How can I replace duplicate line prefixes with blanks?

Is it possible to transform: John Apple Red 3 John Apple Green 5 John Radish White 2 John Radish Red 7 Tom Apple Red 3 Tom Apple Green 5 Tom Radish White 2 Tom Radish Red 7 to: John Apple Red 3 ...
0 votes
1 answer
40 views

Command to separate nested brackets over multiple lines

I am looking for a language-agnostic way to convert something like this: this(is, a, line(of, things)) to this: this( is, a, line( of, things ) ) I can handle the non-...
0 votes
1 answer
19 views

What is the syntax to use character classes inside Vim regex bracket expression?

I did the following tests: code output notes :echo substitute("s s", '\v[^s]', "<&>", "g") s< >s space replaced. All fine :echo substitute("s s&...
6 votes
3 answers
3k 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” ...
1 vote
2 answers
206 views

Substitution command in neovim remaps not working

I simply want to map < leader> pu to erase all occurrences of the carriage return character (represented as ^M) in a file. I can execute the command: :%s/\r//g and it works. Any attempts to use ...
1 vote
1 answer
103 views

How to evaluate Lua in substitution field instead of vim script?

As simple example, take this: :'<,'>s/\vs([A|B])\.size\(\)/\={"A":"a","B":"b"}[submatch(1)]/g This substitution will replace sA.size() with a and sB.size(...
1 vote
1 answer
49 views

How to evaluate vim script in the substitution field and put text with it?

I have to replace a lot of variables s1.size() with wa, and replace s2.size() with wb accordingly. I have made next substitution request: :'<,'>s/\vs([1|2])\.size\(\)/w\={"1":"a&...
0 votes
4 answers
53 views

How to repeat substitution on the consequent lines?

Say I want to fix a mistake in the following php code: $line1 = intval($line[$1]); $line2 = intval($line[$2]); $line3 = intval($line[$3]); and do substitution on the first line with: :s/\$\(\d\)/\1/ #...
1 vote
2 answers
99 views

in-place replacement of code in HTML documents with TOhtml?

I'm working on some old HTML documentation, where are multiple code snippets (several lines long). I need to replace this old HTML-ized code with new one using modern styling. What I have now: ... ... ...
2 votes
1 answer
42 views

:.w !bash a temporarily modified line and executing it in the shell

#!/usr/bin/env bash # scp /tmp/abc.sh SERVER1:~/bin && ssh SERVER1 "~/bin/abc.sh" echo "Hello Stack Exchange" echo "thanks for the help I would like to be able to use ...
0 votes
2 answers
49 views

Trying to replace pattern _1_ with _01_ but its not working

I am using Vim version 9.0.1280. The search and replace command I am using is - :%s/\(_\)\([1-9]\{1\}\)\(_\)/_0\1_/gc When I run this vim offers to replace _1_ with _0\1_. What am I doing wrong?
0 votes
2 answers
161 views

Vim substitution and keep cursor in place

I have a mapping in my .vimrc. It is the following: nnoremap q; :call Add_comment_css()<CR> And then I can run, say 10q; And then it will run 10 times. But my problem is that the cursor always ...
0 votes
1 answer
97 views

How to test in which mode of magicness Vim is?

Vim can be in four or more magic states. In vim help documentation there is plenty to read about, all presuming that the user knows the current state of magicness. When a complicated many lines long :...
3 votes
2 answers
2k 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 ...
4 votes
1 answer
637 views

How to match the content in a pair of brackets, no matter how many pairs of brackets are contained in the content?

I want to replace GD[many[[brackets]]], GD[evenMore[[[[brackets]]]]] with GD[someStuff], GD[someOtherStuff] How can I match the correct pair of brackets? These patterns are scattered in a large ...
76 votes
12 answers
23k 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 ...
10 votes
1 answer
3k views

How to translate Unicode escape sequences to the Unicode character?

I have a file with a lot of characters represented like this: \u05E2. (These are the actual characters in the file: backslash, lowercase u, and four hexadecimal digits.) Due to that, the file is ...
0 votes
1 answer
36 views

exim incorrect substitution count?

I'm having strange bevahiour with Vim 9.0 $ ex --version | head -3 VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Sep 30 2022 03:09:54) macOS version - x86_64 Included patches: 1-270 $ VIM_POSIX='...
0 votes
2 answers
753 views

Search and replace uppercase letters with lowercase letters

I have bunch of strings that starts with uppercase letters. I want to change uppercase letters with lowercase letters. Strings are not aligned so visual block mode is not an option. Is it possible to ...
1 vote
2 answers
178 views

Vim fill command line with currently highlighted word in substitution

I have incsearch on, so when I type :s/thingS it will highlight the thingS part of thingSoFar in the below text see, this thing is the thingSoFar thing When I am typing that command line with my ...
0 votes
1 answer
136 views

Replace inside matching parentheses

I want to replace all Box::new(x) with x, e.g. Box::new(A(B()) + C()) becomes A(B()) + C(). Does neovim (0.8.1) support that? I expect that there must be some feature for such a likely developer-...
4 votes
1 answer
486 views

Set variable equal to search match subsection

Unnecessary Context: I want to write a function that closes open HTML tags, because closetag.vim seems complicated, and I like to understand all the stuff I run in Vim. My plan for this is to match ...
16 votes
2 answers
665 views

Multiple choice substitute?

Normally, a substitute with the c option gives me two options: (y)es or (n)o. Is it possible to have several numbered yes options to choose from? Example File person: Alice dog: Tobby person: Bob ...
2 votes
3 answers
80 views

How to avoid highlighting when block commenting?

I'm running the command :.,.5s/^/!& to block comment a section of code, however, after running the command the editor highlights the first character in every line of the file. I guess this doesn'...
3 votes
5 answers
3k views

Changing multiple instances of a local variable at the same time

Let us say we have the following for loop in Vim: for(int i = 0; i < len; ++i); and I want to change the variable i to j. I have to do it manually for each i. Is there a way in Vim so that when ...
23 votes
1 answer
262 views

How does :g/^$/,/./-j (reduce multiple blank lines to a single blank) work in Vim?

In the article, Vim Regular Expressions, Oleg Raisky gives the following command to reduce multiple blank lines to a single blank: :g/^$/,/./-j Can someone please describe how this works? I know :...
5 votes
2 answers
1k views

How to change all numbers in file into float format?

I have a file containing nothing but integers and words, separated by arbitrary numbers of spaces, along the following lines: 1 alpha plural 1 0 6 1440 3 1 4 1 5 9 2 6 5 3 5 8 9 2 7 1 8 2 8 1 8 2 ...
4 votes
4 answers
687 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 $...
1 vote
2 answers
68 views

How to create a range command that substitutes characters with grouping and back references?

The use case is to copy citations from pdf files to markdown documents in vim. I'd create a dotted list of important copied text and then I'd like to replace the end of line hyphenation that appears ...
0 votes
3 answers
102 views

How can I select all non-lowercase multiline blocks which follow a keyword?

I'd like to copy these to a file, but in a speculative future case, I might want to delete them. I might need to find a regex to substitute intervening data with a single blank line. The highlighting ...
2 votes
1 answer
179 views

Is there any way to position the cursor in a :substitute replace pattern?

I have the following line: return err And would like to replace that to: return fmt.Errorf(": %w", \1) Which is done easily with something like: :s/return \v(\k+)/return fmt.Errorf(": %w", \1)/ ...
3 votes
1 answer
859 views

How can I make two substitution command in one line

Giving these 2 substitution commands in vim: %s/}$/\r}\r/g %s/^\s*([a-zA-Z\#\.\:\s\(\)-\[\]'=]*)\s*\{/$1 \{/g I have 2 questions: How can I join 2 substitution commands in a one line command ? Is ...
1 vote
1 answer
52 views

Replace all the backticks with tildas by using GUI

To replace ``` code blocks fenced with backticks ``` with ~~~ code blocks fenced with tildas ~~~ I can use :%s/```/\~\~\~/g and this works. However, when I try to replace them with GUI (Edit > ...
2 votes
1 answer
406 views

Break line after the n-th comma

Suppose I have the next line 1,0,10,10,9,7,7,5,41,3,57,7,1,9 I want to split it into several lines, each containing n commands for example, for n = 4 1,0,10,10, 9,7,7,5, 41,3,57,7, 1,9
1 vote
1 answer
117 views

Vim: reformat CSS from one-line to multi-line rules

I wanted to reformat the W3.CSS file to make it more readable and study it. I looked for an easy way to do this but couldn't find it (in vim-only way, obviously, the web are plenty of solutions and ...
2 votes
1 answer
780 views

How to disable the interactive preview for substitute in Neovim?

In Neovim, when I type :%s/foo then the current buffer changes to have all instances of foo removed, basically giving a preview of the change. Coming from standard Vim, I find this confusing and it's ...
1 vote
0 answers
32 views

After `:%s` substitution the syntax highlighting of my R code has changed

Preface: VIM beginner, and I suspect this question will evolve significantly as I understand more about it (and VIM). Documenting the issue here as I was unable to find any other references to "...
2 votes
2 answers
231 views

Replace characters in relative linespan

I know that I can replace characters in a linespan via something to the effect of :300,305s/foo/bar/g But when I'm deep in the code, and I know that I just want to replace in the next five lines, I'm ...
0 votes
2 answers
141 views

How do I copy and paste the content inside quotes from one place to another?

Lets say I have a buffer with the following content: <property name="sfgiusfgsnffgdsb" value="arbitraryvalue1"/> <property name="sfsergggsnfgdfgs" value="...
4 votes
2 answers
1k views

Keep Cursor In Current Position After Find-Replace

How does one keep the cursor in its place after a file-replace using :%s/find/replace/g ? I looked at restoring cursor position, but not quite what I was looking for, and I could jump back to previous ...
4 votes
2 answers
85 views

substitution of increasing numbers per row

Each row is: Or(a=a[0], b=b[0], out=out[0]); Or(a=a[0], b=b[0], out=out[0]); Or(a=a[0], b=b[0], out=out[0]); and I need: Or(a=a[0], b=b[0], out=out[0]); Or(a=a[1], b=b[1], out=out[1]); Or(a=a[2], b=b[...
1 vote
3 answers
921 views

Netrw-R Renaming multiple Files with vim

After going through the renaming guides from the doc folder in vim I found a way to replace text with the input :%s/frompattern/topattern/g. Reaching the renaming files with the file browser tutorial/...
2 votes
1 answer
250 views

Keep specific parts of a :s command in nvim

What I'm trying to do is convert between Textile and Markdown links, so it should be able to do something like :s/".*"(.*)/[.*](.*)/, which is to say, keep the stuff that is matched by the .*...
1 vote
2 answers
153 views

Vim find and replace with filename as variable

Is it possible to use vim find and replace to replace a variable with the current filename? for example, fancyFileName.txt contains this is the VARIABLE to replace in this fancyFileName.txt and I am ...

1
2 3 4 5
7