Code Monkey home page Code Monkey logo

vim-rengbang's Introduction

vim-rengbang

Build Status Build status

This is Vim plugin for sequencial numbering with pattern.

Screenshot

input 0-99

screenshot1

insert sequencial number to head of line

screenshot2

insert sequencial number before 'foo'

screenshot3

revise sequencial number when array index is slanted

screenshot4

specify format for sequencial number

screenshot5

RengBangConfirm is confirming option at Command-line

screenshot6

use option style

screenshot7

use both argument and option

screenshot8

Usage

Commands

" Select text linewise and you can use following command
" for sequencial numbering (in Japanese called rengbang).

" Sequencial numbering use default settings(ref. global variables).
:'<,'>RengBang
" Specify pattern like this. This sample is for array index.
:'<,'>RengBang \[\zs\(\d\+\)\ze\]
" Start sequencial numbering from 3.
:'<,'>RengBang \(\d\+\)  3
" Start from 3 and 2 step.
:'<,'>RengBang \(\d\+\)  0  2
" Start position use first detected number.
:'<,'>RengBang \(\d\+\)  0  1  1
" Use format %03d for replacing to sequencial number like '001.'.
:'<,'>RengBang \(\d\+\)  0  1  0  %03d.
" Use option same as above
:'<,'>RengBang --pattern=\(\d\+\) --start-number=0 --step-count=1 --format=%03d.
" You can specify both argument and options
:'<,'>RengBang \(\d\+\) 0 --format=%03d. --use-first

" You can use previous command options.
:'<,'>RengBangUsePrev
" Use previous pattern and set other options.
:'<,'>RengBangUsePrev  0  1  0  %d

Functions

" You can use function same as commands, all parameter is option.
" This is function's format.
"   rengbang#rengbang([pattern, start, step, usefirst, format])
"   rengbang#rengbang_use_prev([start, step, usefirst, format])
"   rengbang#rengbang_confirm()

" This is like :'<,'>RengBang \(\d\+\)  0  1  1  %d
:'<,'>call rengbang#rengbang('\(\d\+\)', 0, 1, 1, '%d')
" This is like :'<,'>RengBangUsePrev  1  1  0  %d
:'<,'>call rengbang#rengbang_use_prev(1, 1, 0, '%d')
" This is like :'<,'>RengBangConfirm
:'<,'>call rengbang#rengbang_confirm()

" You can use this function for customizing default settings.
" This is functions format
"   rengbang#config([pattern, start, step, usefirst, format])

" This is only config settings without sequencial numbering.
:call rengbang#config('\(\d\+\)', 0, 1, 1, '%d')

Global variables

" If you want to customize default settings,
" you can change following gloval variable.

" Following settings is default value.
let g:rengbang_default_pattern  = '\(\d\+\)'
let g:rengbang_default_start    = 0
let g:rengbang_default_step     = 1
let g:rengbang_default_usefirst = 0
let g:rengbang_default_confirm_sequence = [
  \ 'pattern',
  \ 'start',
  \ 'step',
  \ 'usefirst',
  \ 'format',
  \ ]

Operators

" You can use following operator.

" This operator like :'<,'>RengBang (use default options).
map <Leader>sr <Plug>(operator-rengbang)
" This operator like :'<,'>RengBangUsePrev (use previous options).
map <Leader>sp <Plug>(operator-rengbang-useprev)

License

MIT License

vim-rengbang's People

Contributors

deris avatar haya14busa avatar

Stargazers

torish14 avatar yukimemi avatar Khalid H. Ahmed avatar ミツバEX avatar aiya000 avatar Tsuyoshi CHO avatar Szymon Maszke avatar  avatar Robert Audi avatar 张大伟 avatar Rust Oceans avatar fx-kirin avatar toshi32tony3 avatar Kohei Arao avatar Takahiro Jinno avatar Mudox avatar  avatar Mike Funk avatar Jan Christoph Ebersbach avatar Rainer Stuetz avatar Zied ABID avatar Adelar da Silva Queiróz avatar Stobenski avatar Stefano Zaghi avatar Stanislav avatar mitsuse avatar Alejandro Exojo avatar Linda_pp avatar Jonathan Barratt avatar Shigetaka Shirouchi avatar hokorobi avatar Λlisue avatar Masaki Takeuchi avatar Tadayuki Tanigawa avatar

Watchers

 avatar James Cloos avatar  avatar

vim-rengbang's Issues

Extract first selected number

It would be great if rengbang would be able to extract the number of the first line selected and than use it as a starting point. Similar to VisIncr's behaviour.

行単位で連番をふる方法

お世話になっております。有末です。

使い方に関する質問なのですが、以下のような変換を行う場合はどのようなパラメータを与えればよいでしょうか?

x1, y1, z1 = p1
x1, y1, z1 = p1
x1, y1, z1 = p1
...
x1, y1, z1 = p1

      |
      v

x1, y1, z1 = p1
x2, y2, z2 = p2
x3, y3, z3 = p3
...
x{n}, y{n}, z{n} = p{n}

ヘルプ等を見てもよくわからなかったため質問させていただきました。

missing doc/rengbang.txt

docが抜けています。とりあえずREADMEをcpしてちょっといじるだけで初期版としては良いと思います!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.