IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

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 [
  • C-b ]
    • はり付け

純粋な感動

コピペすごすぎるだろ JK!(いまさら

coreutils に dir コマンド入ってるんですね。

最近は Windows での作業が増えて

すっかり、 dir という手癖がついてしまった。
で、 linux で 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 インストールめも

準備

ダウンロード

http://www.ubuntu.com/getubuntu/download

  • Ubuntu 8.04 LTS Server Edition
  • 64bit AMD and Intel computers (64 bit マシンなので)

で、ダウンロード

CD を焼く

ディスクユーティリティとかで

インストール

  • CD を入れてブート
  • Language
    • 「日本語」を選択
  • Ubuntu ロゴが表示される
    • 「Install Ubuntu Server」
    • ちょっと待つ(数十秒)
  • Ubuntu インストーラメニュー
    • 「Alt+Shift」を選択
    • ちょっと待つ(数十秒)
  • ホスト名
  • ディスクのパーティショニング
    • 「ガイド - ディスク全体を使う」を選択
    • 「はい」を選択
    • けっこう待つ(数分)
  • ユーザーとパスワードのセットアップ
    • 名前を入力
    • ユーザ名を入力
    • パスワードを入力
    • もう一度パスワードを入力
  • HTTP プロキシの設定
    • なし
  • Software selection
    • とりあえず「LAMP server」「OpenSSH server」を選択
    • mysql-server-5.0 を設定しています。
      • パスワードを入力
    • ちょっと待つ(数分)
  • インストールの完了

はやっ

セットアップ

  • 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

ちなみに

Mac だとインストールしないとダメ

$ sudo port install tree

まとめ

とりあえず tree は便利。

駄文 - rb -> sh -> vi

いやあ。マジでいい道選んだね

http://d.hatena.ne.jp/dropdb/20071106#p6

vi でも vim でも emacs でもいいんだけど、途中で挫折しないで、頑張ってほしい。
最初は信じられないかもしれないけど、それを使いこなせるようになるまでの時間は、それを使って節約できる時間と比べると圧倒的に短い。
つまり、早く使いこなせるようになればなるほど、プログラミング学習の本質的な部分に触れられる時間が増えるということ
マジで、いいモデルケースになることを期待しています。

余談

僕が秀丸から vim に以降したのも 2005 年だったなあ。2005 年は転機だったのか。