From f5b3d969fd17c1848a74c5182d96779c782c512a Mon Sep 17 00:00:00 2001 From: Malin Freeborn Date: Mon, 14 Jul 2025 12:42:45 +0200 Subject: [PATCH] grok vi --- writing/vim.md | 3 ++- writing/vim/vi.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 writing/vim/vi.md diff --git a/writing/vim.md b/writing/vim.md index cf8368d..110ec2d 100644 --- a/writing/vim.md +++ b/writing/vim.md @@ -3,13 +3,14 @@ title: "vim basics" tags: [ "vim", "basic" ] --- -1. Insert text by pressing `i`. +1. Insert text by pressing `a`. 1. Stop inserting text by pressing `Ctrl+[`. 1. Exit with `ZZ`. 1. Congratulations, you now know `vim`. ## Extras +- [Learning Vim](vim/vi.md) - [Navigation](vim/navigate.md) - [Completion](vim/completion.md) - [Search](vim/search.md) diff --git a/writing/vim/vi.md b/writing/vim/vi.md new file mode 100644 index 0000000..a17d334 --- /dev/null +++ b/writing/vim/vi.md @@ -0,0 +1,46 @@ +--- +title: "How to Learn `vim`" +tags: [ "vim", "learning" ] +requires: [ "vim basics" ] +--- + +1. Uninstall `vim`. +1. Install `vi`. +1. Write a few blog posts. + +The [ancient wisdom](https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118) is correct - everyone should start with `vi`. +But the standard wisdom fails to mention writing. +So people just 'try to remember', then they edit a couple of configuration files with `vim`, then stop, because it's a pain to think about keystrokes while thinking about how the configuration file works. +Nobody can learn like that. + +Learn with a blog, or writing emails in `vim`, or writing anything, as long as it's *real writing*. +Write a journal or some recipes. +Write literally anything which is written in paragraphs. + +And while you're writing, remember one rule: if you want something, `vi` can do it, you just need to look up how. + +Blog first, then try out some of these commands: + +- `hjkl` +- `x` +- `:!grep very %` +- `onew line...` +- `Onew line...` +- `~` +- `~~~~` +- `$r!` +- `w %-2` +- `x!` +- `0RTipex` +- `_4rX` +- `bc2e` +- `c2E` +- `cw` +- `cW` +- `ci'` +- `zz` +- `:set number` +- `:set nonumber` +- `:set relativenumber` +- `:set number relativenumber` +