所以我在vim中打开了一个文件,我想打开命令提示符到文件的当前目录。这是我尝试过的......
:!start cmd /k
这将只是打开命令提示符到C:\目录,即使我已将:cd设置为vim中的其他目录。
:!start cmd /k "cd c:\%"
此操作失败,因为%被转义。
:!start cmd /k "set vimcwd=%; cd C:\\%vimcwd\%"
我不确定为什么这不会起作用,但无论如何,这比我想输入的要多。必须有一种更简单的方法来做到这一点。
答案 0 :(得分:4)
我想出了一个很好的方法。
:!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>
答案 1 :(得分:0)
&#39; ave写了一个function来打开cmd中的当前目录。只需输入cmd
,命令行将显示,并cd到当前文件目录。
function! OpenCMD()
if has('win32') || has('win95') || has('win64')
let tcc = 'C:\Program Files\JPSoft\TCCLE13x64\tcc.exe'
let console2 = '!cmd /c start C:\Marslo\Tools\Software\System\CommandLine\Console2\Console.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>