mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 23:28:02 +00:00
Add Swap Occurrences Of Two Words as a vim til.
This commit is contained in:
@@ -130,6 +130,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
|
||||
- [Scrolling Relative to the Window](vim/scrolling-relative-to-the-window.md)
|
||||
- [Set Your Color Scheme](vim/set-your-color-scheme.md)
|
||||
- [Split Different](vim/split-different.md)
|
||||
- [Swap Occurrences Of Two Words](vim/swap-occurrences-of-two-words.md)
|
||||
- [Tabs To Spaces](vim/tabs-to-spaces.md)
|
||||
- [The Vim Info File](vim/the-vim-info-file.md)
|
||||
- [View Commit History of a File](vim/view-commit-history-of-a-file.md)
|
||||
|
||||
22
vim/swap-occurrences-of-two-words.md
Normal file
22
vim/swap-occurrences-of-two-words.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Swap Occurrences Of Two Words
|
||||
|
||||
If I have a file with `foo` and `bar` all over the place and
|
||||
|
||||
Imagine I have a file with `foo` and `bar` all over the place. The tables
|
||||
have turned and now I want all occurrences of `foo` to be `bar` and all
|
||||
occurrences of `bar` to be `foo`.
|
||||
|
||||
Reaching for a simple substitution won't work because after flipping all the
|
||||
occurrences of `foo` to `bar`. I will no longer be able to distinguish
|
||||
between the new `bar`s and the `bar`s that need to be flipped.
|
||||
|
||||
[Abolish.vim](https://github.com/tpope/vim-abolish) enhances Vim's
|
||||
substitution capabilities making it easy to flip these strings in one
|
||||
relatively simple command.
|
||||
|
||||
```
|
||||
:%S/{foo,bar}/{bar,foo}/g
|
||||
```
|
||||
|
||||
Notice the uppercase `S` as well as the ordering of `foo` and `bar` in the before
|
||||
and after sequences.
|
||||
Reference in New Issue
Block a user