それはできますか?
ファイルを編集していますが、それをnewフォルダーにコピーしたいと思います。試してみると:w ~/Documents/new_folder/new_file.txt
、それから私はCan't open file for writing
。
だから私は:!mkdir ~/Documents/new_folder
、しかし私はエラーを受け取ります(ポップアップターミナルウィンドウで):
C:\Windows\system32\cmd.exe /c mkdir ~/Documents/new_folder
The syntax of the command is incorrect.
Shell returned 1
Hit any key to close this window...
何が足りないのですか?ありがとう!
WindowsgvimはWindowsのcmd.exeを使用して:!
コマンドを実行し、cmd.exeは~
を$HOME
のエイリアスとして理解しません。また、cmd.exeはパス区切り文字として\
のみを受け入れ、/
は受け入れません。代わりに試してください
:cd ~
:!mkdir Documents\new_folder
:cd
はVimの内部コマンドであるため、Vimは~
自体を正しく展開します。
[編集:mkdir
(タイプミス)の前に!
を追加し、パス区切り文字を/
から\
(間違い)に変更し、それに関する文を追加しました。]
Windowsは、ディレクトリパスに円記号を使用します。また、Windowsはユーザーのホームディレクトリにunixライクな〜の代わりに%HOMEPATH%を使用します。
試してみてください
:!mkdir \%HOMEPATH\%\Documents\new_folder
あなたは間違っている:
/C
オプションのC
。私はあなたの文字起こしエラーを推測しています部。~
は適切なファイルシステムの一部ではありません。これはBourneファミリー/ CShellファミリーの構文糖衣です。それらのシェル(およびファイルシステム名のセマンティクスをエミュレートするもの)以外には存在しません。CMDコマンドインタープリターでコマンドラインでUSERPROFILE
環境変数(Unix/LinuxのようにHOME
ではない)を展開する場合、 正しい構文 は
mkdir "%USERPROFILE%/Documents/new_folder"
スペース文字を含むディレクトリ名を処理する引用符に注意してください。
もちろん、vimがそれらを独自の固有のコマンドラインメタ文字として認識して処理しないようにするには、%
文字をエスケープする必要があります。