1
0
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:
jbranchaud
2015-06-12 16:05:05 -05:00
parent 8393c5c0c2
commit 059209861a
2 changed files with 23 additions and 0 deletions

View File

@@ -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)

View 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.