例子:排序與案例列表
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