denite.nvimを導入してみた for Mac
経緯
- 最近vimに出戻りしてきた中で
denite.nvim
が良さげということを知って導入することにしてみた
denite.nvimとは
denite.nvim はunite.vim の進化系になる。理論上はより自由度が高くなるはずだが、unite.vim の機能が多すぎて全部実装するのは無理だ。unite.vim が遅いと考えている人には良いプラグインとなる
— 暗黒美無王(dark Ryzen) (@ShougoMatsu) 2016年8月25日
導入時に必要になるもの
- Python3
Python3の導入
- Python3に関しては現状使う予定がないので以下をベースにそのままつっこんだ
brew install Python3
MacにPython3をインストールし環境構築【決定版】 - Qiita
vimでPython3を有効化する
- 参考元の一部抜粋
> # 現在の有効なインターフェース確認 > brew info vim ==> --with-python3 > # vimを導入してない場合は普通にbrew installする > brew reinstall vim --with-python3 > # python3が有効化されたか確認 > vim --version | grep python3 ==> +python3
Vim 8 に denite.nvimをインストールした - ねむい
denite.nvimの導入
.vimrc
に以下を追加- 適切な場所であれば
.vimrc
じゃなくてもok
- 適切な場所であれば
call dein#add('Shougo/denite.nvim') let g:python3_host_prog = expand('python3')
Vim8ではノーマルモードのマッピングが機能しません
- denite.nvimを利用してみたところノーマルモードではなくインサートモードになってしまう問題があった
- 以下をコマンドのあとに指定することで解決できた
-mode=normal buffer
Normal mode mappings don't work in Vim8 · Issue #166 · Shougo/denite.nvim · GitHub
感想
- できることが多すぎてプラグインに飲み込まれそう
Laravel5.1のmigrationを使ってカラムの変更でハマった話
経緯
- 実行したクエリもちゃんとバージョン管理下に置いておきたくてmigrationを使う運用をしている
- カラムの情報を変更させる必要があったのでmigrationファイルを作ってカラムを変更しようとしたらできなかった
なにをやってたのか
- migrationファイルを作った
php artisan make:migration --table 該当テーブル名 migrationファイル名
- スキーマを書いた
Schema::table('xxx', function (Blueprint $table) { $table->string('name', 50)->change(); });
- migration実行
php artisan migration
データベースを確認しても変化なしのため一旦ロールバックして再度、実行しながらクエリログをみる
xxx
テーブルに対してのログが一切でてこないのにmigrationテーブルは更新されてるカラムの情報を変更できていないのにmigrationファイルは実行済みになっていた
Documentを探した
なぜカラムの変更ができなかったのか
- パッケージをいれてなかった
- 以下を入れろってDocumentに書いてました
composer require doctrine/dbal composer install
結論
- 作ったファイル消してパッケージ入れてファイル作り直したら動きました
vimのディレクトリ構成を作るスクリプトを作ってみた
経緯
- 数時間前の僕は血迷って迷走していたのでやりたいことを整理することにした
- 以下血迷ってた時の記録
結局どうしたのか
保守するの?
- vim使ってるうちは(たぶん
vimrcはどうなったの?
- 聞かないで下さい
vimで何がしたかったのかわからなくなった話
経緯
- 最近マウス触るのがめんどくさくてめんどくさくてつらい
- なんだかんだ仕事もプライベートもだいたいターミナルにいるしもうvimでいいのでは説浮上(原点回帰)
過去の遺産の覗いてみた
- 仕事ではじめてvimを知りカスタマイズたのちぃって言ってたあの頃の遺産
- 自分で書いたソレに目を通して僕はそっとブラウザを閉じた
- ってわけにもいかないので、作り直すことを決意
やりたかったこと
- 多言語対応対応したい(拡張子別に設定切り替えたり)
- カオスすぎる
.vimrc
を適切なディレクトリ構造にしたい - とりあえずシンプルでいいからすっきりさせたい
やったこと
- とりあえずvimのバージョンあげようぜ時代は8系だろ8系
- バージョンあげたはいいけど過去の遺産を突っ込むと挙動おかしい
- 1つ1つ動作確認しつつ使えるのものは使おう精神で移植作業
- 過去の遺産の使えるところの移植作業(気が狂うかとおもった)
- ディレクトリ構成を考えて色々調べてた
- 以下迷走モード突入
- 手動でなにかしないといけないところらへんから色々見失った
できあがったもの
学び
- やりたいことに対してやろうとしてることが合ってるのか検討(勢いに任せるの良くない)
- dein.vimの使い方と導入方法
プロトタイプ
- 爆死したレポはこちらです(手が・・・う、動かねぇまだやることg・・・)
いいわけ
- これプロトタイプだから!!
WebStorageを初めて知ったけどよさそうだった
そもそも
- WebStorageって名前がついてることを知らなかった
- sessionStorage : わかる
- localStorage : わからない
本題
- localStorageに関して無知すぎたので調べたメモをまとめた
LocalStorageの特徴
- 保存容量はブラウザにより異なる(5MB~10MB)
- サーバへ値を送信しない
- 有効期限は無期限
Howto
- データを保存する
var num = 1; // データの保存 localStorage.setItem('access_count', num); window.localStorage.setItem('access_count', num); localStorage.access_count = num
- データの取得
num = localStorage.getItem('access_count'); num = window.localStorage.getItem('access_count'); num = localStorage.access_count
- データの削除
localStorage.removeItem('access_count'); window.localStorage.removeItem('access_count');
- localStorageを初期化
localStorage.clear(); window.localStorage.clear();
参考元 LocalStorageとは? その使い方を徹底解説!
感想
- こういうのって知ってる知らないとで労力が変わるんだろうなぁ・・・