learnvim Profile Banner
Learn Vim Profile
Learn Vim

@learnvim

Followers
11K
Following
632
Media
362
Statuses
1K

Vim tips + tricks Want to support this page AND learn Vim? Check out https://t.co/2oJQx5huwf OR https://t.co/bcssgcdD4q Owned by @iggredible

Joined November 2019
Don't wanna be here? Send us removal request.
@learnvim
Learn Vim
4 years
If you want to learn more Vim, check out my Learn-Vim guide on Github! (Did I tell you it's free? 😁) https://t.co/jiBxeTTi7U #vim
Tweet card summary image
github.com
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for 📖 - iggredible/Learn-Vim
1
34
108
@dhh
DHH
2 years
@tobi As much as I love TextMate, I've come to realize the folly of being tied to one commercial OS on the basis of an editor. I considered going all-in on VSCode, but if I'm going to switch editor after 20 years, I'd like it to be my last change. Vim will be here and free in 100 years
28
6
187
@learnvim
Learn Vim
2 years
If you have the jq command https://t.co/vPsCmoHQ9R installed, you can use it to format JSON in Vim! On the line where you have a large JSON object: { "foo": { "bar": { "foo_id": null, "bar_id": 98765, "baz_id": 12345 } } } Run: :.!jq . Vim bang operator/cmd: :h ! #vim
0
5
35
@learnvim
Learn Vim
2 years
The vim-yoink plugin lets you to yank multiple times and quickly choose which yanked text to paste (with Ctrl-n/Ctrl-p). If you use copy/paste often, check it out! https://t.co/mDFRR6OSVK #vim
0
3
11
@learnvim
Learn Vim
2 years
If you want to resize, swap, and move windows, the winresizer plugin ( https://t.co/6lKmM78eUb) can quickly resize your vim window with its resize mode. Check it out! #vim
0
5
21
@learnvim
Learn Vim
2 years
If you have one large window and one small window, you can make them equal size with Ctrl-w + = :h CTRL-W_= #vim
0
0
9
@learnvim
Learn Vim
2 years
You can "swap" windows with Ctrl-w + r (technically it's down/right-ward rotation, but works like a swap with only 2 windows) :h CTRL-W_r #vim
0
1
10
@learnvim
Learn Vim
2 years
To roll a dice 5 times: :for i in range(1,5) | put='Dice roll: ' . (rand() % 6 + 1) | endfor #vim
2
1
19
@learnvim
Learn Vim
2 years
There are 5 different history commands in Vim: :his c or : - command-line history (q:) :his s or / or ? - search history (q/ or q?) :his e or = - expression history :his i or @ - input history :his d or > - debug history #vim
0
0
19
@learnvim
Learn Vim
2 years
= is the filter operator (by default it indents). If you want to indent the entire buffer, run: gg=G - gg goes to the top - =G indent operator + all the way to the bottom Use `` to go back to the original location. Try: gg=G`` More: https://t.co/qjnzs74jVR :h = #vim
0
3
26
@learnvim
Learn Vim
2 years
Press Ctrl-W o`` to zoom the current window and close other open windows (You can also run `:on`) #vim
0
1
9
@learnvim
Learn Vim
2 years
If you want to close the current window, you can press Ctrl-w + c More: :h CTRL-W_c #vim
0
0
12
@learnvim
Learn Vim
2 years
If you use fugitive.vim, you can use git grep to use a keyword in a specific branch / SHA :Ggrep MY_FOO some-branch :Ggrep MY_FOO some-sha Useful if you want to see if / how a text looks like in a different branch :h :Ggrep https://t.co/0mQAZHvKcM #vim
Tweet card summary image
github.com
fugitive.vim: A Git wrapper so awesome, it should be illegal - tpope/vim-fugitive
0
6
28
@learnvim
Learn Vim
2 years
To reverse two words, you can use this substitution: :s/\(\w\+\) \(\w\+\)/\2 \1/g This will reverse "strawberry chocolate" into "chocolate strawberry" If you think there's too many backslash, you can use \v: :s/\v(\w+) (\w+)/\2 \1/g #vim
3
9
71
@learnvim
Learn Vim
2 years
To generate 100 lines of "100 bottles of milk", you can run: :for i in range(100, 0, -1) | put = i . ' bottles of milk 🥛' | endfor #vim
3
12
156
@learnvim
Learn Vim
2 years
Let's say you have: apples oranges apples bananas To search for apples FOLLOWED BY bananas (and not apples followed by oranges), you can use a multi-line search /apples\_.bananas :h \_x #vim
1
8
79
@learnvim
Learn Vim
2 years
Last time we looked at :vimgrep to search for keywords. :vimgrep /Waffles/ app/**/*.rb To add more results into your last search, you can use :vimgrepa. To also search for Pancakes: :vimgrepa /Pancakes/ app/**/*.rb Now you have a list of Waffles AND Pancakes. #vim
0
2
14
@learnvim
Learn Vim
2 years
Vim has an internal grep to search for texts in files, :vimgrep. If I want to search "Waffles" inside ruby files inside app/ directory: :vimgrep /Waffles/ app/**/*.rb To display the quickfix list result: :copen Try it! #vim
1
3
36
@learnvim
Learn Vim
2 years
When you pass multiple file names when you run Vim from the terminal (vim bar.rb foobar.lua), Vim stores those files inside the argument lists, which you can access with :args You can navigate through the argument lists with :next, :prev, :first, :last. :h arglist #vim
0
1
8
@learnvim
Learn Vim
2 years
If you want to undo your changes across multiple windows, you can run :windo undo To redo your changes, you can run: :windo redo #vim
0
2
9
@learnvim
Learn Vim
2 years
Like Tim mentioned in the comment below, 'open' sounds a little ambiguous. I think a better way to say it is "to transfer the content from one file to the current file"
0
0
2