読者です 読者をやめる 読者になる 読者になる

積極的にメモっていく姿勢

題名詐欺。更新頻度の低さが売り。

Linuxとかの勉強 #1.0

今回は、各種設定ファイルを書いていくことに。

本当は宿題だったはずなのに、やってこないクズでした。
ということで、先輩の設定ファイルを眺めながらの勉強でした。

今回は、
zsh
・screen
vim
の設定ファイルを書いていくことになりました。

1.zshrc

今の .zshrc の内容は、

【コラム】漢のzsh (24) グッバイ野郎ども! コピペではじめるzshファイナル | 開発・SE | マイナビニュース

をまるっとコピーした内容に、

setopt auto_menu
zstyle ':completion:*:default' menu select=1

を追記したものになっています。

set auto_menu

tabキーを押すと、補完候補が出てくるようになります。

zstyle ':completion:*:default' menu select=1

補完候補矢印キーでの移動も可能になります。

他にも説明を受けましたが、上記のサイトに説明も書かれているようなので、割愛です。

2.screenrc

今の .screenrc の内容は、

escape ^J^J

caption always "%{= wb} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wk} [%l] %{=b wb}%y/%m/%d %{=b wm}%c"

#encoding
defkanji utf-8
defencoding utf-8
encoding utf-8 utf-8

autodetach

defscrollback 10000

#split window
bind S eval split focus "select 0"
bind | eval "split -v" focus "select 0"

ひとつづつ見ていきます。

escape ^J^J

Ctrl + J を2回押すことで esc と同じ効果を得ます。

caption always "%{= wb} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wk} [%l] %{=b wb}%y/%m/%d %{=b wm}%c"

現在の状態などを表示してくれる設定です。

screen caption のエスケープシーケンス解説 - FONで手のりサーバー! - Yahoo!ブログ

こちらのサイトに詳しく載っているので、勉強します。

encoding たち

ぼぎ〜てっく: GNU screen の文字コード指定

こちらのサイトに説明がありました。
接続する端末と実際のウィンドウ間の文字コードの変換などを行ってくれるようです。

autodetach

detachを自動で行ってくれる機能。

detachは、screenの状態を保存してからscreenを抜けることを指すようです。
つまり、再度同じ状態のscreenを起動することが可能となります。

sshで接続していて、回線のトラブルにより接続が途切れてしまっても、autodetachによってscreenの状態が保存されるので、再度接続したときに再現できるのです。

screen -R

で再度起動することが可能です。

defscrollback 10000

コピーモードのときに遡れる量を設定しています。

GNU screenのscrollbackとdefscrollbackの違い - ぬいぐるみライフ(仮)

こちらのサイトに、scrollbackの設定に関して載っていました。

split windowたち

esc -> S で画面を上下に分割、esc -> | で左右に分割することができます。

3.vimrc

今の .vimrc の内容は

set number

set fileencodings=utf8,iso-2022-jp,cp932,euc-jp,utf-16,ucs-2-intarnal,ucs-2
set encoding=utf8

syntax on

set ai
set wildmenu
set tabstop=2
set shiftwidth=2
set expandtab

set statusline=%F%m%r%h%w'\%=\[%{&fileencoding}]'
set laststatus=2

これもひとつづつ見ていきます。

set number

行番号の表示を行います。set nonumber で非表示にすることができます。

encoding たち

while (”im mirrored”);

非常に難解でした。上記のサイトを参考にして、勉強します。

syntax on

予約語などを色付けして表示してくれます。

set ai

autoindent の省略で、そのままの意味です。

set wildmenu

:を押した後のモードで、tab補完したときの候補を強調表示してくれます。

set tabstop=2

tabキーを押したときの進む幅の設定です。

set shiftwidth=2

自動インデントの文字数の設定です。

set expandtab

tabキーを押したときに、tabを空白に展開してくれます。

set statusline=%F%m%r%h%w'\%=\[%{&fileencoding}]'

現在の状態や、ファイルの情報を表示してくれるバーの設定です。

Vimのステータスラインをより有効に活用する設定法 | SourceForge.JP Magazine

こちらのサイトに関連することが載っていました。

set laststatus=2

末尾から2行目にステータスバーを表示する設定です。
デフォルトでは表示しない設定になっているようです。

上記のサイトでは、このことについても触れていました。

4.neobundle

.vimrcを一生懸命書いて、ライブラリまで整えたのに、別の環境で使えないとか......。
となったときのための、neobundleだそうです。

Shougo (Shougo) · GitHub

この方が公開されている、
・neobundle
neocomplcache
・unite
は先輩のおすすめのようです。

未だ、詳しくはわからないので勉強します。

ひとまずここまで

ここまでで、最低限の環境から使いやすい環境への進化を遂げました。
まだまだですが、何もしないよりよっぽどマシになったつもりです。

次に行ったのは、Haskellの開発環境構築です。
また、長くなってしまうので、別の記事にしました。

Linuxとかの勉強 #1.1 - 積極的にメモっていく姿勢