Fix all errors detect by vim script

This commit is contained in:
wsdjeg 2017-03-25 20:49:46 +08:00
parent 0fad103137
commit 82181481c8

View File

@ -19,8 +19,8 @@
## [基础](#基础-1)
- [缓冲区, 窗口, 标签](#缓冲区窗口标签)
- [当前缓冲区, 加载缓冲区, 缓冲区列表,命名缓冲区](#已激活已载入已列出已命名缓冲区)
- [缓冲区,窗口,标签](#缓冲区窗口标签)
- [当前缓冲区,加载缓冲区,缓冲区列表,命名缓冲区](#已激活已载入已列出已命名缓冲区)
- [参数列表](#参数列表)
- [按键映射](#按键映射)
- [快捷键前缀](#快捷键前缀)
@ -51,7 +51,7 @@
- [剪贴板使用 (Windows, OSX)](#剪贴板使用-windows-osx)
- [剪贴板使用 (Linux, BSD, ...)](#剪贴板使用-linux-bsd-)
- [打开文件时恢复光标位置](#打开文件时恢复光标位置)
- [备份文件,交换文件,撤销文件以及viminfo文件的处理](#备份文件交换文件撤销文件以及viminfo文件的处理)
- [备份文件,交换文件,撤销文件以及 viminfo 文件的处理](#备份文件交换文件撤销文件以及-viminfo-文件的处理)
- [编辑远程文件](#编辑远程文件)
- [插件管理](#插件管理)
- [片段插入](#片段插入)
@ -60,15 +60,15 @@
## [技巧](#技巧-1)
- [聪明的使用n和N](#聪明的使用n和n)
- [聪明的使用 n N](#聪明的使用-n--n)
- [聪明的使用命令行历史](#聪明的使用命令行历史)
- [智能CTRL-L](#智能ctrl-l)
- [智能 Ctrl-l](#智能-ctrl-l)
- [禁用错误报警声音和图标](#禁用错误报警声音和图标)
- [快速移动当前行](#快速移动当前行)
- [快速添加空行](#快速添加空行)
- [快速编辑自定义宏](#快速编辑自定义宏)
- [快速跳转到源(头)文件](#快速跳转到源头文件)
- [GUI中快速改变字体大小](#在gui中快速改变字体大小)
- [ GUI 中快速改变字体大小](#在-gui-中快速改变字体大小)
- [根据模式改变光标类型](#根据模式改变光标类型)
- [防止水平滑动的时候失去选择](#防止水平滑动的时候失去选择)
- [重新载入保存文件](#重新载入保存文件)
@ -87,7 +87,7 @@
- [查看启动日志](#查看启动日志)
- [查看运行时日志](#查看运行时日志)
- [调整日志等级](#调整日志等级)
- [Vim脚本调试](#vim脚本调试)
- [Vim 脚本调试](#vim-脚本调试)
- [语法文件调试](#语法文件调试)
## [杂项](#杂项-1)
@ -95,17 +95,17 @@
- [附加资源](#附加资源)
- [Vim 配置集合](#vim-配置集合)
- [内置插件](#内置插件)
- [Control映射到CapsLock](#将control映射到capslock)
- [ Control 映射到 CapsLock](#将-control-映射到-capslock)
- [复活节彩蛋](#复活节彩蛋)
- [为何使用hjkl](#为何使用hjkl)
- [为何使用 hjkl](#为何使用-hjkl)
## [怪癖](#怪癖-1)
- [编辑小文件很慢](#编辑小文件很慢)
- [编辑大文件很慢](#编辑大文件很慢)
- [新行用于NUL](#新行用于nul)
- [新行用于 NUL](#新行用于-nul)
- [相同部分粘贴 (要不为什么我总要设置‘粘贴’?)](#相同部分粘贴-要不为什么我总要设置粘贴)
- [在终端使用Esc延时](#在终端使用esc延时)
- [在终端使用 Esc 延时](#在终端使用-esc-延时)
- [无法重复函数中执行的搜索](#无法重复函数中执行的搜索)
## [主题列表](#主题列表-1)
@ -120,15 +120,15 @@
## 什么是 Vim
[Vim](http://www.vim.org) 是一个历史悠久的文本编辑器,可以追溯到 [qed](https://en.wikipedia.org/wiki/QED_(text_editor))。[Bram
Moolenaar](https://en.wikipedia.org/wiki/Bram_Moolenaar) 于1991年发布初始版本。
Moolenaar](https://en.wikipedia.org/wiki/Bram_Moolenaar) 于 1991 年发布初始版本。
该项目托管在 [vim.org](http://www.vim.org/index.php)。
获取Vim用包管理器安装或者直接到 vim.org [下载](http://www.vim.org/download.php)。
获取 Vim用包管理器安装或者直接到 vim.org [下载](http://www.vim.org/download.php)。
讨论使用相关问题最好使用 [vim_use](https://groups.google.com/forum/#!forum/vim_use) 邮件列表或者使用 IRC([Freenode](https://freenode.net)) 的 `#vim` 频道。
欢迎加入我们的中文讨论群:[![QQ](https://img.shields.io/badge/QQ-121056965-blue.svg)](https://jq.qq.com/?_wv=1027&k=43DB6SG)
欢迎加入我们的中文讨论群:[![QQ](https://img.shields.io/badge/QQ%e7%be%a4-121056965-blue.svg)](https://jq.qq.com/?_wv=1027&k=43DB6SG)
项目在 [Github](https://github.com/vim/vim) 上开发,项目讨论请订阅 [vim_dev](https://groups.google.com/forum/#!forum/vim_dev) 邮件列表。
@ -136,9 +136,9 @@ Moolenaar](https://en.wikipedia.org/wiki/Bram_Moolenaar) 于1991年发布初始
## Vim 哲学
Vim 采用模式编辑的理念,即它提供了多种模式,按键在不同的模式下作用不同。你可以在 _普通模式_ 下浏览文件, 在 _插入模式_ 下插入文本, 在 _可视模式_ 下选择行, _命令模式_ 下执行命令等等。起初这听起来可能很复杂,但是这有一个很大的优点:不需要通过同时按住多个键来完成操作,大多数时候你只需要依次按下这些按键即可。越常用的操作,所需要的按键数量越少。
Vim 采用模式编辑的理念,即它提供了多种模式,按键在不同的模式下作用不同。你可以在 _普通模式_ 下浏览文件,在 _插入模式_ 下插入文本,在 _可视模式_ 下选择行,_命令模式_ 下执行命令等等。起初这听起来可能很复杂,但是这有一个很大的优点:不需要通过同时按住多个键来完成操作,大多数时候你只需要依次按下这些按键即可。越常用的操作,所需要的按键数量越少。
和模式编辑紧密相连的概念是“操作符”和“动作”。_操作符_开始一些行为例如修改删除或者选择文本。之后你要用一个_动作_来指定需要操作的文本区域。比如要改变括号内的文本需要执行 `ci(` (读做 _change inner parentheses_);删除整个段落的内容,需要执行 `dap` (读做: _delete
和模式编辑紧密相连的概念是“操作符”和“动作”。_操作符_开始一些行为例如修改删除或者选择文本。之后你要用一个_动作_来指定需要操作的文本区域。比如要改变括号内的文本需要执行 `ci(` (读做 _change inner parentheses_);删除整个段落的内容,需要执行 `dap` 读做_delete
around paragraph_
如果你能看见 Vim 老司机操作,你会发现他们使用 Vim 脚本语言就如同钢琴师弹钢琴一样。复杂的操作只需要几个按键就能完成。他们甚至不用刻意去想,因为这已经成为[肌肉记忆](https://en.wikipedia.org/wiki/Muscle_memory)了。这减少[认识负荷](https://en.wikipedia.org/wiki/Cognitive_load)并帮助人们专注于实际任务。
@ -169,9 +169,9 @@ Vim 基于一个 [vi](https://en.wikipedia.org/wiki/Vi) 克隆,叫做 [Stevie]
用户的 vimrc 配置文件可以放在 `~/.vimrc`,或者为了更好的分离放在 `~/.vim/vimrc`,后者更便于通过版本控制软件备份和同步整个配置,比方说 Github。
你可以在网上找到许多精简的 vimrc 配置文件, 我的版本可能并不是最简单的版本,但是我的版本提供了一套我认为良好的,非常适合入门的设置。
你可以在网上找到许多精简的 vimrc 配置文件我的版本可能并不是最简单的版本,但是我的版本提供了一套我认为良好的,非常适合入门的设置。
最终你需要阅读完那些设置,然后自行决定需要使用哪些。 :-)
最终你需要阅读完那些设置,然后自行决定需要使用哪些。:-)
精简的 vimrc 地址:[minimal-vimrc](contents/minimal-vimrc.vim)
@ -191,7 +191,7 @@ Vim 基于一个 [vi](https://en.wikipedia.org/wiki/Vi) 克隆,叫做 [Stevie]
一些功能特性需要编译支持才能正常工作。例如:为了让 `:prof` 工作,你需要使用 `huge` 模式编译的 Vim因为那种模式启用了 `+profile` 特性。
如果你的输出情况并不是那样,并且你是从包管理器安装 Vim 的,确保你安装了 `vim-x``vim-x11``vim-gtk``vim-gnome` 这些包或者相似的, 因为这些包通常都是 `huge` 模式编译的。
如果你的输出情况并不是那样,并且你是从包管理器安装 Vim 的,确保你安装了 `vim-x``vim-x11``vim-gtk``vim-gnome` 这些包或者相似的因为这些包通常都是 `huge` 模式编译的。
你也可以运行下面这段代码来测试 Vim 版本以及功能支持:
@ -238,7 +238,7 @@ Vim 是一个文本编辑器。每次文本都是作为**缓冲区**的一部分
**标签页** (标签)是窗口的集合。因此使用标签当你想使用多种窗口布局的时候。
简单的说,如果你启动VIM的时候没有附带任何参数,你会得到一个包含着一个呈现一个缓冲区的窗口的标签。
简单的说,如果你启动 Vim 的时候没有附带任何参数,你会得到一个包含着一个呈现一个缓冲区的窗口的标签。
顺带提一下,缓冲区列表是全局可见的,你可以在任何标签中访问任何一个缓冲区。
@ -270,13 +270,13 @@ Vim 是一个文本编辑器。每次文本都是作为**缓冲区**的一部分
:argdo %s/foo/bar/ge | update
```
这条命令将替换掉当前目录下以及当前目录的子目录中所有的C源文件和头文件中的“foo”并用“bar”代替。
这条命令将替换掉当前目录下以及当前目录的子目录中所有的 C 源文件和头文件中的“foo”并用“bar”代替。
相关帮助:`:h argument-list`
## 按键映射
使用 `:map` 命令家族你可以定义属于你自己的快捷键。该家族的每一个命令都限定在特定的模式下。从技术上来说 Vim 自带高达12中模式其中6种可以被映射。另外一些命令作用于多种模式
使用 `:map` 命令家族你可以定义属于你自己的快捷键。该家族的每一个命令都限定在特定的模式下。从技术上来说 Vim 自带高达 12 中模式,其中 6 种可以被映射。另外一些命令作用于多种模式:
|   递归   |   非递归     | 模式                           |
|-----------|---------------|----------------------------------|
@ -358,7 +358,7 @@ Vim 是一个文本编辑器。每次文本都是作为**缓冲区**的一部分
## 剪贴板使用 (Windows, OSX)
## 剪贴板使用 (Linux, BSD, ...)
## 打开文件时恢复光标位置
## 备份文件交换文件撤销文件以及viminfo文件的处理
## 备份文件,交换文件,撤销文件以及 viminfo 文件的处理
## 编辑远程文件
## 插件管理
## 片段插入
@ -366,15 +366,15 @@ Vim 是一个文本编辑器。每次文本都是作为**缓冲区**的一部分
## MatchIt
# 技巧
## 聪明的使用n和N
## 聪明的使用 n N
## 聪明的使用命令行历史
## 智能CTRL-L
## 智能 Ctrl-l
## 禁用错误报警声音和图标
## 快速移动当前行
## 快速添加空行
## 快速编辑自定义宏
## 快速跳转到源(头)文件
## 在GUI中快速改变字体大小
## 在 GUI 中快速改变字体大小
## 根据模式改变光标类型
## 防止水平滑动的时候失去选择
## 重新载入保存文件
@ -391,23 +391,23 @@ Vim 是一个文本编辑器。每次文本都是作为**缓冲区**的一部分
## 查看启动日志
## 查看运行时日志
## 调整日志等级
## vim脚本调试
## vim 脚本调试
## 语法文件调试
# 杂项
## 附加资源
## Vim 配置集合
## 内置插件
## 将Control映射到CapsLock
## 将 Control 映射到 CapsLock
## 复活节彩蛋
## 为何使用hjkl
## 为何使用 hjkl
# 怪癖
## 编辑小文件很慢
## 编辑大文件很慢
## 新行用于NUL
## 新行用于 NUL
## 相同部分粘贴 (要不为什么我总要设置‘粘贴’?)
## 在终端使用Esc延时
## 在终端使用 Esc 延时
## 无法重复函数中执行的搜索
## 主题列表