1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 15:18:01 +00:00

Add Global Substitution On The Previous Command as a zsh til.

This commit is contained in:
jbranchaud
2015-08-08 12:14:10 -05:00
parent 07d1b32306
commit b496b83068
2 changed files with 29 additions and 0 deletions

View File

@@ -194,6 +194,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
- [Clear The Screen](zsh/clear-the-screen.md)
- [Create A File Descriptor with Process Substitution](zsh/create-a-file-descriptor-with-process-substitution.md)
- [Do Not Overwrite Existing Files](zsh/do-not-overwrite-existing-files.md)
- [Global Substitution On The Previous Command](zsh/global-substitution-on-the-previous-command.md)
- [Killing A Frozen SSH Session](zsh/killing-a-frozen-ssh-session.md)
- [List All The Say Voices](zsh/list-all-the-say-voices.md)
- [Repeat Yourself](zsh/repeat-yourself.md)

View File

@@ -0,0 +1,28 @@
# Global Substitution On The Previous Command
Let's say we just executed the following command:
```bash
$ grep 'foo' foo.md
```
It gave us the information we were looking for and now we want to execute
a similar command to find the occurrences of `bar` in `bar.md`. The `^`
trick won't quite work here.
```bash
$ ^foo^bar<tab>
$ grep 'bar' foo.md
```
What we need is a global replace of `foo` in our previous command. The `!!`
command can help when we sprinkle in some `sed`-like syntax.
```bash
$ !!gs/foo/bar<tab>
$ grep 'bar' bar.md
```
For a short command like this, we haven't gained much. However, for large
commands that span the length of your terminal, this can definitely save you
a little trouble.