小编dev*_*van的帖子

恢复以前的vim会话后,语法突出显示不起作用

因为每次分割和加载每个窗口都有点麻烦,我使用以下方法保存了我的会话:

mksession ~/session1.vim
Run Code Online (Sandbox Code Playgroud)

并使用以下方法恢复它

vim -S session1.vim
Run Code Online (Sandbox Code Playgroud)

要么

source session1.vim
Run Code Online (Sandbox Code Playgroud)

它完美地恢复了上一个会话,但根本没有显示任何语法突出显示.

我在这里发现了一个类似的问题:终端会话恢复后没有语法突出显示, 但没有多大帮助.

有谁有想法吗?

vim syntax-highlighting

15
推荐指数
1
解决办法
1793
查看次数

读取包含特殊字符的ISO-8859类型文件,例如C++中的é


我正在尝试读取一个用ISO-8859(ansi)编码的文件,它包含一些西欧字符,如"é".
当我尝试读取文件并输出结果时,所有特殊字符显示为 ,而正常字母显示正确.

如果我将文件转换为utf-8格式然后执行相同的工作,一切都很完美.
有没有人有任何想法来解决这个问题?我尝试使用wifstreamwstring而不是ifstreamstring,但没有多大帮助.

这是我的示例代码:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    ifstream myFS;
    myFS.open("test.txt", ios::in);
    string myString; 
    if(myFS.is_open()){
        while(myFS >> myString)
            cout << myString << endl;
    }
    myFS.close();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

test.txt(ISO-8859-15格式)包含:

abcd éfg
Run Code Online (Sandbox Code Playgroud)

结果:

abcd 
?fg
Run Code Online (Sandbox Code Playgroud)

任何建议将被认真考虑.先感谢您!


+)
忘了提及我的系统环境.
我正在使用ubuntu 10.10(Maverick)控制台与g ++ ver 4.4.5
谢谢!

c++ ansi utf-8 special-characters ifstream

2
推荐指数
1
解决办法
1636
查看次数