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

2016-04-23 10:16:31 +08:00
 wsdjeg

大家好,请问如下一个问题该怎么解决. 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
2657 次点击
所在节点    Vim
5 条回复
wsdjeg
2016-04-23 10:43:55 +08:00
KentY
2016-04-25 19:12:14 +08:00
看你的解决截图, 不知所云...

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

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

如果你要练习 vimscript, 用你上面循环的办法也可以.
KentY
2016-04-25 19:13:32 +08:00
上面手误, 应该是 var[0:79], 不是[0,79]... 无法修改只能再后补这个贴了, 添乱了...sry
wsdjeg
2016-04-25 20:00:38 +08:00
谢谢,我已经解决了,截图是运行结果,unite buffer 中每一个选项长度一致,我是通过 repeat() 操作的
wsdjeg
2016-04-25 20:01:51 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/273824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX