メモ的な? vim ipad2 mysql的な | MrHappyendのブログ

MrHappyendのブログ

日常や勉強したものなど書きまーす。

気軽にコメントしてください^^

また、勉強についてはご指導してくださるととても嬉しいです。
おすすめのサイトやテキスト教えてくださいね!!

【iPa2の充電速度】
1時間30分ほどで、20%ちょっと。


【vimのキーバインド】
.vimrcひらいてですね

とかいって、そのままファイルを探して開くことはあんまりしたことがない。
gvimで、アプリケーションとしてのvimなので、いつもvimrcを開くときは

gvim起動

編集

起動時の設定

これで、vimrcファイルを開きます。

今回はキーバインドの設定。


dreamweaverにあるような設定をしたいと思いプラグインを探す。
まずよかったのは、smartchar

=を入力するときにつかえるんだが、

= を一度入力すると=の前後に空白を付け加えてくれる
$test = 'test';

=の2度入力は、==の前後に空白を
$test == 'abc';

$test === 'practice';

4度の入力内容の設定はおれがカスタムしたんだが、

=”*” の状態にしてくれるもの
$test="*";
(*は入力カーソルの位置)

めちゃくちゃいい

んで、”*” という形に気軽にできないかと思って、探してみた

プラグインじゃなくてもできるじゃないかということで、紹介



inoremap { {}
inoremap ( ()
inoremap [ []
inoremap ' ''
inoremap " ""
inoremap { {}
inoremap
inoremap
inoremap
inoremap

どうっすか、すばらしくないですか?w

入力:{
入力結果:{*}

入力:'
入力結果:'*'

という感じ。。。


応用すれば、
入力:結果:
*


とかもできる



ますます、dreamweaverに近づいてきた。

vimがドロップボックスに入っていれば、どこでも同じ環境で作業できるし
助かる




ちなみに、ほかにもこまんどおぼえた 

'test' → "test"

こうしたいときは、
cs'"
を入力すると交換できる

たぶんだけど、コマンドの意味は
change string
って感じでしょうか。

(hogehoge)-> {hogehoge}
cs(}
でおk
もし、cs({
とすると
(hogehoge) -> { hogehoge }
となってしまうので、覚えておくといい



hogehoge -> 'hogehoge'
にしたいときは

ysiw'
yank str i word
iはなんだかわかりません

どうせ体で覚えるコマンドなので、特に調べませんが、気になる人は調べてください^^


今回はこんなもんだった気がする。

やっぱ多用するようになったのは以前覚えた
ci"
でしょうか。

change in "" の意でしょう、たぶん

hogeh*ogeでも、ho*gehogeでも、とにかく変更したい””の中の文字列にカーソルがおいてあれば
””の中すべて消して、インサートモードにはいってくれます。

便利便利

でも、こんかいのキーバインドもすばらしすぎる
$_POST['hoge'];
こんな感じでうちこめばおk
$_P C-n [ ' hoge C-l C-l ;
C-nはCtrl+nのことですね。



【mysql 外部キー】
ERROR 1005 (HY000): Can't create table 'xxxx.xxx'' (errno: 150)
これなんだよーーーーーーーーーーーーーーーーーーーーーーー


散々迷って、ためしにテストテーブルつくって、文法間違えていないか気になっているところを試す

せいこうした


で、しらべてみた

これは、外部キーの設定をみすっているときに主に出るらしい。

不親切なところもあって、文法が間違ってるときにもでることがあるらしい。困る。

で、外部キーを見直したが、間違いはない


しかし、複数指定している。できるっぽいことかいてあったんだけどな。

カラム型のずれとかもろもろ修正したが解決せず。

結局わからずに、外部キーつけないで、単純な形でテーブル作成して、

あとから制約条件を付け加えることにした。

1つしかつけられなかった。。。。

どうすんねや。ま、あとまわしにしときましょかね。


MySQL 外部キー制約の追加、削除
忘れるのからメモ



外部キー制約の追加


ALTER TABLE テーブル名 ADD FOREIGN KEY (制約を張りたいカラム) REFERENCES 張りたいテーブル(張りたいカラム);



alter table hogehoge add foreign key (hoge_id) references hoge(id);




外部キー制約の削除

ALTER TABLE テーブル名 DROP FOREIGN KEY 制約名;



ALTER TABLE hogehoge drop foreign key hogehogehogehogehoge;