弱小システム屋が使う技術メモと他色々

主に自分用な技術メモが多くなる気がする。他色々が書かれるかどうかは不明。

Cygwinの個人的環境設定

Cygwinをインストールした後、快適に使うための環境設定メモ。

設定の前提

minttyが入っていてmintty.exeからbashを起動する想定で書く。
Cygwin.batbashの直接起動など、Windowsターミナルからの操作は考えていない。

minttyのオプション

まずは右クリック→Optionsからの設定。
基本的に書いてないものはデフォルトのまま。

Looks → Cursor [カーソル形式をブロックに変更]

好みがあると思うがBlock形式が見やすかったのでこっちに変更。

Text → Font [見やすいフォントを設定]

ターミナルに合っていて日本語も良い感じに扱えるフォントとして、Ricty Diminishedというものが勧められていたので導入。

GitHub - edihbrandon/RictyDiminished: Ricty Diminished --- fonts for programming
Clone or DownloadDownload ZIPして、zipの中身を全部インストール。

インストールしたら改めてCygwinのFont設定に入れる。

Text → Character set [文字コードUTF-8化]

UTF-8を設定。

Window → Default size [ウィンドウサイズを広げる]

今時80桁表示とかきつい。とりあえず140*40に変更。

vi(vim)の設定ファイルを作る

デフォルトのままだとviでのテキスト編集がままならない。
~/.vimrcを作って、下記の通り設定する。

 " 最重要: vi互換モードをOFFにする
 " 方向(矢印)キーがABCDを入力して思ったように効かないケースはこの設定が必要
 " 実際は.vimrcを読み込んだ時点でnocompatibleモードが設定されるため、ここには書かなくても良い
 set nocompatible

 " 書き込みファイルエンコーディングをUTF-8に
 set fileencoding=utf-8

 " ルーラ, 行番号を表示
 set ruler
 set number

 " オートインデント
 set autoindent

 " タブ幅, インデント幅=スペース4文字
 set tabstop=4
 set shiftwidth=4

 " タブ入力をスペースに変換
 set expandtab

 " バックスペースで行頭空白, 改行,
 " 挿入モード開始位置より手前を削除可能に
 set backspace=indent,eol,start

 " シンタックスハイライト, 検索ハイライト有効化
 " シェルスクリプトとか自動で色分けしてくれて良い感じ
 syntax on
 set hlsearch

 " とりあえず色数は256にしてみる
 set t_Co=256


うまく設定が効かない場合はvim-minimalがインストールされているかも。
Cygwinの.vimrcがうまく読み込まれなかった時の対応方法 - 弱小システム屋が使う技術メモと他色々

.bash_profileの設定

コマンドのaliasを設定する

とりあえずこんな感じ。個人的にllが必須。

alias ll='ls -l --color=auto'
alias la='ls -la --color=auto'
alias grep='grep --color'
alias df='df -h'

プロンプトの表示形式を変更する

Cygwinデフォのプロンプトだと改行が多いのが個人的にイマイチ。
Linuxの一行プロンプトチックにしたかったので表示形式を変更する。
形式は環境変数PS1で設定されているので、この値を定義する。

PS1="\[\e]0;\w\a\]\[\e[32m\][\u@\h]\[\e[33m\] [\w]\[\e[0m\]\$ "


設定変更前の表示

user_name@host_name ~
$ echo "\"${PS1}\""
"\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ "

user_name@host_name ~
$ cd testdir

user_name@host_name ~/testdir
$ ll
total 0

user_name@host_name ~/testdir
$


設定変更後の表示

[user_name@host_name] [~]$ echo "\"${PS1}\""
"\[\e]0;\w\a\]\[\e[32m\][\u@\h]\[\e[33m\] [\w]\[\e[0m\]$ "
[user_name@host_name] [~]$ cd testdir/
[user_name@host_name] [~/testdir]$ ll
total 0
[user_name@host_name] [~/testdir]$