R评论字符#不起作用

时间:2014-09-02 16:04:49

标签: r vim

我有一个包含以下5行代码的文本文件:

#
# 1991    60060GBNYPAN
# 1991    60061GBGTSJT
# 1991    60062GBGTSJT
#

如果我在Windows计算机上打开默认R GUI并粘贴这五行,我会获得以下内容:

> #
> # 
> 1991    60060GBNYPAN
Error: unexpected numeric constant in "1991    60060"
> # 1991    60061GBGTSJT
> # 1991    60062GBGTSJT
> #
> 

当我将相同的五行代码粘贴到Stack Overflow问题窗口时,我获得了:

#
# 
1991    60060GBNYPAN
# 1991    60061GBGTSJT
# 1991    60062GBGTSJT
#

如果我将包含该代码的文本文件打开到gVim 7.4,我会看到:

#^M
# 
1991    60060GBNYPAN^M
# 1991    60061GBGTSJT^M
# 1991    60062GBGTSJT^M
#^M

gVim 7.4中的所有字符均为蓝色,但在第三行中,(第一行)1991为粉红色字体,60060GBNYPAN为黑色字体。

我可以输入以下内容删除^M

:%s/<ctrl>Q<ctrl>M//g<return>

从这里开始:Read csv file with hidden or invisible character ^M

但是,如果我通过单击File - Save中的gVim 7.4然后打开文件来保存文件,则内容现在如下所示:

## 1991    60060GBNYPAN# 1991    60061GBGTSJT# 1991    60062GBGTSJT#

如果我将这些内容粘贴到R我得到:

> #
> # 
> 1991    60060GBNYPAN
Error: unexpected numeric constant in "1991    60060"
> # 1991    60061GBGTSJT
> # 1991    60062GBGTSJT
> #
> 

与我在gVim 7.4中打开文件之前相同。

如果我再次将文件打开到gVim 7.4(删除^M并保存文件后),我会看到:

#
# 
1991    60060GBNYPAN
# 1991    60061GBGTSJT
# 1991    60062GBGTSJT
#

字体的颜色没有改变,gVim 7.4窗口底部是一条消息:

<comment character does not work2.r" [unix] 6L, 74C        6,1        All

6,1之前和之后的空格数量只是一个估算值。

发生了什么事?

我想除了^M之外,文件中还有另一个隐藏字符,与^M不同,默认情况下,当我在gVim 7.4中打开文件时,不会显示该字符。 / p>

感谢您的任何建议。我可能需要将原始文件加载到GitHub。我会在此处发布此消息后尝试这样做。

修改

虽然我有一个GitHub帐户并且已经上传了文件,但是我已经记不起如何上传这个最新文件了。希望我很快就会上传文件。

如果我输入:

删除:set list<return>之后gVim 7.4中的

^M我看到了:

$
#$
# $
1991    60060GBNYPAN$
# 1991    60061GBGTSJT$
# 1991    60062GBGTSJT$
#$

我认为:set list应该显示所有隐藏的字符,但它显示的是第二行{(1}}和#之间的空格(如果我是第三行)将第一个$计为一行。

1 个答案:

答案 0 :(得分:2)

要找到麻烦的角色,最好查看文件的 hexdump 。在Unix上,有许多这样的工具:hexdump / hd / od等。

由于您使用的是Windows,因此可以使用Vim附带的xxd命令行工具。 :help 23.4(Vim用户手册的二进制文件主题)告诉您如何打开文件,以及(在使用XXD 下)如何将文件视为十六进制转储。