计算化学公社

 找回密码 Forget password
 注册 Register
Views: 122|回复 Reply: 5
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] cp2k vim 安装插件报错

[复制链接 Copy URL]

3

帖子

0

威望

15

eV
积分
18

Level 1 能力者

跳转到指定楼层 Go to specific reply
楼主
请教各位老师!!!!!!!!!
我按照官网上的步骤一步一步照做了,但是打开vim文件的时候报错了。
我操作的第一步:mkdir -p ~/.vim/syntax
第二步wget -O ~/.vim/syntax/cp2k.vim http://manual.cp2k.org/trunk/cp2k.vim
第三步:在.vim目录下创建了filetype.vim文件
filetype.vim文件的内容为:
if exists("did_load_filetypes")
   finish
endif
augroup filetypedetect
   au! BufNewFile,BufRead *.inp setf cp2k
augroup END

以上三步完成后,我运行vi filetype.vim命令,出现以下报错信息:
Error detected while processing /home/zpan/.vim/filetype.vim:
line    1:
E15: Invalid expression: exists("did_load_filetypes")^M
line    7:
E171: Missing :endif
line    1:
E15: Invalid expression: exists("did_load_filetypes")^M
line    7:
E171: Missing :endif
line    1:
E15: Invalid expression: exists("did_load_filetypes")^M
line    7:
E171: Missing :endif
Press ENTER or type command to continue

目前不知道如何解决这个问题,恳请各位老师指点!




1062

帖子

0

威望

3276

eV
积分
4338

Level 6 (一方通行)

2#
发表于 Post on 2024-9-28 20:47:38 | 只看该作者 Only view this author
首先,不需要打那么多感叹号…… 社长会来批评你的……

其次,你创建的 filetype.vim 文件是怎么输入的?

从你的报错信息来看
E15: Invalid expression: exists("did_load_filetypes")^M


你看到结尾的 ^M 没有?然后对比一下你输入的
  1. if exists("did_load_filetypes")
复制代码


结尾是不是没有 ^M
这说明什么?

大概率是你在 Windows 系统里编辑的  filetype.vim 文件,然后上传到 Linux 系统里。由于不同系统文本编辑的换行符不同,导致了读取错误。

解决方案:
在 Linux 系统下,命令行状态输入
  1. vi -b ~/.vim/filetype.vim
复制代码


你会看到打开的 filetype.vim 每行结尾的 ^M 符号
【注意】将输入法切换到英文状态
将光标移动到每行结尾,在键盘上按字母 x ,删掉 ^M 符号(有多少个就删掉多少个)
然后按冒号 : 【注意,是英文输入法的冒号,绝对不能是中文输入法的冒号】
然后按 wq (保存并退出)

83

帖子

0

威望

527

eV
积分
610

Level 4 (黑子)

傻傻的木瓜

3#
发表于 Post on 2024-9-28 22:11:41 | 只看该作者 Only view this author
本帖最后由 Uus/pMeC6H4-/キ 于 2024-9-28 22:25 编辑
乐平 发表于 2024-9-28 20:47
解决方案:
在 Linux 系统下,命令行状态输入
  1. vi -b ~/.vim/filetype.vim
复制代码

...

这种经典Windows换行符问题不开vim也能处理,在Linux命令行直接输入一个sed替换就行。前几天刚好被.xyz结构出的类似问题折腾过一小会,现在养成检查的习惯了。任何文件(以下以filename为例,假定已经通过cd切到其目录)传到Linux系统后先在命令行输入:
  1. file ./filename
复制代码

观察输出是否以“with CRLF line terminators”结尾,如果没有则检查通过可以继续,有的话马上输入:
  1. sed -i "s/\r$//" ./filename
复制代码



编辑:Linux的基础知识对搞计算化学的十分重要,楼主要入门的话可以从“计算机教育中缺失的一课”菜鸟教程开始。
√546=23.36664289109

1062

帖子

0

威望

3276

eV
积分
4338

Level 6 (一方通行)

4#
发表于 Post on 2024-9-29 11:05:40 | 只看该作者 Only view this author
本帖最后由 乐平 于 2024-9-29 11:10 编辑
Uus/pMeC6H4-/キ 发表于 2024-9-28 22:11
这种经典Windows换行符问题不开vim也能处理,在Linux命令行直接输入一个sed替换就行。前几天刚好被.xyz结 ...

你回复错人了吧……
你希望帮助到楼主,就应该回复楼主的帖子。

3

帖子

0

威望

15

eV
积分
18

Level 1 能力者

5#
 楼主 Author| 发表于 Post on 2024-9-30 09:49:35 | 只看该作者 Only view this author
乐平 发表于 2024-9-28 20:47
首先,不需要打那么多感叹号…… 社长会来批评你的……

其次,你创建的 filetype.vim 文件是怎么输入的 ...

非常感谢老师,我的问题已经解决,我就是因为filetype.vim 文件在Window系统编辑,然后上传liunx导致的问题。

3

帖子

0

威望

15

eV
积分
18

Level 1 能力者

6#
 楼主 Author| 发表于 Post on 2024-9-30 09:52:03 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2024-9-28 22:11
这种经典Windows换行符问题不开vim也能处理,在Linux命令行直接输入一个sed替换就行。前几天刚好被.xyz结 ...

十分感谢老师,我的问题已经解决,刚开始接触计算化学,liunx不会,我会好好学习的

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-27 10:28 , Processed in 0.166004 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list