Mecab-perlのインストール
こんばんは。
Mecabについて、これまでPHPのバインディングやRubyのバインディングをインストールしてきました。
次はperlのバインディングをインストールしたいと思います。
やり方はRubyのときとほぼ一緒だと思いますが・・・
# mecabのバージョンに合わせたものをダウンロードしてきます $ wget https://mecab.googlecode.com/files/mecab-perl-0.996.tar.gz $ tar zxfv mecab-perl-0.996.tar.gz $ cd mecab-perl-0.996 # インストールです $ perl Makefile.PL $ make $ sudo make install # エラーが出なければOK!テストしてみます $ perl test.pl
これでテスト結果がきちんと出力されればOKです。
簡単でしたね。
それでは。
BerkeleyDBとperlのDB_Fileモジュールのインストール
こんばんは。
今回はperlのDB_Fileモジュールというものを使いたかったのでそれのインストール方法をメモしておきます。
このモジュールをインストールするためにはBerkeleyDBというDBMSの一つをインストールする必要があります。
DB_FileはBerleleyDBの一部の機能を使うことができるものです。
こちらに詳しく書いてありましたので、気になる方はどうぞ。
さて、まずBerkeleyDBのインストールです。
これはHomebrewでやっちゃいましょう。
$ brew install berkeley-db
次にDB_Fileモジュールのインストールです。
以下ではWgetでソースファイルを持ってきて設定ファイルを書き換え(HomebrewでインストールしたBerkeleyDBを読み込ませるように)し、インストールしています。
$ wget http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/DB_File-1.835.tar.gz $ tar zxfv DB_File-1.835.tar.gz $ cd DB_File-1.835 $ vim config.in # INCLUDEとLIBのパスをコメントアウトして以下のように追記(バージョンは現時点です) INCLUDE = /usr/local/Cellar/berkeley-db/5.3.28/include LIB = /usr/local/Cellar/berkeley-db/5.3.28/lib # インストールです $ perl Makefile.PL $ make $ make test $ sudo make install
これでエラーが出なければOKです!
今回は簡単でしたね。
それでは。
参考にさせていただいたサイト
DB_Fileのインストール - Berkeley DBへのperl accessor - end0tknrのkipple - web写経開発
Cabochaをインストールしてrubyで使えるように
こんばんは。
今回はCabochaをMacに入れてみたいと思います。
Cabochaは係り受け解析器です。
今回はすごく簡単でした。
なお、mecabがインストールされていないと動かないので注意です。
インストール
まずはインストールです。
こちらからダウンロードしてくるのもいいんですが、今回はHomebrewにパッケージがあったのでそちらからインストールしました。
$ brew install cabocha $ cabocha 隣の客はよく柿食う客だ
cabochaコマンドが使えればOKです。
rubyバインディングのインストール
次にRubyから呼び出せるようにします。
Homebrewで入れるとRubyバインディングの実行ファイルが入ってこないので、こちらから同じバージョンのものをダウンロードします。
$ wget https://cabocha.googlecode.com/files/cabocha-0.68.tar.bz2 $ tar zxfv cabocha-0.68.tar.bz2 $ cd cabocha-0.68/ruby
rubyディレクトリにいったらインストールします。
$ ruby extconf.rb $ make $ sudo make install $ ruby test.rb
テストでエラーが出なかったらOKです!
今回は簡単でしたね!
それでは。
参考にさせていただいたサイト
vimのよく使うコマンドや便利なコマンドなど
こんばんは。
今回はvimについて、よく使うコマンド、便利なコマンドなどを細かい部分を含めてメモしておきたいと思います(よく忘れるので…)。
基本的なコマンド
まずは基本的な部分です。
:(コロン)を使わない基本的なコマンドをここに記載します。
カーソル移動
hjklでの移動は省略します。
コマンド | 説明 |
---|---|
w | 1単語前へ移動 |
b | 1単語後ろへ移動 |
e | 単語の最後の文字に移動 |
gj, gk | 一行が折り返しているとき、表示行単位で移動 |
gg | ファイルの先頭へ移動 |
G | ファイルの最後へ移動 |
Ctrl-u | 半画面上へ移動 |
Ctrl-d | 半画面下へ移動 |
0 | 行の先頭に移動 |
$ | 行末へ移動 |
fx(文字) | カーソル位置から行末までにxがあればそこへ移動 |
Fx(文字) | カーソル位置から行頭までにxがあればそこへ移動 |
文字列操作
コマンド | 説明 |
---|---|
yw | カーソルのある単語をヤンク |
yy | カーソルのある行をヤンク |
y0 | 行頭からカーソルの直前までをヤンク |
y$ | カーソルの位置から行末までをヤンク |
dw | カーソルのある単語を切り取り |
dd | カーソルの行を一行切り取り |
x(数値)dd | カーソル以下のx行を切り取り |
d0 | 行頭からカーソルの直前までを切り取り |
y$ | カーソルの位置から行末までを切り取り |
v | ビジュアルモード |
V | 行単位でビジュアルモード |
Ctrl-v | 短形ビジュアルモード |
p | 貼り付け |
P | カーソルの前に貼り付け |
Ctrl-a | カーソル行の数字をインクリメント |
Ctrl-x | カーソル行の数字をデクリメント |
その他の操作
コマンド | 説明 |
---|---|
u | 元に戻す(undo) |
Ctrl-r | やり直す(redo) |
(文字列打った後に)Ctrl-p | 前候補を選択 |
(文字列打った後に)Ctrl-n | 次候補を選択 |
. | 直前のコマンドを実行 |
インサートモードについて
インサートモードに入る際、様々な方法があります。
使い分けると何気便利です。
コマンド | 説明 |
---|---|
i | カーソル位置からインサート |
a | カーソルの次の位置からインサート |
o | カーソルの次の行からインサート |
O | カーソルの前の行からインサート |
I | カーソルのある行の行頭からインサート |
A | カーソルのある行の行末からインサート |
複数行操作(コメントアウト)
次にビジュアルモードで複数行操作する方法についてです。
私は基本的に v でビジュアルモードに入って、選択したものをヤンクしたり切り取ったりしています。
ここでは複数行を一気に操作(コメントアウトとか)する方法を記載しておきます。
- Ctrl-vで短形選択モードになり、複数行を指定
- Shift-iで入力モードに
- 挿入したい文字列(//とか)を入れる
- Esc
以上で複数行にまとめて文字列を挿入出来ます。
コメントアウトしたいときに非常に便利です。
コマンドラインモードにおけるコマンド
次はコマンドラインモード(コロン打ったとき)における基本的なものや便利コマンドを載せておきます。
文字列操作
コマンド | 説明 |
---|---|
:s/xxx/yyy/gc | カーソル行にある全てのxxxをyyyに置換。cで確認ありにする。また/gを外すと一つずつになる |
:%s/xxx/yyy/gc | ファイル全てのxxxをyyyに置換 |
:%s;/xxx/yyy/;/www/zzz;gc | ファイルにある全てのパス名を置換。パス名などの場合は;を区切り文字にする |
= | インデント整形。選択した部分を整形してくれる |
画面操作
ウィンドウやタブ操作です。
ちなみにvim -p file1 file2
でファイルをタブで開き、vim -o[-O] file1 file2
でファイルを水平分割(垂直分割)して開くことができます。
コマンド | 説明 |
---|---|
:e file | fileを現在のウィンドウで開く |
:new file | fileを新しいウィンドウで開く(垂直方向) |
:vnew file | fileを新しいウィンドウで開く(水平方向) |
Ctrl-w h,j,k,l | それぞれの方向のウィンドウへ移動 |
:tabe file | fileを新しいタブで開く。file指定しないと空のタブを開く |
:tabc | 現在のタブを閉じる |
gt | 次のタブへ |
gT | 前のタブへ |
以上です。
今後便利なコマンドが見つかり次第追記していきます。
それでは。
参考にさせていただいたサイト
脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き) - Qiita
Linux - 【Vim入門】ノーマルVimで使えると便利かもなコマンド10つ - Qiita
git submodule の使い方
こんにちは。
今回は個人的に最初ちょっと扱いづらかった git submodule について基本的な使い方をメモしておきたいと思います。
git submoduleは外部のgitリポジトリを自分のリポジトリのサブディレクトリとして扱うことができるようになるものです。
cloneせずにsubmoduleとすることで、対象のリポジトリが更新されたときも追従することが可能となります。
最初は使いづらいしよく分からなかったのでcloneしてましたが、慣れると便利です。
それでは使い方を見てみましょう。
サブモジュールの追加
サブモジュールは git submodule add コマンドで追加出来ます。
$ git submodule add <gitリンク>
追加すると、Gitリポジトリのルートに .gitmodules が作成されます。
中身を見てみると、追加したリポジトリの名前やパスが記述されていると思います。
このファイルでサブモジュールを管理するんですね。
なお、.git/config にも記載されています。
サブモジュールの更新
サブモジュールの更新は git submodule update で行います。
サブモジュールに更新があった場合は随時これを実行します。
$ git submodule update
なお、 --recursive をつけることでサブモジュール内のサブモジュールも再帰的に更新するようです。
サブモジュールの削除
サブモジュールの削除は git submodule deinit で行います。
$ git submodule deinit リポジトリ名 $ git rm -rf 対象のファイル
サブモジュールを削除したら、 git rm コマンドでgitからもファイルを削除します。
削除後に .gitmodules などを見てみると、該当の記述が消えています。
サブモジュールを含んだリポジトリを clone したとき
サブモジュールを含んたプロジェクトをgithubからcloneすると、サブモジュールとして取り込んだディレクトリには何も含まれていません。
その際にサブモジュールを再度取り込むには、以下の流れで行います。
$ git clone <gitリポジトリURL> $ git submodule init $ git submodule update
init してから update することで、取り込むことができます。
なお、cloneする際に一緒に submodule init と git submodule update を一度に済ませる場合は、clone に --recursive オプションを使います。
$ git clone --recursive <gitリポジトリURL>
以上です。
これからは積極的に使っていきたいと思います。
それでは。
参考にさせていただいたサイト
mecab-rubyのインストール方法
こんにちは。
今回はMecabをRubyで使えるようにするために、OS Xにmecab−rubyをインストールします。
mecab−rubyはソースをダウンロードしてきてインストールします。
ただ、gemでもインストールすることができるのでビルドしたくない方はそちらで。
しかし、gemの場合はruby2.0以上じゃないと正常に動作しないようなので(未確認ですが)、今回は2.0以下で使いたいこともあり、普通にソースを取得してビルドする方法を採用しました。
ソースの取得と解凍
まずはソースを取得しましょう。
なお、mecab-rubyはmecabのバージョンに合わせたものをダウンロードしないといけないので注意してください。
私の環境ではmecab 0.996なのでそれに合わせます。
$ wget http://mecab.googlecode.com/files/mecab-ruby-0.996.tar.gz $ tar zxfv mecab-ruby-0.996.tar.gz $ cd mecab-ruby-0.996
extconf.rb の修正
次に extconf.rb ファイルを修正します。
このファイルでMakefileを作っているのですが、現状のままではMac標準のmecabを参照してしまうので、brewで入れたものを参照するように修正します。
$CFLAGS += ' ' + `#{mecab_config} --cflags`.chomp $LDFLAGS += ' -L' + `#{mecab_config} --libs-only-L`.chomp # この行を追加
インストール
さて、これでインストールする準備が整いました。
先程のファイルを実行して make install します!
$ ruby extconf.rb $ make $ sudo make install
これで何もエラーが出なければOKです。
ただ、ruby 1.9 より下のバージョンだと以下のようなエラーが出るかもしれません(自分は出ました)。
-c mecab_wrap.cpp mecab_wrap.cpp:1859:10: fatal error: 'ruby/version.h' file not found
mecab_wrap.cpp を見てみると、今のディレクトリから相対参照で ruby/version.h を include するようにしていたので、以下のように変えたら動くようになりました。
/* 下の行をコメントアウト */ /* #include "ruby/version.h" */ #include <version.h> /* このように変更 */
テストしてみる
さて、makeが無事に通ったらテストしてみましょう。
$ ruby test.rb
これで結果が出力されればOKです!
お疲れ様でした。
なお、rbenvでrubyを複数バージョン入れている場合は、バージョンごとに上記のインストールをやらないとダメです(自分はこれで若干詰まってました・・・)。
それでは。