7. 斯洛伐克语技巧

7.1. 在Vim中输入斯洛伐克字符

http://www.kotelna.sk/keso/unix/vim.html

如果您不能或不想使用斯洛伐克语键盘布局,但需要在Vim中输入一些我们的字符,可以使用imap命令来完成。它的格式是
	:imap {lhs} {rhs}
      

{lhs}是一个字符序列,在输入后(在短时间内)会输出{rhs}.

对于斯洛伐克语,可以使用imap类型的字符定义
:imap =a �
:imap +c č
      

如您所见,这与控制台键盘章节中的compose序列有些相似。在输入这些命令后,即使使用标准键盘布局,您也可以在vim中输入带变音符号的字符。这是斯洛伐克语变音符号的完整imap定义列表。将其保存到例如以下文件中sk.vim然后在Vim中使用以下命令加载它
:source sk.vim
      

imap =a �
imap =A �
imap +a �
imap +A �
imap +c č
imap +C Č
imap +d ď
imap +D Ď
imap =e �
imap +e ě
imap =E �
imap +E Ě
imap =i �
imap =I �
imap =l ĺ
imap =L Ĺ
imap +l ľ
imap +L Ľ
imap +n ň
imap +N Ň
imap =o �
imap =O �
imap +o �
imap +O �
imap "o �
imap "O �
imap =r ŕ
imap =R Ŕ
imap +r ř
imap +R Ř
imap +s š
imap +S Š
imap +t ť
imap +T Ť
imap =u �
imap =U �
imap +u ů
imap +U Ů
imap "u �
imap "U �
imap =y �
imap =Y �
imap +z ž
imap +Z Ž
      

7.2. 删除或替换文本文件中的变音符号

7.2.1. sed

J�n 'judas' Tomka,

如果您需要从文本文件中删除变音符号,可以使用sed程序,通过它您可以将带变音符号的字符的出现替换为其不带变音符号的等效字符。

如果您想完全删除变音符号,您必须替换所有带变音符号的字符的出现。但是,如果您只想让文件在没有安装latin 2字体的情况下正确显示,只需替换那些对于标准字体(通常是latin 1)显示不正确的字符即可。

这是可以在创建完全不带变音符号的文件版本时使用的命令
sed -e "s:�:a:g" -e "s:�:A:g" -e "s:�:a:g" -e "s:�:A:g" \
    -e "s:č:c:g" -e "s:Č:C:g" -e "s:ď:d:g" -e "s:Ď:D:g" \
    -e "s:�:e:g" -e "s:�:E:g" -e "s:ě:e:g" -e "s:Ě:E:g" \
    -e "s:�:i:g" -e "s:�:I:g" -e "s:ĺ:l:g" -e "s:Ĺ:L:g" \
    -e "s:ľ:l:g" -e "s:Ľ:L:g" -e "s:ň:n:g" -e "s:Ň:N:g" \
    -e "s:�:o:g" -e "s:�:O:g" -e "s:�:o:g" -e "s:�:O:g" \
    -e "s:�:o:g" -e "s:�:O:g" -e "s:ŕ:r:g" -e "s:Ŕ:R:g" \
    -e "s:ř:r:g" -e "s:Ř:R:g" -e "s:š:s:g" -e "s:Š:S:g" \
    -e "s:ť:t:g" -e "s:Ť:T:g" -e "s:�:u:g" -e "s:�:U:g" \
    -e "s:ů:u:g" -e "s:Ů:U:g" -e "s:�:u:g" -e "s:�:U:g" \
    -e "s:�:y:g" -e "s:�:Y:g" -e "s:ž:z:g" -e "s:Ž:Z:g" \
    "Slovak-HOWTO.sgml" > "Slovak-HOWTO-nodiac.sgml"
	

7.2.2. cstocs

Braňo Katreniak

当您提到如何从文档中删除斯洛伐克语时,我认为也应该提到cstocs程序。这是一个与TeX一起标准提供的可爱小工具。它允许几乎所有可能的代码页之间的文件转换,其中一个选项也是删除变音符号。我觉得这比sed更方便。

7.2.3. recode

J�n 'judas' Tomka,

还存在一个recode程序,它可能也用于更改文件编码。如果在此之前没有发生以下情况之一,您肯定会将其用于此目的

  1. 在阅读man页面、info手册以及所有关于这个——否则肯定有用的程序——的描述时,您会失去眼睛。

  2. 在尝试这个非常有用程序的参数、选项或参数的所有可能组合时,您会失去耐心。

  3. 您会失去电脑,因为在尝试这个极其有用的程序两周的精神折磨后,您会把它从窗户扔出去。

根据所有迹象,以下命令应该足够了
recode l2 subor.txt
	
但似乎这还不够。获得“Linux Guru”头衔的门槛已经提高到了令人眩晕的高度,因为——为了成为它的持有者——您必须知道如何使用此程序将latin2文档转换为latin1甚至ASCII(而那已经是漂亮的西贡了...)