【问题标题】:What do Vim's iconv.dll and libintl.dll "do"?Vim 的 iconv.dll 和 libintl.dll “做什么”?
【发布时间】:2012-03-06 20:59:03
【问题描述】:

在 Vim 的 download page 上有两个额外的文件可以下载,iconv.dll 和 libintl.dll,显然与编码问题有关?

由于我(很长一段时间以来)在 Vim 上遇到了一些编码问题(无法以 utf8 编码打印克罗地亚语字符),谁能用简单的英语(for dummies)解释一下,什么做这两个文件吗?帮忙?

【问题讨论】:

  • X-Y 问题:I sometimes feel the need to sneeze even though it rains, therefore I'd like to know why Chrysler vehicles are not used in movies that feature Oprah Winfrey, at least as far as Hollywood productions go。 (提示:这个问题很难有建设性地回答,而且很可能不会为您的实际问题找到解决方案)
  • @sehe - 不,事实并非如此。我对这两个文件的作用很感兴趣,因为我对 Vim 的行为没有任何区别,并且希望有人提供一个例子。另一件事只是一个旁注。不知道奥普拉·温弗瑞是谁……

标签: vim windows-xp


【解决方案1】:

Iconv 是一个处理不同字符集之间转换的库。大概 vim 带有类似的内置功能,但如果存在,则可以加载 iconv 代替(有一个名为 iconv/dyn 的功能,所以似乎是正确的)。

Libintl 是 gettext — 它处理 i18n,也就是将内容翻译成本地语言。 langs/<code>/LC_MESSAGES 中的所有这些 .mo 文件都包含由 libintl 处理的翻译。可能,vim 与旧版本捆绑在一起。

【讨论】:

  • 好吧,所以“傻瓜”......我可以用它们做什么?这都是理论上的,其中一些已经写在下载页面上。我在实践中使用这两个文件做什么?
  • @ldigas:你不会,vim 会。 (好吧,除非您正在编写一个应用程序并且需要 i18n/字符转换功能,但这超出了这个问题的范围。)您只需将它们放在 vim 的文件夹中。
  • 这就是我要问的。我认为 Vim 的行为完全没有区别,而且文件也不同。那么这两者有什么影响呢?
  • @ldigas: iconv 用于字符集转换(例如,如果您以不同于内部编码的编码打开文件)—我不知道 vim 的确切实现细节,但如果 iconv 仅加载动态地,那么 vim 可能支持 iconv 支持的字符集的子集,并且安装它使您能够使用这些字符集。较新的 libintl 版本被描述为支持字符集转换,因此您可以使用不同的字符集进行翻译,除非您翻译 vim,否则这可能对您毫无用处。
  • 好吧,简而言之......你能举一个我安装后改变的例子吗?我今天整个下午都在尝试东西,看不出有什么与平时不同的东西……(而且我通常使用三种编码……)
【解决方案2】:

如果您的 Vim 不能打印/*显示*某些字符正确(但“有”编码:

:he encoding-values

启用功能1,这几乎可以肯定是一个字体问题。我会在您的终端配置中查看如何配置支持违规字符的字体。


1

的输出中寻找相关特征
:version

例如:

VIM - Vi IMproved 7.3(2010 年 8 月 15 日,2011 年 3 月 24 日 07:07:34 编译)
包含的补丁:1-35
由 pkg-vim-maintainers@lists.alioth.debian.org 修改
由 buildd@
编译 带有 GTK2-GNOME GUI 的巨大版本。包含 (+) 或不包含 (-) 的功能:
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +cmets +conceal +cryptv +cscope
+cursorbind +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork()
+gettext **-hangul_input** +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +lua/dyn +menu +mksession +modify_fname +鼠标 +鼠标形状
+mouse_dec +mouse_gpm -mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte **+multi_lang** -mzscheme +netbeans_intg -osfiletype +path_extra +perl/dyn +persistent_undo
+postscript +printer +profile +python/dyn +python3/dyn +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax
+tag_binary +tag_old_static -tag_any_white +tcl +terminfo +termresponse +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace
+wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save
...

【讨论】:

  • 它具有 utf8 和列表中的所有粗体特征。我尝试过 Consolas、Courier、Courier New(此处为 WinXP 平台),以及其他一些字体 - 不走运。几年来我一直在为这个问题烦恼——如果你能成功,我会尽我所能(或其他)给你最大的赏金......
  • @ldigas 看来您需要发布 哪些克罗地亚语字符 不起作用以及 如何 来处理它们。现在问题描述是不存在的,并且只包含一个模糊的指针。当你添加信息时,我会看看我能做什么
  • 它们都不起作用。无论如何,据我所见,已经打开了几个问题(只是用克罗地亚字符写),但我特别打开了一个有这个问题的问题stackoverflow.com/questions/9606209/…
  • 我还针对同一主题 stackoverflow.com/questions/8637096/… 自己的一个较早的问题打开了赏金(新问题现在可能作为副本关闭:/
猜你喜欢
  • 2022-11-18
  • 2018-07-23
  • 1970-01-01
  • 2020-09-07
  • 2014-01-22
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多