搜索

首页  >  问答  >  正文

vim 中如何替换选中行或指定几行内的文本

查看了网上的vim命令列表,只有全文替换当前行或全文替换的命令

曾经蜡笔没有小新曾经蜡笔没有小新2743 天前675

全部回复(2)我来回复

  • PHPz

    PHPz2017-05-16 16:41:59

    :'<,'>s/替换项/替换为/g
    

    以下命令将文中所有的字符串idiots替换成managers:

    :1,$s/idiots/manages/g

    通常我们会在命令中使用%指代整个文件做为替换范围:

    :%s/search/replace/g

    以下命令指定只在第5至第15行间进行替换:

    :5,15s/dog/cat/g

    以下命令指定只在当前行至文件结尾间进行替换:

    :.,$s/dog/cat/g

    以下命令指定只在后续9行内进行替换:

    :.,.+8s/dog/cat/g

    你还可以将特定字符做为替换范围。比如,将SQL语句从FROM至分号部分中的所有等号(=)替换为不等号(<>):

    :/FROM/,/;/s/=/<>/g

    在可视化模式下,首先选择替换范围, 然后输入:进入命令模式,就可以利用s命令在选中的范围内进行文本替换。
    - VIM学习笔记 替换(Substitute)(可能要Anti-GFW)

    回复
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:41:59

    control+v进入visual block模式,按hjkl选中需要操作的内容,d是剪切,p是粘贴

    哦,可能我把问题理解错了。。

    回复
    0
  • 取消回复