Update the images for markua doc

markua
Igor Irianto 3 years ago
parent 375b2a9783
commit f93d08a2d2

@ -22,7 +22,7 @@ Have two empty files, `file1.js` and `file2.j` (if possible, create them with Vi
vim file1.js vim file1.js
``` ```
![one buffer displayed with highlight](images/screen-one-buffer-file1-highlighted.png) ![one buffer displayed with highlight](screen-one-buffer-file1-highlighted.png)
What you are seeing is `file1.js` *buffer*. Whenever you open a new file, Vim creates a new buffer. What you are seeing is `file1.js` *buffer*. Whenever you open a new file, Vim creates a new buffer.
@ -32,11 +32,11 @@ Exit Vim. This time, open two new files:
vim file1.js file2.js vim file1.js file2.js
``` ```
![one buffer displayed.png](images/screen-one-buffer.png) ![one buffer displayed.png](screen-one-buffer.png)
Vim displays `file1.js` buffer, but it actually creates two buffers: `file1.js` buffer and `file2.js` buffer. Run `:buffers` to see all the buffers (alternatively, you can use `:ls` or `:files` too). Vim displays `file1.js` buffer, but it actually creates two buffers: `file1.js` buffer and `file2.js` buffer. Run `:buffers` to see all the buffers (alternatively, you can use `:ls` or `:files` too).
![buffers command showing 2 buffers](images/screen-one-buffer-buffers-command.png) ![buffers command showing 2 buffers](screen-one-buffer-buffers-command.png)
There are several ways you can traverse buffers: There are several ways you can traverse buffers:
- `:bnext` to go to the next buffer (`:bprevious` to go to the previous buffer). - `:bnext` to go to the next buffer (`:bprevious` to go to the previous buffer).
@ -75,7 +75,7 @@ To save and quit all, run:
A window is a viewport on a buffer. You can have multiple windows. Most text editors have the ability to display multiple windows. Below you see a VSCode with 3 windows: A window is a viewport on a buffer. You can have multiple windows. Most text editors have the ability to display multiple windows. Below you see a VSCode with 3 windows:
![VSCode showing 3 windows](images/screen-vscode-3-windows.png) ![VSCode showing 3 windows](screen-vscode-3-windows.png)
Let's open `file1.js` from the terminal again: Let's open `file1.js` from the terminal again:
@ -83,7 +83,7 @@ Let's open `file1.js` from the terminal again:
vim file1.js vim file1.js
``` ```
![one buffer displayed.png](images/screen-one-buffer.png) ![one buffer displayed.png](screen-one-buffer.png)
Earlier I said that you're looking at `file1.js` buffer. While that was correct, it was incomplete. You are looking at `file1.js` buffer displayed through **a window**. A window is what you are seeing a buffer through. Earlier I said that you're looking at `file1.js` buffer. While that was correct, it was incomplete. You are looking at `file1.js` buffer displayed through **a window**. A window is what you are seeing a buffer through.
@ -93,7 +93,7 @@ Don't quit Vim yet. Run:
:split file2.js :split file2.js
``` ```
![split window horizontally](images/screen-split-window.png) ![split window horizontally](screen-split-window.png)
Now you are looking at two buffers through **two windows**. The top window displays `file2.js` buffer. The bottom window displays `file1.js` buffer. Now you are looking at two buffers through **two windows**. The top window displays `file2.js` buffer. The bottom window displays `file1.js` buffer.
@ -112,7 +112,7 @@ Now run:
:vsplit file3.js :vsplit file3.js
``` ```
![split window vertically and horizontally](images/screen-split-window-vertically-and-horizontally.png) ![split window vertically and horizontally](screen-split-window-vertically-and-horizontally.png)
You are now seeing three windows displaying three buffers. The top left window displays `file3.js` buffer, the top right window displays `file2.js` buffer, and the bottom window displays `file1.js` buffer. You are now seeing three windows displaying three buffers. The top left window displays `file3.js` buffer, the top right window displays `file2.js` buffer, and the bottom window displays `file1.js` buffer.
@ -121,7 +121,7 @@ You can have multiple windows displaying the same buffer. While you're on the to
``` ```
:buffer file2.js :buffer file2.js
``` ```
![split window vertically and horizontally with two file2.js](images/screen-split-window-vertically-and-horizontally-two-file2.png) ![split window vertically and horizontally with two file2.js](screen-split-window-vertically-and-horizontally-two-file2.png)
Now both top left and top right windows are displaying `file2.js` buffer. If you start typing on the top left, you can see that the content on both top left and top right window are being updated in real-time. Now both top left and top right windows are displaying `file2.js` buffer. If you start typing on the top left, you can see that the content on both top left and top right window are being updated in real-time.
@ -162,7 +162,7 @@ To open `file2.js` in a new tab:
:tabnew file2.js :tabnew file2.js
``` ```
![screen displays tab 2](images/screen-tab2.png) ![screen displays tab 2](screen-tab2.png)
You can also let Vim autocomplete the file you want to open in a *new tab* by pressing `<Tab>` (no pun intended). You can also let Vim autocomplete the file you want to open in a *new tab* by pressing `<Tab>` (no pun intended).
@ -181,9 +181,9 @@ You can also run `gt` to go to next tab page (you can go to previous tab with `g
One advantage of having multiple tabs is you can have different window arrangements in different tabs. Maybe you want your first tab to have 3 vertical windows and second tab to have a mixed horizontal and vertical windows layout. Tab is the perfect tool for the job! One advantage of having multiple tabs is you can have different window arrangements in different tabs. Maybe you want your first tab to have 3 vertical windows and second tab to have a mixed horizontal and vertical windows layout. Tab is the perfect tool for the job!
![first tab with multiple windows](images/tabs-file1js.png) ![first tab with multiple windows](tabs-file1js.png)
![second tab with multiple windows](images/tabs-file2js.png) ![second tab with multiple windows](tabs-file2js.png)
To start Vim with multiple tabs, you can do this from the terminal: To start Vim with multiple tabs, you can do this from the terminal:
@ -195,15 +195,15 @@ vim -p file1.js file2.js file3.js
Moving between windows is like traveling two-dimensionally along X-Y axis in a Cartesian coordinate. You can move to the top, right, bottom, and left window with `Ctrl-W H/J/K/L`. Moving between windows is like traveling two-dimensionally along X-Y axis in a Cartesian coordinate. You can move to the top, right, bottom, and left window with `Ctrl-W H/J/K/L`.
![cartesian movement in x and y axis](images/cartesian-xy.png) ![cartesian movement in x and y axis](cartesian-xy.png)
Moving between buffers is like traveling across the Z axis in a Cartesian coordinate. Imagine your buffer files lining up across the Z axis. You can traverse the Z axis one buffer at a time with `:bnext` and `:bprevious`. You can jump to any coordinate in Z axis with `:buffer filename/buffernumber`. Moving between buffers is like traveling across the Z axis in a Cartesian coordinate. Imagine your buffer files lining up across the Z axis. You can traverse the Z axis one buffer at a time with `:bnext` and `:bprevious`. You can jump to any coordinate in Z axis with `:buffer filename/buffernumber`.
![cartesian movement in z axis](images/cartesian-z.png) ![cartesian movement in z axis](cartesian-z.png)
You can move in *three-dimensional space* by combining window and buffer movements. You can move to the top, right, bottom, or left window (X-Y navigations) with window navigations. Since each window contains buffers, you can move forward and backward (Z navigations) with buffer movements. You can move in *three-dimensional space* by combining window and buffer movements. You can move to the top, right, bottom, or left window (X-Y navigations) with window navigations. Since each window contains buffers, you can move forward and backward (Z navigations) with buffer movements.
![cartesian movement in x, y, and z axis](images/cartesian-xyz.png) ![cartesian movement in x, y, and z axis](cartesian-xyz.png)
## Using Buffers, Windows, and Tabs The Smart Way ## Using Buffers, Windows, and Tabs The Smart Way

@ -254,9 +254,7 @@ You can mix and match these options. For example, `^hello | ^welcome friends$` w
To search for files inside Vim using fzf.vim plugin, you can use the `:Files` method. Run `:Files` from Vim and you will be prompted with fzf search prompt. To search for files inside Vim using fzf.vim plugin, you can use the `:Files` method. Run `:Files` from Vim and you will be prompted with fzf search prompt.
<p align="center"> ![Finding files in fzf](fzf-files.gif)
<img alt="Finding files in fzf" width="900" height="auto" src="images/fzf-files.gif" />
</p>
Since you will be using this command frequently, it is good to have this mapped. I map mine to `Ctrl-f`. In my vimrc, I have this: Since you will be using this command frequently, it is good to have this mapped. I map mine to `Ctrl-f`. In my vimrc, I have this:
@ -268,9 +266,7 @@ nnoremap <silent> <C-f> :Files<CR>
To search inside files, you can use the `:Rg` command. To search inside files, you can use the `:Rg` command.
<p align="center"> ![Finding in files in fzf](fzf-in-files.gif)
<img alt="Finding in Files in fzf" width="900" height="auto" src="images/fzf-in-files.gif"/>
</p>
Again, since you will probably use this frequently, let's map it. I map mine to `<Leader>f`. Again, since you will probably use this frequently, let's map it. I map mine to `<Leader>f`.

@ -48,17 +48,13 @@ Alternatively you could run:
vim -d file1.txt file2.txt vim -d file1.txt file2.txt
``` ```
<p align="center"> ![Basic diffing with Vim](diffing-basic.png)
<img alt="Basic diffing with Vim" width="900" height="auto" src="images/diffing-basic.png">
</p>
`vimdiff` displays two buffers side-by-side. On the left is `file1.txt` and on the right is `file2.txt`. The first differences (apples and oranges) are highlighted on both lines. `vimdiff` displays two buffers side-by-side. On the left is `file1.txt` and on the right is `file2.txt`. The first differences (apples and oranges) are highlighted on both lines.
Suppose you want to make the second buffer to have apples, not oranges. To transfer the content from your current position (you're currently on `file1.txt`) to `file2.txt`, first go to the next diff with `]c` (to jump to the previous diff window, use `[c`). The cursor should be on apples now. Run `:diffput`. Both files should now have apples. Suppose you want to make the second buffer to have apples, not oranges. To transfer the content from your current position (you're currently on `file1.txt`) to `file2.txt`, first go to the next diff with `]c` (to jump to the previous diff window, use `[c`). The cursor should be on apples now. Run `:diffput`. Both files should now have apples.
<p align="center"> ![Diffing apples](diffing-apples.png)
<img alt="Finding files in FZF" width="900" height="auto" src="images/diffing-apples.png">
</p>
If you need to transfer the text from the other buffer (orange juice, `file2.txt`) to replace the text on the current buffer (apple juice, `file1.txt`), with your cursor still on `file1.txt` window, first go to the next diff with `]c`. Your cursor now should be on apple juice. Run `:diffget` to get the orange juice from another buffer to replace apple juice in our buffer. If you need to transfer the text from the other buffer (orange juice, `file2.txt`) to replace the text on the current buffer (apple juice, `file1.txt`), with your cursor still on `file1.txt` window, first go to the next diff with `]c`. Your cursor now should be on apple juice. Run `:diffget` to get the orange juice from another buffer to replace apple juice in our buffer.
@ -175,9 +171,7 @@ A conflict, great! Let's resolve the conflict using our newly-configured `merget
git mergetool git mergetool
``` ```
<p align="center"> ![Three-way mergetool with Vim](mergetool-initial.png)
<img alt="Three-way mergetool with Vim" width="900" height="auto" src="images/mergetool-initial.png">
</p>
Vim displays four windows. Pay attention to the top three: Vim displays four windows. Pay attention to the top three:
@ -276,9 +270,7 @@ When you run the `:Git` command without any parameters, vim-fugitive displays a
- `u` to unstage the file name under the cursor. - `u` to unstage the file name under the cursor.
- `>` / `<` to display or hide an inline diff of the file name under the cursor. - `>` / `<` to display or hide an inline diff of the file name under the cursor.
<p align="center"> ![Fugitive Git](fugitive-git.png)
<img alt="Finding files in FZF" width="900" height="auto" src="images/fugitive-git.png">
</p>
For more, check out `:h fugitive-staging-maps`. For more, check out `:h fugitive-staging-maps`.
@ -294,17 +286,13 @@ Some things you can do while in this `"git blame"` mode:
For more, check out `:h :Git_blame`. For more, check out `:h :Git_blame`.
<p align="center"> ![Fugitive Git Blame](fugitive-git-blame.png)
<img alt="Finding files in FZF" width="900" height="auto" src="images/fugitive-git-blame.png">
</p>
## Gdiffsplit ## Gdiffsplit
When you run the `:Gdiffsplit` command, vim-fugitive runs a `vimdiff` of the current file's latest changes against the index or work tree. If you run `:Gdiffsplit <commit>`, vim-fugitive runs a `vimdiff` against that file inside `<commit>`. When you run the `:Gdiffsplit` command, vim-fugitive runs a `vimdiff` of the current file's latest changes against the index or work tree. If you run `:Gdiffsplit <commit>`, vim-fugitive runs a `vimdiff` against that file inside `<commit>`.
<p align="center"> ![Fugitive Gdiffsplit](fugitive-gdiffsplit.png)
<img alt="Finding files in FZF" width="900" height="auto" src="images/fugitive-gdiffsplit.png">
</p>
Because you are in a `vimdiff` mode, you can *get* or *put* the diff with `:diffput` and `:diffget`. Because you are in a `vimdiff` mode, you can *get* or *put* the diff with `:diffput` and `:diffget`.
@ -318,9 +306,7 @@ When you run the `:Gread` command in a file after you make changes, vim-fugitive
When you run the `:Gclog` command, vim-fugitive displays the commit history. It is like running the `git log` command. Vim-fugitive uses Vim's quickfix to accomplish this, so you can use `:cnext` and `:cprevious` to traverse to the next or previous log information. You can open and close the log list with `:copen` and `:cclose`. When you run the `:Gclog` command, vim-fugitive displays the commit history. It is like running the `git log` command. Vim-fugitive uses Vim's quickfix to accomplish this, so you can use `:cnext` and `:cprevious` to traverse to the next or previous log information. You can open and close the log list with `:copen` and `:cclose`.
<p align="center"> ![Fugitive Git Log](fugitive-git-log.png)
<img alt="Finding files in FZF" width="900" height="auto" src="images/fugitive-git-log.png">
</p>
While in this `"git log"` mode, you can do two things: While in this `"git log"` mode, you can do two things:
- View the tree. - View the tree.

@ -217,7 +217,7 @@ baz10
Let's say that your windows layout look like the following (using strategically placed `split` and `vsplit`): Let's say that your windows layout look like the following (using strategically placed `split` and `vsplit`):
![Session Layout](images/session-layout.png) ![Session Layout](session-layout.png)
To preserve this look, you need to save the Session. Run: To preserve this look, you need to save the Session. Run:

Loading…
Cancel
Save