vim を使用して Python コードを編集し始めています。「.py」などのさまざまなサフィックスに従って、vim でコードをさまざまなフォルダーに保存したいと考えています。
それで、これをgvimrcファイルに追加しました(実際にMacVimを使用していますが、vimでも同じ問題が発生します)
au BufWritePre *.py :cd /Users/username/Documents/folder
これにより、 「.py」で終わるコードを保存する前に、毎回作業ディレクトリが/Users/username/Documents/folderに変更されると思います。
私がMacVimに入ったときに、新しいファイルを開き、次のように入力しました
print("Hello")
そしてそれを保存しました
:w hello_world.py
希望どおり、hello_world.pyという名前のファイルが/Users/username/Documents/folderに表示されました。vim の ":pwd" コマンドも " /Users/username/Documents/folder " を返しました。しかし、vimでhello_world.pyのファイル名を確認すると
:!echo %
それは返す
/Users/username/hello_world.py
予想されるファイル名の代わりに
/Users/username/Documents/folder/hello_world.py # expected filename
さらに、次のようなコードをアップグレードしようとすると
print("Hello")
print("World")
そしてそれを保存しました
:w
/Users/username/Documents/folderの下のhello_world.pyのコンテンツは変更されていません。しかし、同じhello_world.pyという名前の新しいファイルが/Users/usernameに表示されました。これは vim のファイル名と一致しています。
「.py」ファイルを保存する前に、gvimrc の autocmd スクリプトが作業ディレクトリを変更したと思いますが、ファイル名が作業ディレクトリと一致しない理由と、「.py」ファイルを特定のフォルダ。