V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wsdjeg
V2EX  ›  Vim

[ 求助贴 ] 如何在字符串末尾追加 N 个空格

  •  
  •   wsdjeg · 2016-04-23 10:16:31 +08:00 · 2655 次点击
    这是一个创建于 2949 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,请问如下一个问题该怎么解决. VIML 中 let g:wsd1 = "test" let g:wsd2 = "testabc" 请问用什么方法在这两个变量后面追加 n 个空格,使得两者长度都为 80. 我目前是用一个比较愚蠢的方法

    fu Formate_str(str)
    	let l = a:str
    	for i in 80 - len(a:str)
        	    let l .= ' '
            endfor
            return l
    endf
    
    5 条回复    2016-04-25 20:01:51 +08:00
    wsdjeg
        1
    wsdjeg  
    OP
       2016-04-23 10:43:55 +08:00
    KentY
        2
    KentY  
       2016-04-25 19:12:14 +08:00
    看你的解决截图, 不知所云...

    要 right padding 一个字符串, 我想到俩办法:

    - concatenate 你的字符串和一个固定 80 空格的常量, 然后取 substring 前面 80 字符, 或 var[0,79]
    - 算 80-你字符串的差, 然后用 repeat()函数 pad 相应空格

    如果你要练习 vimscript, 用你上面循环的办法也可以.
    KentY
        3
    KentY  
       2016-04-25 19:13:32 +08:00
    上面手误, 应该是 var[0:79], 不是[0,79]... 无法修改只能再后补这个贴了, 添乱了...sry
    wsdjeg
        4
    wsdjeg  
    OP
       2016-04-25 20:00:38 +08:00
    谢谢,我已经解决了,截图是运行结果,unite buffer 中每一个选项长度一致,我是通过 repeat() 操作的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1140 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:37 · PVG 02:37 · LAX 11:37 · JFK 14:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.