【问题标题】:Vim beginner: Can't find my source file after compilation and closing programVim初学者:编译关闭程序后找不到我的源文件
【发布时间】:2014-02-06 06:54:52
【问题描述】:

我在 linux 上用 VIM 写了一个程序。我通过键入“:!gcc -o hw % && ./hw.c”编译并运行它。关闭 vim 并返回后,我的“.C”文件现在是一大堆奇怪的字符(主要是 @),我认为这意味着它是一个可执行文件,但是.. 问题是,我看不到我的源代码了。到底发生了什么?我在哪里可以找到我的源代码?是不是永远失去了?

【问题讨论】:

  • 听起来你让gcc将你的源代码编译成一个与该源代码文件同名的文件,这将覆盖你的源文件。
  • 如果你真的输入了:!gcc -o hw % && ./hw.c并且你正在编辑的文件是hw.c,那么(a)编译应该没有损坏,并且(b)./hw.c的运行应该有失败的;你想运行你刚刚创建的./hw,而不是你编译它的源代码。但是,如果您以某种方式弄错了,那么您很可能会被水洗;源可能永远丢失,除非您使用 VCS 来管理它(在这种情况下,您可以从 VCS 中的最后一个版本恢复,但此后所做的任何更改都可能丢失)。

标签: c vim


【解决方案1】:

是不是永远失去了

如果它看起来像这样:

然后几乎是的。看来您编译了源代码并在原始源文件中输出了二进制文件。

如果您需要我的建议,请不要从 vim 内部执行 gcc。避免使用这样的命令::!gcc -o hw % && ./hw.c。始终保存:w(也许退出),然后从 shell 编译。

【讨论】:

  • 是的,它是这样的:s 从现在开始,我将从 shell 中执行此操作。谢谢!
  • @user2997154 将来,针对此类情况的另一种预防措施是使用修订控制软件,例如 mercurial 和 git..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
相关资源
最近更新 更多