例子:排序与案例列表
let list = [['aen', '2'], ['ben', '3'], ['Aen', '4'], ['Ben', '5']]
sort(list, 1)
输出:
let list = [['aen', '2'], ['Aen', '4'], ['ben', '3'], ['Ben', '5']]
预期输出:
let list = [['Aen', '4'], ['aen', '2'], ['Ben', '5'], ['ben', '3']]
在Python中,这将是很容易做到,但它似乎没有TE是可能使用python sorted()命令和vim列表。
如何按预期对列表进行排序?
UPDATE:
也许一个解决办法是:
for i in range(0,len(list)-1)
let @b= join(list[i], "|||")
endfor
这将使在寄存器中的所有行,但我怎么能在一个寄存器中的行排序?
EDIT: 发现一个溶液用蟒的帮助(VIM功能内)
python3 << endpython
import vim
list2 = vim.eval('list')
list3 = sorted(list2, key=lambda v: (v[0].upper(), v[0].islower()))
vim.command("let list= %s"% list3)
endpython
echo list --> [['Aen', '4'], ['aen', '2'], ['Ben', '5'], ['ben', '3']]
请参阅更新。 Btw..is funcref不仅用于比较数字? – Reman