vim-cycle


Ⅰ. 插件描述

A vim plugin to toggle words between pairs or lists of related words.

Ⅱ. 基本信息

创建日期:  2011-02-23
使用用户:  13
Github星:  55
插件作者:  Zef Houssney

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'zef/vim-cycle'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'zef/vim-cycle'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'zef/vim-cycle'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/zef/vim-cycle

Ⅳ. 文档说明

Cycle.vim

A Vim plugin that allows you to toggle between pairs or lists of related words.
Use by placing your cursor on a word, like left, and press control-a.
The word will be replaced with right.
The default mappings are the same as those with which you can increment and
decrement a number under the cursor: <C-A> and <C-X>, respectively.

Check out the code
to see what cycle groups are included by default.

Customization

You can add your own word groups:

call AddCycleGroup(['one', 'two', 'three'])

To deal with conflicts, Cycle.vim also supports adding groups that are specific
to a certain filetype:

call AddCycleGroup('ruby', ['class', 'module'])
call AddCycleGroup('python', ['else', 'elif'])

When multiple groups define the same word, groups belonging to specific
filetypes will be used instead of global groups. This is useful in the cases
above, since in HTML we would want class to cycle with id and Python uses
elif while some other languages use else if or elsif.

Providing a list of filetypes is also supported:

call AddCycleGroup(['ruby', 'eruby', 'perl'], ['else', 'elsif'])

However, if there are no conflicting cases it is preferable to define all cycle
groups in the global namespace, using filetype-specific groups only in case of
conflict.

Matches are evaluated in reverse order, so whatever has been defined most
recently will take precedence over groups defined previously. Keep this in mind
when defining new cycle groups to make sure broad definitions are not matched
when they are not desired.

Todo

  • The ability to handle pairs: quotes, brackets, html tags, etc.
  • Operate on non-lowercase text and retain case
  • Put cursor back at beginning of word if it started there

Bugs

  • Does not work with speeddating.vim - currently won't work if speeddating is
    installed.

添加新评论