关于Vim的三个问题

Mat*_*hCs 3 windows directory vim command-line file

我是所谓的"最佳文本编辑器"Vim的新手,我很难熟悉它可以执行的操作.我遇到的一些问题真的很奇怪; 我希望有人能给我一些帮助:

  1. 当我输入gVim并输入时:cd.,提示显示我在C:\Windows\System32.为什么是这样?我安装了Vim E:\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!
    
    Run Code Online (Sandbox Code Playgroud)

经过一番调查后,我发现如果我将命令行目录更改回来C:\Users\MyUserName,一切都很好,并viminfo在此目录下创建一个名为的文件.那么为什么会这样呢?Vim无法viminfo在其下创建此文件C:\,就像在其中一样C:\Users\MyUserName

rom*_*inl 5

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

    :cd <your path>
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    :e ~\filename
    
    Run Code Online (Sandbox Code Playgroud)
  3. 你有写权C:吗?我不是一个Windows用户,所以不要把我的话,但我觉得C:\Users\MyUserName应该真的是你$HOME.

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

    编辑

    虽然我们在这...

  5. 避免安装太多(或最新的趋势)插件.如果你觉得某个插件有用,可以在vim.org上搜索替代品并在你加入潮流之前进行比较.

  6. 同样,避免像瘟疫一样的"分布".他们改变了太多的东西,会拖累你的启蒙之路.

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