+lua, +pythonのVimをraspberry pi上にbuildしたけど,遅かったので辛かった.
前置き
raspi上で開発しようとしたら,apt-getで入れたvimが-luaだったり,-pythonだったりして,使っているプラグイン(neocompleteとかjedi-vim)が動かず,捗らない.
どれくらい捗らないかっていうと,noremapで:
と:
を入れ替えていないVimくらい捗らない.
vim-gnomeを入れればいいみたいなのも話も聞いたが,別にそこまでは求めないしなぁ.
brewだとwith-python
とかで楽々できるのになんでapt-getは出来ないんだ……
自分でbuildするぞ
さすがに使っていて不便すぎたのでvimのbuildというやつをやってみることにした. vim-jp » Linuxでのビルド方法
流石天下のvim-jpである.親切である.
$ sudo apt-get install libncurses5-dev # terminalなんとかみたいなエラーが出る $ sudo apt-get install lua5.2 liblua5.2-dev $ sudo apt-get install luajit libluajit-5.1 # lua.hがみつからないと言われる $ git clone https://github.com/vim/vim.git $ cd vim $ ./configure --enable-python3interp=yes --enable-luainterp=yes --with-luajit --enable-fail-if-missing $ make $ sudo make install $ exec $SHELL -l # しないと更新されない $ which vim /usr/local/bin/vim $ vim --version | grep -e +python -e +lua +cscope +lispindent +python3 +wildignore +dialog_con +lua +rightleft +writebackup
さあ,プラグインを使うぞ
これで,jedi-vimを動かして快適VimLifeを…
なんだこの重さは!!!!!!!!!!
起動も遅いし,補完も遅いし,ちょっとこれは耐えられない. やはりラズパイの処理能力には流石に限界があるということか……
手元で編集してそれを送信して使う的なスタイルが最高な気がしてきた……
vimのcolorschemeの色をiTermのプロフィールによって変えた
前置き
ターミナルの背景は黒こそ至高,最高にCoolでExcellent!!! と思っていたが,どうしても太陽光が眩しかったり, 色々な事情で黒背景が不便なことがある.
そこで,黒背景のプロフィール(Dark)に加えて, 白背景のプロフィール(Light)も用意した. だがしかし…
さて,ちょっとファイルを編集するか…
ぐわああああああああーー!!!
急激な色の変化は目に優しくない. それにちょっと画像だと判りにくかもだけど, 縁の部分は白で,中が黒みたいな感じになっていて究極的にかっこ悪い.
どうにかして白背景の時と黒背景の時でset backgroundを変えたい.
答え
if !exists("$ITERM_PROFILE") || $ITERM_PROFILE != 'Light' set background=dark endif続きを読む
VimperatorのHisotry補完が死んでいたので直した.
結論
js services.services.autoCompleteSearch.class_="@mozilla.org/autocomplete/search;1?name=unifiedcomplete"
を.vimperatorrc
に追加
事件
- いつ頃からだったか,
o
やt
などのキーバインドの際の履歴の補完が全く効かなくなっていた. - twitterを
noti
で開いたり,この日記をtura hate
とかで開いたりしていたので効かないのはもの凄く不便.不便すぎて死ぬ. - FireFoxのアドレス欄での検索?は一応してくれるが,フォーカスを合わせるのが面倒すぎて死ぬ.
概要
otが死んだ
効果のなかったこと
- そういえば最近<C-m>をNopにしたりとかrcを更新したからそれが原因かもと思ったので戻したが,効果なし
- 困ったら再起動的なアレでも救いはなし.
- vimperatorがぶっ壊れたのかと思って再installするも変化はなし.
- 「vimperator 履歴 補完 出ない」とかで検索してもいいかんじのはhitしなかった(英語で調べろ)
解決への道筋
- 結構最近だったし,Twitterでなんかおんなじ感じで困ってる人いないのかなぁ.
!!!!!!!!!!!!!!!!!!!!!!!
vimperator なおった! https://t.co/tOwHxqjoJj
— MURATA Yuichi (@mrk_21) September 23, 2016
余談
そういえば,この前UbuntuでVimperatorを使おうとしたときに,noremap d <M-w>
が効かなくて,わざわざ書きかえることになりました.
やっぱりOS分岐的なのを書くべきなのかなぁ.
es6のMapに苦しめられたおはなし
$ node > a = new Map() Map {} > a[0] = 1 1 > a Map { '0': 1 } > a['0'] = 2 2 > a Map { '0': 2 } > a.set(0, 5) Map { 0 => 5, '0': 2 } > a.set('0', 6) Map { 0 => 5, '0' => 6, '0': 2 } > a Map { 0 => 5, '0' => 6, '0': 2 } > a.size 2
Mapに対してで挿入したときと,setで挿入したときで,空間が違うっぽい. setで挿入したのをで取ろうとしていて,死ぬコードを書いていた.