【问题标题】:Three questions about Vim关于 Vim 的三个问题
【发布时间】:2012-12-25 17:19:44
【问题描述】:

我是所谓的“最佳文本编辑器”Vim 的新手,我正在努力熟悉它可以执行的操作。我遇到的一些问题真的很奇怪;我希望有人可以在这些方面给我一些帮助:

  1. 当我输入gVim并输入:cd.时,提示显示我在C:\Windows\System32。为什么是这样?我在E:\Vim 中安装了 Vim。是否可以将此默认目录更改为其他目录?

  2. 有没有什么方法可以在 Vim 中指定一个目录并在指定的目录中创建一个文件(当然是使用 Vim,而不是在命令行窗口中通过运行vim someName.txt 之类的东西)?当我尝试像 :e someFileName.txt 这样的命令时,我收到有关某些交换文件的错误警告。另外,如果我搜索这个someFileName.txt,位置真的很奇怪——它在C:\Users\MyUserName\AppData\Local\Temp 下。为什么?

  3. 这更奇怪:在 Windows 中,默认的命令行目录是C:\Users\MyUserName。我不喜欢这样,所以我把它改成了C:\。但是,如果我按下开始按钮,输入cmd.exe,然后按下Enter,命令行窗口仍然显示我在C:\Users\MyUserName。如果我单击任务栏中的快捷方式图标,则目录正确(C:\)。此外,如果我进行这样的更改,并在命令行中运行 Vim,每次关闭文件时都会收到错误警告:

    can't write viminfo file C:\_viminfo!
    

经过一番调查,我发现如果我将命令行目录改回C:\Users\MyUserName,一切都很好,并在该目录下创建了一个名为viminfo的文件。那么它为什么要这样做呢? Vim 不能像在C:\Users\MyUserName 中那样在C:\ 下创建这个viminfo 文件吗?

【问题讨论】:

  • 你有本地的 _vimrc 文件吗?如果您在没有任何自定义的情况下运行 vim,您是否会看到相同的行为:gvim -u NONE
  • @PrinceGoulash 是的,我在E:\VIM 下有一个 _vimrc 文件,我没有安装任何额外的插件。如果我运行gvim -u NONE,行为是相同的。这里有个小问题:每次编辑_vimrc文件,在同一个目录下都会创建一个名为_vimrc~的文件,这个文件是什么?

标签: windows file vim command-line directory


【解决方案1】:
  1. 这是 Windows 上的默认设置。我似乎记得这取决于它是如何安装的。无论如何,您可以通过在 normal 模式下键入以下内容将其更改为您想要的任何内容:

    :cd <your path>
    

    如果您希望它在会话中保持不变,请创建 $HOME/_vimrc(如果您还没有)并添加上面的行,不带冒号。

  2. 您收到有关交换文件的错误消息,因为您在受保护的目录中工作:无法创建交换。上面的答案应该以一般的方式解决这个问题。无论如何,您可以在任何可以写入磁盘的地方编辑文件。在下面的示例中,~ 是您的$HOME 目录的快捷方式,就像在 UNIX 中一样:

    :e ~\filename
    
  3. 您是否拥有C: 的写入权限?我不是 Windows 用户,所以不要相信我的话,但我认为 C:\Users\MyUserName 应该真的成为你的 $HOME

  4. 你跑vimtutor了吗?这绝对是学习基本编辑命令的最佳方式。

    编辑

    当我们在做的时候……

  5. 避免安装过多(或最新流行的)插件。如果您觉得某个插件有用,请在 vim.org 上搜索替代品并进行比较,然后再加入潮流。

  6. 同样,避免像瘟疫那样的“分发”。它们改变了太多东西,会拖你回到启蒙的道路上。

  7. 了解如何使用:help。大部分问题的答案都在那里。

【讨论】:

  • 另外几个要添加到 romainl 的:(1) 听起来 vim 是从快捷方式启动的,或者起始工作目录是 c:\windows\system32。检查快捷方式属性中的“开始于”文件夹。对于 (2) 和 (3):您可以使用 cmd.exe 命令永久设置 $HOME:setx HOME %USERPROFILE%
  • @darcyparker,您的评论值得成为答案。
  • @romainl 非常感谢。你的回答真的很有帮助。事实证明,是的,Vim 无法在C: 下创建交换文件。这很奇怪。所以我猜当 Vim 在某个目录中创建一些文件时,如果我只是右键单击并选择 new ,它会采用不同的机制。
  • @romainl 我也试过 vimtutor,是的,对于像我这样的初学者来说,它确实是一个很好的教程。但它也是一个非常简短和有限的教程,除了文本编辑技能之外,几乎没有任何关于文件操作的课程。再次感谢我的朋友,非常感谢您的回答。
  • @darcyparker 太棒了!感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-19
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 2018-04-19
相关资源
最近更新 更多