add the old snippet md files
This commit is contained in:
parent
fc0dd204c7
commit
bcf8313a4b
110 changed files with 3048 additions and 0 deletions
52
old_snippets/vim-arglist.en.md
Normal file
52
old_snippets/vim-arglist.en.md
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
title: "super powers of the arg list"
|
||||
date: 2020-01-11T19:44:49+01:00
|
||||
draft: false
|
||||
snippet_types: ["vim", "search"]
|
||||
---
|
||||
|
||||
Vim help:
|
||||
|
||||
> The argument list \*argument-list* \*arglist*
|
||||
|
||||
> If you give more than one file name when starting Vim, this list is remembered
|
||||
> as the argument list. You can jump to each file in this list.
|
||||
|
||||
If you have been using vim a while you will be comfortable with the buffer list but often it's
|
||||
full of random files, terminal sessions, and other none file buffers, this is where arglist comes
|
||||
in. It starts out as list of files that were initially opened when the vim session was launched ex:
|
||||
|
||||
```shell
|
||||
nvim ./a.txt ./b.txt ./c.txt
|
||||
```
|
||||
|
||||
would start vim with three buffers in both arglist and buffer list. You can cycle through the
|
||||
arglist with files via **:next**, **:prev**. Further files opened will not be automatically added to
|
||||
the arglist so it's essentially a clean sub list of the buffer list. Helpful commands include
|
||||
**:rew** to jump back to the first file you edited this session. Also **:all** which opens all
|
||||
buffers of the arglist in splits.
|
||||
|
||||
Where I find the arglist particularly powerful is for mass file edits. Here is an day to day
|
||||
example:
|
||||
|
||||
1. get files in questing into the arglist either pipe files to vim or from in vim override initial
|
||||
arglist.
|
||||
- from cli
|
||||
```shell
|
||||
$ rg -i 'snippet_typ.*vim' --files-with-matches | xargs nvim
|
||||
```
|
||||
|
||||
- from inside vim (harder because no autocomplete)
|
||||
```vim script
|
||||
:args `rg -i 'snippet_typ.*vim' --files-with-matches`
|
||||
```
|
||||
|
||||
1. now lets change all the posts front-matter to draft = true
|
||||
```vim script
|
||||
:argdo %s/draft: false/draft: false/g | update
|
||||
```
|
||||
thats it all the files have been modified and saved. Its best to use this kind of thing with
|
||||
version control so during an interactive git add you can verify each modification.
|
||||
|
||||
For more complex edits I load files into the list a similar way then make quick manual and move to
|
||||
next file with **:wn** which also saves.
|
||||
Loading…
Add table
Add a link
Reference in a new issue