在vim中打开一个目录

Abh*_*ert 18 vi vim macvim

我是一个mac用户,认真对待vim.我用过的大多数GUI编辑器都允许我通过执行如下命令来打开目录作为"项目":

编辑〜/ www/example.com /

vim等价物vim ~/www/example.com/将显示目录中的文件列表,我可以打开它们.但它没有将vim的工作目录设置为该路径,我必须运行:cd .以设置工作目录.

有没有办法,也许有一个shell脚本,打开vim并将它的工作目录设置为给定的路径?

我实际上正在使用MacVim,如果这有任何区别的话.

kzh*_*kzh 9

$ cd ~/my/working/directory
$ vim .
Run Code Online (Sandbox Code Playgroud)


Abh*_*ert 7

感谢@ sehe的建议,我想出了这个.不确定它是否是最佳解决方案,但似乎有效.

#!/bin/bash

if [ "$#" -eq 1 ];then # is there a path argument?
  if test -d $1;then # open directory in vim
    vim $1 +':cd %'
  else # open file in vim
    vim $1 +':cd %:h'
  fi
else # no path argument, just open vim
  vim 
fi
Run Code Online (Sandbox Code Playgroud)


seh*_*ehe 6

脑死亡:

 (cd /path/to/dir && vim file)
Run Code Online (Sandbox Code Playgroud)

不那么:

 vim /path/to/dir/file +':cd %:h'
Run Code Online (Sandbox Code Playgroud)

你可以随时映射:cd %:h到一个方便的键或放入自动命令(我实际上不会推荐后者,但没有关于品味的争论)


哦,对于目录而不是文件:

:cd %
Run Code Online (Sandbox Code Playgroud)

够了