代码之家  ›  专栏  ›  技术社区  ›  Srikanth

如何在vim命令模式下获取当前缓冲区的内容?

vim
  •  5
  • Srikanth  · 技术社区  · 14 年前

    Send_to_Screen(text) 它向控制台屏幕会话发送一些文本。我有地图

    vmap <F4> "ry :call Send_to_Screen(@r)<CR>
    

    调用当前选择的函数。现在我想定义另一个映射,用整个缓冲区的内容调用函数,但我不能让它工作。我试过了

    nmap <F5> maggVG"ry`a :call Send_to_Screen(@r)<CR> 
    

    1 回复  |  直到 14 年前
        1
  •  13
  •   DrAl    14 年前

    nmap <F5> :call Send_to_Screen(join(getline(1,'$'), "\n"))<CR>
    

    函数 getline() 返回所选范围内的行列表(1是第一行,“$”是最后一行)和函数 join() 将列表的内容与提供的分隔符连接在一起(本例中为“\n”)。请参见:

    :help getline()
    :help join()