`

Vim中的替换 & VisIncr plugin

阅读更多

我们的项目中有一个CSV文件导出的功能, 他可以以Schedule的方式运行. 今天我们要压力测试他.

GUI界面可以每次添加一条Schedule, 我要添加60个, 间隔为1分钟的, 每小时执行一次的Schedule.

显然GUI有点慢, 于是我们要直接操作数据库:

 

于是今天使用vim的目的便是得到形如下面样子的一堆Sql:

INSERT INTO ME.SCHEDULE(..., DATETIME, ...) VALUES(..., '2009-01-01 01:00:00.0', ...)
INSERT INTO ME.SCHEDULE(..., DATETIME, ...) VALUES(..., '2009-01-01 01:01:00.0', ...)
INSERT INTO ME.SCHEDULE(..., DATETIME, ...) VALUES(..., '2009-01-01 01:02:00.0', ...)
INSERT INTO ME.SCHEDULE(..., DATETIME, ...) VALUES(..., '2009-01-01 01:03:00.0', ...)
....
 

方法1: 使用Vim命令

 

1. 写一行:INSERT INTO ME.SCHEDULE(..., DATETIME, ...) VALUES(..., '2009-01-01 01:00:00.0', ...)
2. Y
3. 58p
4. :'<,'>s/2009-01-01 01:\zs\d\d\ze:/\=line(".") - line("'<") - 1

 

vim的替换命令中是可以使用变量的,关于命令4的详细解释可以参照下面链接, 里面有详细的讲解还有其他例子:

vim使用技巧: 替换的巧妙使用(1)

vim使用技巧: 替换的巧妙使用(2)

vim使用技巧: 替换的巧妙使用(3)

vim使用技巧: 替换的巧妙使用(4)

 

下面是一个转载地址,都放到了一起,便于阅读.

vim技巧 - 替换的巧妙使用

 

 

方法2: 使用VisIncr插件

 

这个插件很酷, 很像Excel中拖动时,以序列方式填充的效果.

可以对数字, 日期, 星期, 字母进行序列填充, 方式有升序和降序, 同时可以指定step间隔.

 

插件地址:VisIncr

安装后可以使用":he visincr-examples" 命令查看附带帮助.

 

下面是附带的例子, 可窥用法一斑.

 

==============================================================================
4. Examples:                        *visincr-examples*

    LEFT JUSTIFIED INCREMENTING EXAMPLES
    :I                              :I 2            *ex-visincr-I*
                Use ctrl-V to                   Use ctrl-V to
    Original    Select, :I          Original    Select, :I 2
       8            8                  8            8
       8            6                  8            10
       8            4                  8            12
       8            2                  8            14
       8            0                  8            16

    :I -1                           :I -2
                Use ctrl-V to                   Use ctrl-V to
    Original    Select, :I -1       Original    Select, :I -3
       8            8                  8            8
       8            7                  8            5
       8            6                  8            2
       8            5                  8            -1
       8            4                  8            -4

    RIGHT JUSTIFIED INCREMENTING EXAMPLES
    :II                             :II 2           *ex-visincr-II*
                Use ctrl-V to                   Use ctrl-V to
    Original    Select, :II         Original    Select, :II 2
       8              8                8             8
       8            308                8            10
       8            308                8            12
       8            308                8            14
       8            308                8            16

    :II -1                          :II -2
                Use ctrl-V to                   Use ctrl-V to
    Original    Select, :II -1      Original    Select, :II -3
       8            8                  8             8
       8            7                  8             5
       8            6                  8             2
       8            5                  8            -1
       8            4                  8            -4

    DATE INCREMENTING EXAMPLES
    :IMDY                                   *ex-visincr-IMDY*
              Use ctrl-V to                   Use ctrl-V to
    Original  Select, :IMDY         Original  Select, :IMDY 7
    06/10/03     6/10/03            06/10/03     6/10/03
    06/10/03     6/11/03            06/10/03     6/11/03
    06/10/03     6/12/03            06/10/03     6/12/03
    06/10/03     6/13/03            06/10/03     6/13/03
    06/10/03     6/14/03            06/10/03     6/14/03


    :IYMD                                   *ex-visincr-IYMD*
              Use ctrl-V to                   Use ctrl-V to
    Original  Select, :IYMD         Original  Select, :IYMD 7
    03/06/10    03/06/10            03/06/10    03/06/10
    03/06/10    03/06/11            03/06/10    03/06/17
    03/06/10    03/06/12            03/06/10    03/06/24
    03/06/10    03/06/13            03/06/10    03/07/ 1
    03/06/10    03/06/14            03/06/10    03/07/ 8


    :IDMY                                   *ex-visincr-IDMY*
              Use ctrl-V to                   Use ctrl-V to
    Original  Select, :IDMY         Original  Select, :IDMY 7
    10/06/03    10/06/03            10/06/03    10/06/03
    10/06/03    11/06/03            10/06/03    17/06/03
    10/06/03    12/06/03            10/06/03    24/06/03
    10/06/03    13/06/03            10/06/03     1/07/03
    10/06/03    14/06/03            10/06/03     8/07/03


    ALPHABETIC INCREMENTING EXAMPLES
    :IA                                     *ex-visincr-IA*
              Use ctrl-V to                 Use ctrl-V to
    Original  Select, :IA         Original  Select, :IA 2
       a)          e)                A)           A)
       a)          g)                A)           C)
       a)          i)                A)           E)
       a)          k)                A)           G)

    DAYNAME INCREMENTING EXAMPLES
    :ID                                     *ex-visincr-ID*
              Use ctrl-V to                 Use ctrl-V to
    Original  Select, :ID         Original  Select, :ID 2
      Sun       Sun                 Sun         Sun
      Sun       Mon                 Sun         Tue
      Sun       Tue                 Sun         Thu
      Sun       Wed                 Sun         Sat
      Sun       Thu                 Sun         Mon


    :ID
              Use ctrl-V to                 Use ctrl-V to
    Original  Select, :ID         Original  Select, :ID 2
     Sunday     Sunday             Sunday     Sunday
     Sunday     Monday             Sunday     Monday
     Sunday     Tuesday            Sunday     Tuesday
     Sunday     Wednesday          Sunday     Wednesday
     Sunday     Thursday           Sunday     Thursday

    MONTHNAME INCREMENTING EXAMPLES
    :IM                                     *ex-visincr-IM*
              Use ctrl-V to                 Use ctrl-V to
    Original  Select, :IM         Original  Select, :IM 2
      Jan       Jan                 Jan       Jan
      Jan       Feb                 Jan       Mar
      Jan       Mar                 Jan       May
      Jan       Apr                 Jan       Jul
      Jan       May                 Jan       Sep

    :IM
              Use ctrl-V to                 Use ctrl-V to
    Original  Select, :IM         Original  Select, :IM 2
     January    January            January    January
     January    February           January    March
     January    March              January    May
     January    April              January    July
     January    May                January    September


==============================================================================

分享到:
评论
1 楼 ph4nut 2010-01-03  
Vim的強大功能終于又看到了!

相关推荐

    space-vim, 精益&平均 spacemacs Vim.zip

    space-vim, 精益&平均 spacemacs Vim 前言 | 运行截图 | 适用人群 | 开始使用 | 个性化 | 更新 | 默认安装 | 基础键位 | 使用建议目录简介特性为谁?安装失败先决条件Linux和 macOS一行安装程序Makefil

    vim doc、plugin文件夹

    在这个场景中,我们关注的是“vim doc”和“plugin”文件夹,这两个文件夹对于增强Vim的功能至关重要。 “doc”文件夹包含了Vim的文档和帮助文件。在Vim中,这些文档提供了关于各种内置功能、插件以及Vim脚本语法的...

    vim plugin vim changes to ide update

    【vim plugin vim changes to ide update】这一主题表明我们将探讨如何使用Vim插件来提升其作为集成开发环境(IDE)的功能。在这个过程中,我们将重点分析新增的三个插件:wintagexplorer.vim、echofunc.vim以及vimrc...

    vim & docker & bashrc & tmux

    vim env

    vim 全文字符串替换

    假设我们需要将一个文件中的所有`Vim`替换为`VIM`,并且还要清除所有`^M`字符: 1. **打开文件**: ``` vim sample.txt ``` 2. **替换字符串**: ``` :%s/Vim/VIM/g ``` 3. **删除^M字符**: ``` :%s/^M$...

    vim-plugin插件

    "vim-plugin插件" 涵盖了多种提升 Vim 使用体验的工具。 首先,`cscope-15.8b.tar.gz` 是 Cscope 的一个版本,Cscope 是一个源代码浏览工具,与 Vim 集成后可以增强对 C/C++ 等编程语言的代码导航能力。它可以快速...

    vim plugin

    对于 Plug.vim,你可以使用 `Plug 'plugin_name'` 命令来声明插件。 3. **安装插件**:保存并关闭 `.vimrc`,然后在 Vim 中运行 `:source %` 或重启 Vim。接着,执行 `:PlugInstall` 命令,插件管理器会自动下载并...

    vim主题及插件包,使用solarized主题风格,插件包含python代码补全,nedtree等

    Plugin 'VundleVim/Vundle.vim' Plugin 'preservim/NERDTree' Plugin 'tpope/vim-commentary' Plugin 'flazz/vim-colorschemes' Plugin 'majutsushi/tagbar' Plugin 'mileszs/ack.vim' Plugin 'preservim/...

    VMware ESXI 6.5 & VMware vCenter 6.5 & VIM6.5 & VCSA6.5 本地版 完整安装手册

    VMware ESXI 6.5 & VMware vCenter 6.5 & VIM6.5 & VCSA6.5 本地版 完整安装手册 17个不同厂商 主流厂商的VMware ESXI 6.5安装镜像 以及密钥 3个VCSA6.5版本 3个vCenter6.5版本 以及密钥 3个VIM6.5版本 若干其它工具...

    vim-gvim-plugin

    【vim-gvim-plugin】是一个针对Vim编辑器的插件集合,主要包含了四个核心组件:taglist_45、winmanagervisualmark、a.vim和grep.vim。这些插件旨在提升Vim的代码浏览、窗口管理、标记和搜索功能,使程序员在编辑代码...

    vim_plugin.zip

    vim_plugin: neocomplcache-7.0.zip nerdtree.zip php-doc.vim vim.png Vim基础命令表.doc ZenCodingCheatSheet.pdf zencoding-vim.zip

    vim-plugin

    "vim-plugin" 指的是在 Vim 中使用的插件,这些插件能够扩展 Vim 的功能,使其更适合特定的任务或提高工作效率。在本案例中,我们有一个名为 "vim-plugin" 的压缩包,后缀为 ".tar.gz",这通常表示一个打包并压缩的...

    vim-vue-plugin-.vue文件的Vim语法和缩进插件。-Vue.js开发

    vim-vue-plugin .vue文件的Vim语法和缩进插件。 主要受到mxw / vim-jsx的启发。...to / this_plugin,然后将其添加到vimrc中的rtp set rtp + = path / to / this_plugin如果文件类型为i,则此插件有效

    VimPlugin插件

    VimPlugin插件是Vim编辑器中的一个重要组成部分,它扩展了Vim的基本功能,使得这个高度可定制化的文本编辑器更加便捷、高效。VimPlugin插件通常包含一系列脚本和配置文件,用于实现特定的功能,如代码补全、语法高亮...

    vim中文手册 vim中文手册 vim中文手册

    vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册vim中文手册vim中文手册

    Vim-IDE.zip

    Plugin 'vim-airline/vim-airline' | Plugin 'vim-airline/vim-airline-themes' " Status line" Plugin 'Lokaltog/vim-powerline' "Plugin 'jiangmiao/auto-pairs' "自动成对操作括号 Plugin 'mbbill/undotree' ...

    我的VIM Plugin及配置文件

    将压缩包解压后,按照插件管理系统的要求,将插件文件移动到相应的目录下,然后在VIM中重新加载配置,或者重启VIM,插件就能生效了。 如果你是VIM的新手,可能需要花些时间学习它的基本操作和命令,例如移动光标、...

    vim_plugin(vim changes to ide)

    将vim修改为ide常用插件:a.vim , grep.vim, visual mark.vim, supertab.vim, taglist.vim, winmanager.vim, minibufexpl.vim

    vim_plugin.tar.gz

    自己用的vim plugin: bufexplorer.vim genutils.vim grep.vim lookupfile.vim minibufexpl.vim SuperTab.vim taglist.vim visualmark.vim winfileexplorer.vim winmanager.vim wintagexplorer.vim

Global site tag (gtag.js) - Google Analytics