小编Mát*_*ján的帖子

如何让 vim 正确渲染阿拉伯文本?

我正在学习阿拉伯语,我想使用 Vim 做笔记。我在 Windows 10 上尝试了几种不同的设置,到目前为止,最接近良好设置的似乎是 MSYS2 中的 vim。MSYS2 正确呈现阿拉伯文本,从右到左书写,但是当我在 Vim 中打开文件时,虽然文本仍然是从右到左书写的阿拉伯字符,但字母没有连接。

\n

以下是使用 cat 的一些示例:

\n
\xd8\xb3\xd8\xb1\xd9\x8a\xd8\xb9\n\xd8\xa7\xd8\xb9\xd8\xaa\xd9\x86 \xd8\xa8\xd9\x86\xd9\x81\xd8\xb3\xd9\x83\n\xd8\xa8\xd8\xb7\xd9\x8a\xd8\xa1\n\xd8\xa3\xd9\x86 \xd8\xaa\xd9\x82\xd9\x84\xd9\x82\n\xd9\x84\xd8\xa7 \xd8\xaa\xd9\x82\xd9\x84\xd9\x82\n
Run Code Online (Sandbox Code Playgroud)\n

和 Vim 中的相同:

\n
\xef\xba\xb1\xef\xba\xae\xef\xbb\xb4\xef\xbb\x8b\n\xef\xba\x8e\xef\xbb\x8c\xef\xba\x98\xef\xbb\xa7 \xef\xba\x90\xef\xbb\xa8\xef\xbb\x94\xef\xba\xb4\xef\xbb\x9b\n\xef\xba\x90\xef\xbb\x84\xef\xbb\xb3\xef\xba\x80\n\xef\xba\x84\xef\xbb\xa7 \xef\xba\x96\xef\xbb\x98\xef\xbb\xa0\xef\xbb\x97\n\xef\xbb\xbb \xef\xba\x96\xef\xbb\x98\xef\xbb\xa0\xef\xbb\x97\n
Run Code Online (Sandbox Code Playgroud)\n

在http://unicode.scarfboy.com/上查找终端输出的第一个单词给我这些:

\n
Constituent codepoints:\n   0633   ARABIC LETTER SEEN\n   0631   ARABIC LETTER REH\n   064A   ARABIC LETTER YEH\n   0639   ARABIC LETTER AIN\n
Run Code Online (Sandbox Code Playgroud)\n

同一单词在 Vim 中的代码是:

\n
Constituent codepoints:\n   FEB1   ARABIC LETTER SEEN ISOLATED FORM\n   FEAE   ARABIC LETTER REH FINAL FORM\n   FEF4   ARABIC LETTER YEH MEDIAL FORM\n   FECB   ARABIC LETTER …
Run Code Online (Sandbox Code Playgroud)

unicode vim mingw arabic msys2

7
推荐指数
1
解决办法
1419
查看次数

即使"if"为真,"else"也会完成

我正在搞乱一些字典,它应该将单词从一个文本框翻译成另一个文本框,反之亦然,但它并不像我喜欢的那样.该按钮的代码是:

private void button1_Click(object sender, EventArgs e)
    {
        string[] lines = File.ReadAllLines("C:/words.txt");
        int i = 0;
        var items = from line in lines
                    where i++ != 0
                    let words = line.Split('|')
                    where words.Count() > 1
                    select new
                    {
                        word = words[0],
                        translation = words[1]
                    };

        foreach (var item in items)
        {
            if (textBox1.Text == item.word)
            {
                textBox2.Text = item.translation;
            }
            if (textBox2.Text == item.translation)
            {
                textBox1.Text = item.word;
            }
            else
            {
                label3.Text = ("not found");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

编辑:不适用于"else if".

c# split if-statement line translate

0
推荐指数
1
解决办法
204
查看次数

标签 统计

arabic ×1

c# ×1

if-statement ×1

line ×1

mingw ×1

msys2 ×1

split ×1

translate ×1

unicode ×1

vim ×1