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.
340
questions
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?
...
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-...
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
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&...
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/
#...
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 :...
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
752
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-...
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 ...
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
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
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 ...
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 ...
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="...
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
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
150
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 ...
0
votes
2
answers
60
views
How to avoid empty line and comment line when substitute string?
Want to convert
//comment
abc_def ...
thank_you123 ...
to
//comment
.abc_def ( abc_def ),
.thank_you123 ( thank_you123 ),
with single substitute command.
Need to avoid both ...
3
votes
0
answers
63
views
How do I capitalize first character after a special character?
I want to convert "abc_def_ghi ( abc_def_ghi )" to "abc_def_ghi ( abcDefGhi )".
Note: If I visually select the string within (), the below command changes whole line instead of the ...
0
votes
0
answers
13
views
autocommand variable is not substituded [duplicate]
let Dropbox = "/usr/Dropbox"
...
autocmd BufNewFile *.php 0r Dropbox/vim/templates/php_start.txt
The variable 'Dropbox' is not substituded by its value
0
votes
1
answer
186
views
Use tilde ~ in substitution inside neovim?
In vim 8.1 (tiny), I can use ~ in a substitution, but it won't work when using neovim 0.6.0.
For example, if I have a file with the text:
one two three
And I enter vim with "vim -u NONE -N",...
0
votes
0
answers
39
views
combining multiple lines [duplicate]
I have a text file of X ips and X files that looks like:
ip1
ip2
ip3
some_dir/file1
some_dir/file2
some_dir/file3
I'd like to combine the lines into a csv format, like:
ip1,some_dir/file1
ip2,...
2
votes
1
answer
319
views
Add incrementing numbers to lines
How do I numbers starting from 1 to a range of lines (thereby creating an ordered list)? For example, the following
foo
bar
baz
would turn into
1 foo
2 bar
3 baz
I know to use the visual block to ...
1
vote
1
answer
350
views
Mapping repeat last command
Apologies I am probably expressing myself very badly, that's also why 1 hour searching hasn't yielded the result I wanted yet...
Assume I want to replace true with false in a buffer.
:s/true/false
Now,...
3
votes
2
answers
1k
views
Why does vim replace with confirmation only replace the first occurrence in the each line?
For example, for a line
X X X
with the command
:s/X/Y/c
vim will only replace the first occurrence, namely the first 'X' to 'Y', is there a way to let vim go through all the 'X' and replace it ...
2
votes
1
answer
139
views
Adding a new file:line format for gF for a given file type
I use gF a good amount when getting to the bottom of compilation errors in different tech stacks. With Dart/Flutter, I'm getting the error messages in the following format:
lib/main.dart:58:34: Error: ...
2
votes
1
answer
32
views
Stop replacing occurrence in subsequent lines when occurrence is found in one line
I understood that
:%s/foo/bar
replaces the first occurrence of 'foo' with 'bar' in each line and repeats the process for all lines.
My requirement is to stop skimming through lines after the replace ...
1
vote
1
answer
67
views
Show more lines on substitute confirmation
Sometimes I use substitute with confirmation because I only want to replace some instances of a search, depending on the context. However, it's difficult to tell sometimes because as Vim is cycling ...
3
votes
2
answers
501
views
How do I replace single whitespaces without affecting multi-whitespace such as indentation in Vim?
I have textfiles with paths that have lost underscores between words inline in an OCR process. I want to keep the indentation and put back the underscores in the paths.
I have a path like this:
/...
5
votes
1
answer
163
views
Can I replace two distinct old strings with two distinct new strings using a single :s command?
Suppose I have the following line of text in vim:
hello, it will be sunny today
and I want to change it to:
goodbye, it will be sunny tomorrow
I could put my cursor on the line and type :s/hello/...
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/...
0
votes
1
answer
45
views
How can I connect separated lines without highlighting in visual mode?
I would like to connect broken lines, like:
This is a
line that continues.
but instead of highlighting them with visual mode and connecting with Shift-J, I would like to run some kind of global ...
1
vote
1
answer
178
views
How do I enter N carriage returns during a substitution?
When using :s, how do I multiply the string being written by an integer, to write N copies of it?
For example, :s/pattern/10*\r/ would write 10 carriage returns in each match.
1
vote
1
answer
362
views
argdo vs bufdo for project-wide search and replace in specific folders
I have the following structure:
myproject
----src
file1.cpp, ..., file10.cpp
----include
incl1.h, ..., incl10.h
----data
data1.txt, ..., data10.txt
I would like to ...