📝 Writing docs.

This commit is contained in:
Zhang Peng 2018-10-08 10:33:32 +08:00
parent df3f204076
commit 81de79b116
3 changed files with 128 additions and 118 deletions

View File

@ -1,6 +1,6 @@
---
title: Vim 学习笔记
date: 2017-11-17
title: Vim 快速指南
date: 2017/11/17
categories:
- linux
tags:
@ -8,15 +8,35 @@ tags:
- vim
---
# Vim 学习笔记
# Vim 快速指南
## 概念
<!-- TOC depthFrom:2 depthTo:3 -->
### 什么是 vim
- [1. 概念](#1-概念)
- [1.1. 什么是 vim](#11-什么是-vim)
- [1.2. Vim 的模式](#12-vim-的模式)
- [2. Vim 渐进学习](#2-vim-渐进学习)
- [2.1. 存活](#21-存活)
- [2.2. 感觉良好](#22-感觉良好)
- [2.3. 更好,更强,更快](#23-更好更强更快)
- [2.4. Vim 超能力](#24-vim-超能力)
- [3. Vim Cheat Sheet](#3-vim-cheat-sheet)
- [3.1. 经典版](#31-经典版)
- [3.2. 入门版](#32-入门版)
- [3.3. 进阶版](#33-进阶版)
- [3.4. 增强版](#34-增强版)
- [3.5. 文字版](#35-文字版)
- [4. 资料](#4-资料)
> Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
<!-- /TOC -->
### Vim 的模式
## 1. 概念
### 1.1. 什么是 vim
Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。
### 1.2. Vim 的模式
基本上 vi/vim 共分为三种模式,分别是**命令模式Command mode****插入模式Insert mode**和**底线命令模式Last line mode**。
@ -38,9 +58,9 @@ tags:
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
## Vim 渐进学习
## 2. Vim 渐进学习
### 第一级 存活
### 2.1. 存活
1. 安装 [vim](http://www.vim.org/)
2. 启动 vim
@ -48,14 +68,14 @@ tags:
当你安装好一个编辑器后,你一定会想在其中输入点什么东西,然后看看这个编辑器是什么样子。但 vim 不是这样的,请按照下面的命令操作:
- 启 动Vim后vim在 *Normal* 模式下。
- 让我们进入 *Insert* 模式,请按下键 i 。(注你会看到vim左下角有一个insert字样表示你可以以插入的方式输入了
- 启 动 Vim 后vim 在 _Normal_ 模式下。
- 让我们进入 _Insert_ 模式,请按下键 i 。(注:你会看到 vim 左下角有一个insert字样表示你可以以插入的方式输入了
- 此时,你可以输入文本了,就像你用“记事本”一样。
- 如果你想返回 *Normal* 模式,请按 `ESC` 键。
- 如果你想返回 _Normal_ 模式,请按 `ESC` 键。
现在,你知道如何在 *Insert* 和 *Normal* 模式下切换了。下面是一些命令,可以让你在 *Normal* 模式下幸存下来:
现在,你知道如何在 _Insert_ 和 _Normal_ 模式下切换了。下面是一些命令,可以让你在 _Normal_ 模式下幸存下来:
> - `i`*Insert* 模式,按 `ESC` 回到 *Normal* 模式.
> - `i`_Insert_ 模式,按 `ESC` 回到 _Normal_ 模式.
> - `x` → 删当前光标所在的一个字符。
> - `:wq` → 存盘 + 退出 (`:w` 存盘, `:q` 退出) (注::w 后可以跟文件名)
> - `dd` → 删除当前行,并把删除的行存到剪贴板里
@ -68,15 +88,14 @@ tags:
你能在 vim 幸存下来只需要上述的那 5 个命令,你就可以编辑文本了,你一定要把这些命令练成一种下意识的状态。于是你就可以开始进阶到第二级了。
当是,在你进入第二级时,需要再说一下 *Normal* 模式。在一般的编辑器下,当你需要 copy 一段文字的时候,你需要使用 `Ctrl` 键,比如:`Ctrl-C`。也就是说,`Ctrl` 键就好像功能键一样,当你按下了功能键 `Ctrl`C 就不在是 C 了,而且就是一个命令或是一个快键键了,**在 vim 的 Normal 模式下,所有的键都是功能键**。这个你需要知道。
当是,在你进入第二级时,需要再说一下 _Normal_ 模式。在一般的编辑器下,当你需要 copy 一段文字的时候,你需要使用 `Ctrl` 键,比如:`Ctrl-C`。也就是说,`Ctrl` 键就好像功能键一样,当你按下了功能键 `Ctrl`C 就不在是 C 了,而且就是一个命令或是一个快键键了,**在 vim 的 Normal 模式下,所有的键都是功能键**。这个你需要知道。
> **标记**
>
> - 下面的文字中,如果是 `Ctrl-λ`我会写成 `<C-λ>`.
> - 以 `:` 开始的命令你需要输入 `<enter>`回车,例如 — 如果我写成 `:q` 也就是说你要输入 `:q<enter>`.
>
### 第二级 感觉良好
### 2.2. 感觉良好
上面的那些命令只能让你存活下来,现在是时候学习一些更多的命令了,下面是我的建议:(注:所有的命令都需要在 Normal 模式下使用,如果你不知道现在在什么样的模式,你就狂按几次 ESC 键)
@ -120,7 +139,7 @@ tags:
花点时间熟悉一下上面的命令,一旦你掌握他们了,你就几乎可以干其它编辑器都能干的事了。但是到现在为止,你还是觉得使用 vim 还是有点笨拙,不过没关系,你可以进阶到第三级了。
### 第三级 更好,更强,更快
### 2.3. 更好,更强,更快
先恭喜你!你干的很不错。我们可以开始一些更为有趣的事了。在第三级,我们只谈那些和 vi 可以兼容的命令。
@ -163,7 +182,7 @@ tags:
下面,让我来说说最强的光标移动:
> - `%` : 匹配括号移动,包括 `(`, `{`, `[`. (注:你需要把光标先移到括号上)
> - `*``#`: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)
> - `*``#`: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(\*是下一个,#是上一个)
相信我,上面这三个命令对程序员来说是相当强大的。
@ -193,11 +212,11 @@ tags:
(注:可视化选择是一个很有意思的命令,你可以先按 v然后移动光标你就会看到文本被选择然后你可能 d也可 y也可以变大写等
### 第四级 Vim 超能力
### 2.4. Vim 超能力
你只需要掌握前面的命令,你就可以很舒服的使用 VIM 了。但是,现在,我们向你介绍的是 VIM 杀手级的功能。下面这些功能是我只用 vim 的原因。
#### 在当前行上移动光标: `0` `^` `#### `f` `F` `t` `T` `,` `;`
#### 在当前行上移动光标: `0` `^` `####`f`F`t`T`,``;`
> - `0` → 到行头
> - `^` → 到本行的第一个非 blank 字符
@ -309,10 +328,47 @@ tags:
![Split](http://upload-images.jianshu.io/upload_images/3101171-f329d01e299cb366.gif?imageMogr2/auto-orient/strip)
## Vim 命令
## 3. Vim Cheat Sheet
![image.png](http://upload-images.jianshu.io/upload_images/3101171-d11e01e8ebb89308.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
> 本节内容的原文地址:[http://cenalulu.github.io/linux/all-vim-cheatsheat/](http://cenalulu.github.io/linux/all-vim-cheatsheat/)
## 资料
### 3.1. 经典版
下面这个键位图应该是大家最常看见的经典版了。其实这个版本是一系列的入门教程键位图的组合结果。要查看不同编辑模式下的键位图,可以看[这里打包下载](http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html)
此外,[这里](http://blog.ngedit.com/vi-vim-cheat-sheet-sch.gif)还有简体中文版。
![](http://dunwu.test.upcdn.net/images/linux/vim/vim-cheat-sheet.png)
### 3.2. 入门版
基本操作的入门版。[原版出处](https://github.com/ahrencode/Miscellaneous)还有 keynote 版本可供 DIY 以及其他相关有用的 cheatsheet。
![](http://dunwu.test.upcdn.net/images/linux/vim/basic-vim-cheat-sheet.png)
### 3.3. 进阶版
下图是 300DPI 的超清大图,另外[查看原文](http://michael.peopleofhonoronly.com/vim/)还有更多版本:黑白,低分辨率,色盲等
![](http://dunwu.test.upcdn.net/images/linux/vim/vim-cheat-sheet-for-programmers.png)
### 3.4. 增强版
下图是一个更新时间较新的现代版,含有的信息也更丰富。[原文链接](http://vimcheatsheet.com/)
![](http://dunwu.test.upcdn.net/images/linux/vim/vim-cheat-sheet-02.png)
### 3.5. 文字版
[原文链接](http://tnerual.eriogerg.free.fr/vimqrc.pdf)
![](http://dunwu.test.upcdn.net/images/linux/vim/vim-cheat-sheet-text-01.png)
![](http://dunwu.test.upcdn.net/images/linux/vim/vim-cheat-sheet-text-02.png)
## 4. 资料
- [简明 VIM 练级攻略](https://coolshell.cn/articles/5426.html) Vim 渐进学习内容来源于这篇文章,作为 Vim 新手,我觉得入门效果很好。
- [vim 官方文档](https://vim.sourceforge.io/docs.php)
- [vim-galore](https://github.com/mhinz/vim-galore)
- [Vim 入门基础](http://www.jianshu.com/p/bcbe916f97e1)

View File

@ -1,8 +0,0 @@
# vim
## 资料
* [vim 官方文档](https://vim.sourceforge.io/docs.php)
* [vim-galore](https://github.com/mhinz/vim-galore)
* [Vim入门基础](http://www.jianshu.com/p/bcbe916f97e1)
* [简明 VIM 练级攻略](https://coolshell.cn/articles/5426.html)

View File

@ -1,38 +0,0 @@
# Vim 快捷键图
> 作者:卢钧轶(cenalulu)
> 本文原文地址:[http://cenalulu.github.io/linux/all-vim-cheatsheat/](http://cenalulu.github.io/linux/all-vim-cheatsheat/)
## 经典版
下面这个键位图应该是大家最常看见的经典版了。其实这个版本是一系列的入门教程键位图的组合结果。要查看不同编辑模式下的键位图,可以看[这里打包下载](http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html)
此外,[这里](http://blog.ngedit.com/vi-vim-cheat-sheet-sch.gif)还有简体中文版。
![classic](http://upload-images.jianshu.io/upload_images/3101171-07782aba6233a1c2.gif?imageMogr2/auto-orient/strip)
## 入门版
基本操作的入门版。[原版出处](https://github.com/ahrencode/Miscellaneous)还有keynote版本可供DIY以及其他相关有用的cheatsheet。
![image.png](http://upload-images.jianshu.io/upload_images/3101171-bb0d3d5bb39ff0d5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
## 进阶版
下图是300DPI的超清大图另外[查看原文](http://michael.peopleofhonoronly.com/vim/)还有更多版本:黑白,低分辨率,色盲等
![image.png](http://upload-images.jianshu.io/upload_images/3101171-b80107fa38427f41.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
## 增强版
下图是一个更新时间较新的现代版,含有的信息也更丰富。[原文链接](http://vimcheatsheet.com/)
![image.png](http://upload-images.jianshu.io/upload_images/3101171-4ec3a6bf269ff714.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
## 文字版
[原文链接](http://tnerual.eriogerg.free.fr/vimqrc.pdf)
![image.png](http://upload-images.jianshu.io/upload_images/3101171-d6a063abdc7dac81.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![image.png](http://upload-images.jianshu.io/upload_images/3101171-a9923bf42ec0af89.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)