CUI : iTerm 2の設定をしたので備忘録として



Atomを使ってみようと決めて色々と試していくのと並行して
お気に入りのCUIであるiTerm 2とGitの利用にもなれる為、
customizeにトライしてみた。

これは一通り設定が終わって、途中まではvimで書いて最終整形はAtomを使った。

ハッキリ言って初心者である  
プログラムもまだ自分自身では書いたことがない  
一から先達者の情報をもとに独学で習得作業をしているが、かなりスローペース  
その独学方法は、とにかくトライしてみること、そんなことを繰り返してきてわかってきたことがある  
それは、試行錯誤していくうちにプログラムに親しんで行っているということだった
色々な人たちの記事を読み設定やコードを参考利用させてもらい眺めているうちに、
ちんぷんかんぷんだったものが、少しづつ理解できるようになっていっている
自分に気がついたのでだんだん面白くなってきた 
今はこれでいい、とにかく気になることにトライしていくだけでいい 
そしてモチベーションを保ちながら楽しんでやる そんなことを意識している 
壁にぶち当たりクリアーした時はやはり嬉しいその感覚は病みつきになりそうだ  
そんな試行錯誤を備忘録に残し、そして随時気がついたことなどを追記していきたいと思う。


##CUI 【 CLI 】 について
引用:[IT用語辞典](http://e-words.jp/w/CUI.html)
* Character-based User Interface / キャラクタユーザインターフェース
* Command Line Interface / コマンドラインインターフェース
* command line / コマンドライン  

>ユーザに対する情報の表示を文字によって行い、すべての操作をキーボードを用いて行うユーザインターフェースのこと。UNIX系OSの操作方式として一般的なほか、WindowsなどもCUI画面を呼び出して操作することができる。
画面上に命令の入力を促すプロンプトと呼ばれる文字列が表示され、ユーザがそれに続けてキーボードからコマンド（命令）を入力し、コンピュータに指示を与える。コンピュータはユーザの入力の次の行から処理過程や結果を出力し、再び入力が可能な状態になると改行して行頭にプロンプトを表示する。この繰り返しで対話式に作業を進めていくのがCUIである。
		

##流れと試行錯誤

* Atom
* iTerm 2
* tmux
* vim
* Git
* pluginTool

###Atomについて

<a href="https://atom.io" title="Atom"><img src="https://c2.staticflickr.com/8/7728/17998323688_067bd60863_z.jpg" width="320" height="89" alt="Untitled"></a>


* Github製、ChromiumベースのGUIのTextEditer
	* GUI グラフィカル・ユーザ・インタフェースの略( graphical user interface)
* 単に文章を書くこともできるが、どちらかというとプログラミング向けなのかなという印象
* customizingに富んでって使いやすいようにアレンジできる
	* 頻繁本体のにアップデートが行われるのはいいが、パッケージがついて行かずバグも頻繁、それさえ我慢すれば日々使い勝手はアップしている印象
* customize用のパッケージを色々な人たちが作っている
	* ここでパッケージというものがどういうものかということを学んだ
	* 現在も試行錯誤中

	---

###iTerm 2について

<a href="https://www.iterm2.com/" title="iTerm2"><img src="https://c1.staticflickr.com/9/8795/18186203035_198ba213e7_z.jpg" width="320" height="125" alt="iTerm2"></a>



* Mac純正のTarminal.appよりもcustomizingに富んだアプリ
* iTerm 2でShellはzshと決めた
	* zshとはshellの一種、sh系（sh，ksh，bash，zsh）とcsh系（csh，tcsh）の2種類があるらいし

	---

###tmuxについて

<a href="http://tmux.sourceforge.net/" target="_blank"><img class="alignleft" align="left" border="0" src="http://capture.heartrails.com/75x75/shadow?http://tmux.sourceforge.net/" alt="" width="75" height="75" /></a><a style="color:#0070C5;" href="http://tmux.sourceforge.net/" target="_blank">tmux</a><a href="http://b.hatena.ne.jp/entry/http://tmux.sourceforge.net/" target="_blank"><img src="http://b.hatena.ne.jp/entry/image/http://tmux.sourceforge.net/" alt="" /></a><br><strong>tmuxDownloadSite</strong><br style="clear:both;" /><br>


* ターミナルマルチプレクサ＝仮想端末マネージャのこと
	* 現時点ではiTermを起動すると直接tmuxが開くようにしてある

	---

###vimについて

<a href="https://www.flickr.com/photos/jaijaihariom/17565611493" title="vim"><img src="https://c1.staticflickr.com/9/8890/17565611493_5f828c254c_t.jpg" width="100" height="100" alt="vim"></a>

* プログラマに人気の軽量高性能のTextEditer
* iTerm 2 (CUI)でvimというcommandを使って立ち上げて使う
	* CUI コマンド・ライン・インタフェースの略 (command line interface)

	---

##iTerm 2環境構築

###iTerm 2,tmux,vim　のPromptとステータスラインのcustomize

**zsh = prezto** 

**tumx = tmux-powerline**

**vim = lightline.vim**

* Promptのデザインをpreztoにしてpowerlineを導入してみる
	* preztoとは軽量型のPromptデザインのcustomizeに特化している
	* powerlineとはPromptデザインのためfontを最適化するためのtool
* ステータスラインのことを知ってtnux-powerlineを導入してみた
	* ステータスラインとは画面のTopもしくはBottomに色々な情報が表示されるスペースのこと
* vimのステータスラインのcustomize
	* lightline.vimを導入する

 ---

###環境構築に必須なアイテム

* Gitについて
	* 分散型バージョン管理システム
	* GitHub(パブリック)、Bitbuckts(パブリック、プライベート)二つのサービスを使いながら、ソースコードやファイル管理を習得中

	---

* customizeの為に導入したpluginPackageManagerToolたち
	* Homebrew   OS X PackageManager
	* Antigen
	* Nodebrew
	* NeoBundle  vim pluginManager

	---

**まとめ**

今回は、大まかな概要のみになったが個々の設定などは改めて書いていけたらいいかなと思っている。
冒頭でも書いたが、これもまた追記などをして分かりやすくしていけたらと思っている。