tmux 入れてみた
Ubuntu に tmux を入れてみた
インストール方法
まず ncurses を入れる
$ sudo apt-get install libncurses5-dev
次に、最新版をダウンロード
$ wget http://downloads.sourceforge.net/sourceforge/tmux/tmux-0.9.tar.gz?use_mirror=jaist
次に、ビルド
$ tar xvfz tmux-0.9.tar.gz $ cd tmux-0.9 $ ./configure $ make && sudo make install
設定ファイル
時代はGNU screenからtmuxへ - Dマイナー志向 に書かれている例をそのまま ~/.tmux.conf にコピペ。
起動
$ tmux
とりあえず
C-b c と C-b n だけでも、便利に使えることが分かったのでジョジョに覚えていこう。ジョジョに。
- C-b c
- ウィンドウを作る
- C-b n
- ウィンドウの移動
vim の :tabe と gt に似ている。
もうちょっといろいろやってみた
- C-b ?
- ヘルプ
- C-b =
- スクロールしたいときに
- C-b "
- ペイン追加
- C-b o
- ペインの選択
- C-b :select-layout main-vertical
- main-vertical レイアウトが一番使い易い
- C-b [
- コピーモード vi キーバインドだと SPACE ENTER でコピー範囲を指定
- C-b ]
- はり付け
純粋な感動
コピペすごすぎるだろ JK!(いまさら
coreutils に dir コマンド入ってるんですね。
で、なんでだろうと思って
dir ファイルを探してみた。
$ whereis dir dir: /usr/bin/dir /usr/share/man/man1/dir.1.gz
おお。なんかあるぞ
どのパッケージに入ってるのかを調べた
$ rpm -qf /usr/bin/dir coreutils-5.97-14.el5
coreutils なんだー。
じゃあ
MacPorts でも coreutils 入れてるから、使えるかな?と思ったら
MacPorts で入れた coreutils のコマンドは g から始まるらしい
Mint's log: Macportsのcoreutilsコマンド群はなんでも「g」から始まる
というわけで、 gdir という名前でインストールされてた。うーん。
1000 万行のソースコード
Linuxカーネルのコード行数、1000万行を上回る | スラド
1 日 1000 行読んだとしても 30 年かかるのかあ。
桁が違いすぎる。
その間もソースコードは増え続ける。
やがて、誰も保守することができなくなったソースコードの山。
人類はソースコードを解析するという目的で、ソースコードを理解するプログラムを作った。
そして、コンピュータは自立進化を始める。
これがコンピュータ対人類の戦争の始まりだったのだ
なーんて
Ubuntu Server インストールめも
インストール
- CD を入れてブート
- Language
- 「日本語」を選択
- Ubuntu ロゴが表示される
- 「Install Ubuntu Server」
- ちょっと待つ(数十秒)
- Ubuntu インストーラメニュー
- 「Alt+Shift」を選択
- ちょっと待つ(数十秒)
- ホスト名
- amachang(適当に)
- ディスクのパーティショニング
- 「ガイド - ディスク全体を使う」を選択
- 「はい」を選択
- けっこう待つ(数分)
- ユーザーとパスワードのセットアップ
- 名前を入力
- ユーザ名を入力
- パスワードを入力
- もう一度パスワードを入力
- HTTP プロキシの設定
- なし
- Software selection
- インストールの完了
はやっ
セットアップ
- ssh でログインする
- ssh ユーザー名@ホスト名
- Are you sure you want to continue connecting?
- yes
- パスワードを入力する
- apt-get する準備
$ sudo apt-get update
- .vimrc を書く
syntax on set expandtab set tabstop=4 set shiftwidth=4 set softtabstop=0 set number set smartindent set incsearch
怒られた
Error detected while processing /home/amachang/.vimrc: line 2: E319: Sorry, the command is not available in this version: syntax on Press ENTER or type command to continue
あたらしく vim をインストールする
$ sudo apt-get install vim
おk
まとめ
サーバーで何をするかを考えていなかった
.forward で受信メールをどうこうする
書いとかないと忘れそうなのでメモメモ
.forward ファイルにコマンドを書いておく
"| exec /Users/amachang/hoge.pl"
で、そのメールのデータをオブジェクトにする
use MIME::Parser; my $parser = MIME::Parser->new; $parser->output_to_core; my $entity = $parser->parse(\*STDIN);
オブジェクトからそれぞれのデータを取り出す
use Encode; # Subject my $subject = decode('MIME-Header', $entity->head->get('Subject')); # From my $from = do { $entity->head->get('From') =~ /([^<]+\@(?:[-a-z0-9]+\.)*[a-z]+)/; $1 }; # Body my $body = decode('ISO-2022-JP', $entity->bodyhandle->as_string);
簡単だけに忘れそう
tree コマンドが便利
今までは ls -R とか find でファイルを探してたんですけど
もっと直感的に(あまり考えずに)、探せるコマンドはないのかなあと思って tree コマンドを使ってみた。
で
めっちゃ使いやすい!
~/jquery/trunk/jquery/test $ tree . |-- data | |-- cow.jpg | |-- dashboard.xml | |-- json.php | |-- json_obj.js | |-- jsonp.php | |-- name.html | |-- name.php | |-- test.html | |-- test.js | |-- test.php | |-- test2.html | |-- test3.html | |-- testrunner.js | |-- testsuite.css | |-- text.php | `-- with_fries.xml |-- index.html |-- test.js `-- unit |-- ajax.js |-- core.js |-- event.js |-- fx.js `-- selector.js 2 directories, 23 files
まとめ
とりあえず tree は便利。
駄文 - rb -> sh -> vi
いやあ。マジでいい道選んだね
http://d.hatena.ne.jp/dropdb/20071106#p6
vi でも vim でも emacs でもいいんだけど、途中で挫折しないで、頑張ってほしい。
最初は信じられないかもしれないけど、それを使いこなせるようになるまでの時間は、それを使って節約できる時間と比べると圧倒的に短い。
つまり、早く使いこなせるようになればなるほど、プログラミング学習の本質的な部分に触れられる時間が増えるということ
マジで、いいモデルケースになることを期待しています。