From 27406f4fa9e486323092db4c667b8f0814edab66 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Sun, 11 Jun 2017 20:54:12 +0800 Subject: [PATCH 1/3] Ignore warnning msg --- autoload/SpaceVim/api/vim/highlight.vim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/autoload/SpaceVim/api/vim/highlight.vim b/autoload/SpaceVim/api/vim/highlight.vim index 0765bafd6..482676a83 100644 --- a/autoload/SpaceVim/api/vim/highlight.vim +++ b/autoload/SpaceVim/api/vim/highlight.vim @@ -70,10 +70,16 @@ function! s:self.hide_in_normal(name) abort endif if &termguicolors || has('gui_running') let bg = self.group2dict('Normal').guibg + if empty(bg) + return + endif let group.guifg = bg let group.guibg = bg else let bg = self.group2dict('Normal').ctermbg + if empty(bg) + return + endif let group.ctermfg = bg let group.ctermbg = bg endif From 20294cc4280b44cffa2bab402dc665e0fed35873 Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Fri, 16 Jun 2017 23:37:28 +0800 Subject: [PATCH 2/3] Update php.vim (#632) --- autoload/SpaceVim/layers/lang/php.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/SpaceVim/layers/lang/php.vim b/autoload/SpaceVim/layers/lang/php.vim index 18b1c7182..977752dde 100644 --- a/autoload/SpaceVim/layers/lang/php.vim +++ b/autoload/SpaceVim/layers/lang/php.vim @@ -21,7 +21,7 @@ function! SpaceVim#layers#lang#php#plugins() abort call add(plugins, ['StanAngeloff/php.vim', { 'on_ft' : 'php'}]) call add(plugins, ['2072/PHP-Indenting-for-VIm', { 'on_ft' : 'php'}]) call add(plugins, ['rafi/vim-phpspec', { 'on_ft' : 'php'}]) - call add(plugins, ['lvht/phpfold.vim', { 'on_ft' : 'php'}]) + call add(plugins, ['lvht/phpfold.vim', { 'on_ft' : 'php', 'build' : 'composer install'}]) return plugins endfunction From 5048909b2a2dd1b56a5788b16539c679ad0511ca Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Sat, 17 Jun 2017 10:37:07 +0800 Subject: [PATCH 3/3] Create 2017-02-11-vim8-new-feature-timers-zh_cn.md (#633) * Create 2017-02-11-vim8-new-feature-timers-zh_cn.md * Update 2017-02-11-vim8-new-feature-timers-zh_cn.md * Update README_zh_cn.md * Update README_zh_cn.md * Update 2017-02-11-vim8-new-feature-timers-zh_cn.md * Add example for starting a timer * Update 2017-02-11-vim8-new-feature-timers-zh_cn.md --- docs/README_zh_cn.md | 15 +++++ ...017-02-11-vim8-new-feature-timers-zh_cn.md | 58 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 docs/_posts/2017-02-11-vim8-new-feature-timers-zh_cn.md diff --git a/docs/README_zh_cn.md b/docs/README_zh_cn.md index 1b713b41f..35bb4534b 100644 --- a/docs/README_zh_cn.md +++ b/docs/README_zh_cn.md @@ -168,3 +168,18 @@ let g:spacevim_guifont = 'DejaVu\ Sans\ Mono\ for\ Powerline\ 11' `g:spacevim_guifont` | '' | 设置SpaceVim字体 `g:spacevim_sidebar_width` | 30 | 设置边栏宽度,文件树以及语法树 `g:spacevim_custom_plugins` | `[]` | 设置自定义插件 + + +### 延伸阅读 + +#### Vim 8 新特新之旅 + +
    + {% for post in site.categories.tutorials_cn %} +
  • + {{ post.title }} +
  • + {% endfor %} +
+ + diff --git a/docs/_posts/2017-02-11-vim8-new-feature-timers-zh_cn.md b/docs/_posts/2017-02-11-vim8-new-feature-timers-zh_cn.md new file mode 100644 index 000000000..fbc7a79dd --- /dev/null +++ b/docs/_posts/2017-02-11-vim8-new-feature-timers-zh_cn.md @@ -0,0 +1,58 @@ +--- +title: "VIM 8 新特性之旅: 定时器 (timers)" +categories: tutorials_cn +excerpt: "VIM 8 新特性之旅系列教程 - 定时器" +--- + +## 定时器( timer ) +> vim 需要支持 +timers 特性 + +### 什么是定时器? + +Vim 的定时器是指在指定时间后重复指定次数执行某个回调函数。 这一功能需要 Vim 支持 `+timers` 特性。 + +### 启动定时器 + +`timer_start({毫秒}, {回调函数}[,{选项}])` + +Vim 中这个方法将创建一个计时器,并且返回这个定时器的 ID。 回调函数接受一个参数,可以是字符串,表示方法具体名称,也可以是 `Funcref` 变量。 下面是一个示例: + +```vim +func MyHandler(id) + echo 'This is handler called for timer-' . a:id +endfunc +let timer = timer_start(500, 'MyHandler', + \ {'repeat': 3}) +``` + +#### 获取定时器信息 + +`timer_info([{ID}])` + +这个方法会返回一个存储定时器信息的列表, 当编号为 ID 的定时器不存在,将返回一个空的列表,当直接调用这个方法, 而不传递任何参数时,将返回所有定时器的信息。返回列表中每一个元素实际上是一个字典数据类型,具体的结构如下: + + + { + "id" : 该定时器的 ID, + "time" : 定时器启动是所设置的毫秒数, + "remaining" : 距定时器启动还剩余的毫秒数, + "repeat" : 定时器还需要重复执行的次数,无限执行则返回 -1, + "callback" : 回调函数, + "paused" : 是否被暂停,是则返回 1,否则返回 0 + } +     +#### 暂停定时器 + +`timer_pause({ID} , {是否})` + +这个方法接受 2 个参数,第一个参数是 定时器的 ID, 第二个参数是决定是 暂停 还是 取消暂停 的关键,当第二个参数是一个非 0 数值,或非空字符串,则该定时器被暂停,否则即为取消暂停。 + +#### 停止定时器 + +`timer_stop([{ID}])` + +停止一个编号为 ID 的定时器,ID 即为 timer_start() 方法的返回值,因此必须为数值,即便编号为 ID 的定时器不存在,这个方法也不会报错。 + +另外一个方法 timer_stopall(), 将停止所有定时器。就个人来看 vim 这个方法设计并不完美, 一个软件的方法命名应该存在一定的规则,比如前面的 timer_info() 就是一个可变参数的方法,当无参执行是返回所有定时器的信息,那么这个 timer_staop() 应该也是可以参数方法,无参执行时取消所有定时器。当然了这个仅仅是个人意见。 + +查阅跟多 Vim 中文教程,请阅读: