zoukankan      html  css  js  c++  java
  • vim 插入行号到文件

    http://blog.csdn.net/linxing927/article/details/16961197

    VIM 的替换功能比较强大,眼花缭乱的正则表达式,还有函数替换都是非常牛的,本文介绍一下如何使用 VIM 的函数进行替换「相关链接:1、vi/vim使用技巧: 替换的巧妙使用(1);2、vi/vim使用技巧: 替换的巧妙使用(2)」。最后效果:

    http://kosal.info/mp3/mp3-1.mp3
    http://kosal.info/mp3/mp3-2.mp3
    http://kosal.info/mp3/mp3-3.mp3
    ...
    http://kosal.info/mp3/mp3-480.mp3
    http://kosal.info/mp3/mp3-481.mp3
    http://kosal.info/mp3/mp3-482.mp3原始文本:
    http://kosal.info/mp3/mp3-1.mp3在正常模式下输入:Y481p,这样就得到了如下内容:
    http://kosal.info/mp3/mp3-1.mp3
    http://kosal.info/mp3/mp3-1.mp3
    http://kosal.info/mp3/mp3-1.mp3
    ...
    http://kosal.info/mp3/mp3-1.mp3
    http://kosal.info/mp3/mp3-1.mp3
    http://kosal.info/mp3/mp3-1.mp3总共是482行。按“:”进入命令模式,输入:%s/-zs[09]ze/=line(".")  ,回车得到最终效果。命令解释:
    %s 正则替换
    zs 匹配任何位置,并将匹配起始处置于该处: 下一个字符将是整个匹配的第一个字符。「:help zs」
    ze 匹配任何位置,并将匹配结尾处置于该处: 前一个字符将是整个匹配的最后一个字符。「:help ze」
    line(".") 光标所在的行号「:help line」
    = 执行后面的表达式「:help :=」现在深入学习替换功能。比如在最终的效果前加入一个行号,如:
    1 http://kosal.info/mp3/mp3-1.mp3
    2 http://kosal.info/mp3/mp3-2.mp3
    3 http://kosal.info/mp3/mp3-3.mp3
    ...
    480 http://kosal.info/mp3/mp3-480.mp3
    481 http://kosal.info/mp3/mp3-481.mp3
    482 http://kosal.info/mp3/mp3-482.mp3最开始俺使用了如下的命令实现:
    :%s/^/=line('.').' '然后又想到了 let 函数:
    :let n=1 | g/http/s/^/=n.' '/ | let n+=1google了一下发现另外几种方法「链接:inserting line number into file」:
    1 :g/^/exec "s/^/".strpart(line(".")." ", 0, 4)
    2 :%s/^/=strpart(line(".")." ", 0, 5)1的命令解释「链接」:
    line(".")." " number of the current line plus four spaces
    strpart("123 ", 0, 4) first four characters ("123 ")

    "s/^/123 " substitute the beginning of the line with "123 "这里俺有一个地方不是很理解,即 "s/^/". —— 谁给解释解释?

  • 相关阅读:
    PHP数据采集curl常用的5个例子
    【荐】PHP采集工具curl快速入门教程
    PHP常用正则表达式
    JavaScript方法call、apply、caller、callee、bind的使用详解及区别
    axf、elf文件转换成bin、hex脚本工具
    为什么数据须要做爱
    POJ 3978 Primes(求范围素数个数)
    Facebook Hacker Cup 2015 Round 1--Homework(筛选法求素数)
    后台进程整理
    Nginx优化具体,应对高并发
  • 原文地址:https://www.cnblogs.com/air-of-code/p/5784400.html
Copyright © 2011-2022 走看看