我无法找到我在vim中保存的文件

时间:2018-02-11 20:07:59

标签: linux vim

我正在尝试使用vim编辑器学习代码,因为我听说当我开始编写长代码和文档时,我可以获得更好的长期优势。我是键盘快捷键的忠实粉丝所以我不介意走很长的路来获得优秀的编辑能力。我正在阅读的Linux书的任何方式都推荐它,甚至还有许多需要在vim中输入和保存的练习。问题是我找不到我在vim中保存的文件。我进入转义模式命中冒号键并使用w选项。 vim告诉我文件已保存,但稍后尝试在我的Linux目录中找到它时,我什么都找不到。我已尝试使用type,file,find和locate命令以及whereis,即使这是用于命令。提前谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

没有逃脱模式这样的东西。很可能你指的是普通模式。进入正常模式的最简单方法是点击转义键 Esc 。进入正常模式后,您可以通过键入:w将当前缓冲区的内容保存到文件中。或者,您可以使用:w filename指定新文件名。然后你可以用:q退出vim。可以通过键入:wq来组合这些步骤。

您提到Vim告诉您文件已保存但您找不到该文件。在这种情况下,在保存文件后键入Ctrl-g,应显示相对于当前目录的文件名。

答案 1 :(得分:0)

你的" Linux书"几乎可以肯定地告诉你做类似的事情:

$ vim filename

filename是现有文件或不存在的文件。在这两种情况下,在Vim中执行:w<CR>都会写filename ...

    工作目录中的
  • 如果filename只是一个文件名,没有任何内容&#34;类似路径&#34;:

    $ cd /tmp
    $ vim foo.txt
    (do your thing)
    :wq
    $ echo $PWD/$_
    /tmp/foo.txt
    
  • 如果filename是相对路径,
  • 在相对于工作目录的给定位置:

    $ cd ~/Documents
    $ vim exercices/foo.txt
    (do your thing)
    :wq
    $ echo $PWD/$_
    /home/rubberbandface/Documents/exercices/foo.txt
    
  • 如果filename是绝对路径,则在给定位置
  • $ vim ~/Documents/exercices/foo.txt
    (do your thing)
    :wq
    $ echo $_
    /home/rubberbandface/Documents/exercices/foo.txt
    

那就是说,你不应该同时学习Linux,Vim和编程。