forked from PKUFlyingPig/cs-self-learning
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[TRANSLATE] Translate Vim.md (PKUFlyingPig#317)
* add Vim.en.md * enhance Vim.en.md according to review comments
- Loading branch information
Showing
1 changed file
with
27 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Vim | ||
|
||
## Why Vim | ||
|
||
In my opinion, the Vim editor has the following benefits: | ||
|
||
- It keeps your finger on the keyboard throughout the development and moving the cursor without the arrow keys keeps your fingers in the best position for typing. | ||
- Convenient file switching and panel controls allow you to edit multiple files simultaneously or even different locations of the same file. | ||
- Vim's macros can batch repeat operations (e.g. add tabs to multi-lines, etc.) | ||
- Vim is well-suited for Linux servers without GUI. When you connect to a remote server through `ssh`, you can only develop from the command line because there is no GUI (of course, many IDEs such as VS Code now provide `ssh` plugins to solve this problem). | ||
- A rich ecology of plugins gives you the world's most fancy command-line editor. | ||
|
||
## How to learn Vim | ||
|
||
Unfortunately Vim does have a pretty steep learning curve and it took me a few weeks to get used to developing with Vim. You'll feel very uncomfortable at first, but once you get past the initial stages, trust me, you'll fall in love with Vim. | ||
|
||
There is a vast amount of learning material available on Vim, but the best way to master it is to use it in your daily development, no need to learn all the fancy advanced Vim tricks right away. The recommended learning path is as follows: | ||
|
||
- Read [This tutorial](https://missing.csail.mit.edu/2020/editors/) first to understand the basic Vim concepts and usage. | ||
- Use Vim's own `vimtutor` to practice. After installing Vim, type `vimtutor` directly into the command line to enter the practice program. | ||
- Then you can force yourself to use Vim for development, and you can install Vim plugins in your favourite IDE. | ||
- Once you're fully comfortable with Vim, a new world opens up to you, and you can configure your own Vim on demand (by modifying the `.vimrc` file), and there are countless resources on the Internet to learn from. | ||
|
||
## Recommended References | ||
|
||
- Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. | ||
- Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf. |