如何在Vim中将非英文文本转换为大写?

时间:2012-03-14 17:03:09

标签: vim

我有以下文字:

  

żółćgęśląjaźń

如果我在Windows下使用gim(使用gUU)将其大写(编码cp1250),我会得到:

  

żółćGęśLąJAźń

但我应该得到:

  

ŻÓŁĆGĘŚLĄJAŹŃ

根据波兰语字母表。

有没有办法在Vim中重新定义大写和小写字母?

2 个答案:

答案 0 :(得分:0)

总有蛮力方法:

%s#\%(ż\|ó\|ł\)#\={'ż':'Ż','ó':'Ó','ł':'Ł'}[submatch(0)]#gcI

答案 1 :(得分:0)

您可能需要在Vim中正确设置区域设置。尝试将此行添加到vimrc

lang ctype Polish_Poland.1250