万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    vimでファイル生成するときにディレクトリも同時に作る

    以下で、~/.vimrc ファイルを作る

    function! EnsureDirectoryExists()
      let dir = expand('%:p:h')
      if !isdirectory(dir)
        call mkdir(dir, 'p')
      endif
    endfunction
    autocmd BufWritePre * call EnsureDirectoryExists()

    関数の作成:

    EnsureDirectoryExists という関数を作成します。この関数は、現在開いているファイルのディレクトリパスを取得し(expand('%:p:h')を使用)、そのディレクトリが存在するかをチェックします。

    ディレクトリのチェックと作成:

    isdirectory 関数を使用してディレクトリが存在するかを確認します。 もし存在しない場合、mkdir 関数でディレクトリを作成します。 mkdir関数の 'p' オプションは、必要な中間ディレクトリも一緒に作成することを意味します。

    自動コマンドの設定:

    autocmd BufWritePre * call EnsureDirectoryExists() この行は、ファイルを保存する前(BufWritePre イベント)に自動的に EnsureDirectoryExists 関数を呼び出すようにVimに指示します。

    外部コマンドを使用する方法 この方法では、Vimの外部コマンド実行機能を利用してシェルの mkdir コマンドを実行します。

    mkdir コマンドの実行: :!mkdir -p %:p:h このコマンドは、現在のファイルのディレクトリパスを取得し(%:p:h)、そのパスに対して外部の mkdir コマンドを実行します。-p オプションは、必要に応じて中間ディレクトリも作成することを意味します。

    ファイルのオープン: :e filename このコマンドは、指定したファイルを編集モードで開きます。

    これらの方法を使用することで、Vimを使ってファイルを開く際に、そのファイルが存在するディレクトリがない場合に自動的にディレクトリを作成することが可能になります。