如何打开VIM中活动文件的当前目录的windows命令提示符



所以我在vim中打开了一个文件,我想打开该文件当前目录的命令提示符。以下是我尝试过的。。。

:!start cmd /k

这只会打开C:\目录的命令提示符,即使我已经在vim中将:cd设置为不同的目录。

:!start cmd /k "cd c:%"

由于%被转义,因此此操作失败。

:!start cmd /k "set vimcwd=%; cd C:\%vimcwd%"

我不知道为什么这不起作用,但不管怎样,它比我想键入的要多。必须有一种更简单的方法来做到这一点。

我找到了一个很好的方法。

:!start cmd /k cd %:p:h

这将打开当前文件目录的命令提示符。

我最终将这些命令添加到了我的vimrc文件中,这样我就可以在当前文件的目录下轻松地打开命令提示符或windows资源管理器。

"Open command prompt by running :Cp
command Cp :!start cmd /k cd %:p:h<CR>
"Open windows explorer by running :We
command We :!start Explorer /select,%:p<CR>

我已经编写了一个函数来打开cmd中的当前目录。只需输入cmd,命令行就会显示,cd到当前文件目录。

function! OpenCMD()
if has('win32') || has('win95') || has('win64')
let tcc = 'C:Program FilesJPSoftTCCLE13x64tcc.exe'
let console2 = '!cmd /c start C:MarsloToolsSoftwareSystemCommandLineConsole2Console.exe'
if 'java' == &filetype
let com = console2 . ' -d "' . expand('%:p:h') . '"'
else
let com = "shell"
endif
else
let com = '!/usr/bin/gnome-terminal --working-directory=' . expand('%:p:h')
endif
let saveit = ':w!'
echo 'Goto "' . expand('%:p:h') . '" in command line'
silent execute saveit
silent execute com
endfunction
command! cmd :call OpenCMD()<CR>

最新更新