首页 > 解决方案 > 如何在 vimscript 中插入文本

问题描述

我在 vimscript 中有最简单的要求。我已经在 Google 上搜索了一段时间,例如1 2 3。我只想插入一行文字!

假设我有一个带有行的文件:

aaa
bbb
ddd
eee

我只想在行ccc之后添加缺少的行bbb

我有一个 vimscript 函数的开始:

function! addLine()
  normal /bbb
  " MISSING LINE
  wq!
endfunction

缺少的行应该是什么?

请注意,我想在一堆文件上使用 using 调用此脚本vim -c 'call addLine()' FILE

标签: vim

解决方案


使用 Vimscript 时,我会避免使用:normal-mode 操作,而使用执行相同操作的内置函数

function! AddLine()
    let l:foundline = search("bbb") " Can return 0 on no match
    call append(l:foundline, "ccc")
    wq!
endfunction

search()并且append()在函数中使用应该比norm /and更方便norm o


推荐阅读