【環境変数】vimを使って環境変数を設定する！

#1, はじめに
今回はvimを使って環境変数を設定する方法について書いていきます。
なお、ローカル環境に設定することを想定しています。

basic認証など、環境変数の設定する際に役立てれれば幸いです！

初学者投稿の記事になりますので、もしかしたら間違った部分もあるかもしれません。
その時はご教授いただけると幸いです！


#2, 環境

- macOS:``Catalina 10.15.7``

#3, 設定方法

terminalを使用し、設定していきます。

**1, vim ~/.zshrcを入力し、エンターを押します。**

```terminal
vim ~/.zshrc
```

そうすると、以下のような画面に遷移します。
既に書いてあるものはご自身のパソコン次第で変わると思われます。

```terminal
export PATH="hoge/fuga/....."                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
"~/.zshrc" 8L, 199C

```

**2, iを入力し、インサートモードに変更**


```terminal
i
```

すると、画面の下部が以下のようになります。

```terminal
export PATH="hoge/fuga/....."                                                                                                                                      
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
-- INSERT --  #このように表示される

```



**3, exportを使って環境変数を定義します。**

移動はカーソルキーで行えます。
（カーソルキー以外の方法もありますが割愛します）

``！！！既に書いてあったものは、消さないように！！！``


```terminal
export PATH="hoge/fuga/....."          #消さないこと                                                                                                                            
~                                      #【任意】分かりやすいように１行開けてます。                                                                                                 
export HOGE_USER_NAME="hogehoge"       #HOGE_USER_NAMEという変数にhogehogeを代入                                                                                                                               
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
-- INSERT --

```


**4, エスケープキーを押します。**

エスケープキーを押すと、画面の下部が以下のようになります。

```terminal
export PATH="hoge/fuga/....."                                                                                                                                      
~                                                                                                                                       
export HOGE_USER_NAME="hogehoge"                                                                                                                                    
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~      #特に何もなくなる                                                                                                                                 
```

**5, :wqを入力し、エンターを押します。**

保存後は勝手にterminalに戻ります。

```terminal
export PATH="hoge/fuga/....."                                                                                                                                      
~                                                                                                                                       
export HOGE_USER_NAME="hogehoge"                                                                                                                                    
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
~                                                                                                                                       
:wq       #入力すると、ここに表示されます。                                                                                                                              
```

**6, source ~/.zshrcを入力し、エンターを押します。**

これにより、zshrcファイルを再度読み込みます

```terminal
source ~/.zshrc
```

**7, envを入力し、エンターを押します。**

設定した環境変数が表示されたら完了です！

```terminal
(一部省略)
HOGE_USER_NAME=hogehoge
```



#4,ポイント

 **1, vimは操作が特殊**

vimはterminalと操作の仕方が異なります。
無理やりterminalを終了して、e325エラーが発生してあたふた。。なんてことも。
（実際、これでめっちゃ焦りました）

簡単ですが、vimの操作方法を以下に記載してみました。
実際はもっとあるそうですが、
最低限これらを覚えたら、変な動作→e325エラー発生を抑えられたので
記載します。

```terminal:sample

i #文字を入力するモード。エスケープキーを使うと元のモードに戻ります。

: #コマンド入力モード

:w #保存

:wq #保存して終了

:q #終了

:q! #強制終了

```

---
 **2, .zshrcファイルに環境変数を書く**

.zshrcに書くことで、環境変数が永続的に使えるようになります。

これはzshrcファイルの特徴である、
terminalを立ち上げるたびに読み込むためです。

なので、環境変数を設定した後にsource ~/.zshrcを入力することで
terminalを立ち上げる動作を再現しています。

そうすることで、定義した環境変数を読み込み、使えるようになります。

---

#5, 参考にさせていただいた記事
- [【備忘録】Vimの操作](https://qiita.com/one-a/items/a4e1d5a736d8408fd089)
- [Pathを通すとは、環境変数とは](https://qiita.com/fuwamaki/items/3d8af42cf7abee760a81)