Home

コマンドの出力に色をつける

catやlessなど,terminalで何か文字列を出力する際には色がついてないと読むのがキツイ. 今までも一部のコマンドには色をつけて表示されるようにしていたが,出力系コマンドで色をつけて表示してくれるようなコマンドを調べたのでメモする. 調査したのはMacOS上でだが,見る限りどれもLinuxでもインストールできるっぽい. ls→exa exa: ogham/exa: Replacement for ‘ls’ written in Rust. exaはRustで書かれたlsの代わりになるツール. brew install exaでインストール可能. ↑綺麗に表示してくれる 普通のlsと違って-Tでtree表示ができたり,gitのrepositoryはbranchの表示...

Read more

リンクコピーを簡単にできるChrome拡張を作ってみた

Google Chromeの拡張機能であるChrome Extensionを作ったのでメモを残しておく.Chrome Extensionの作成方法が知りたい場合は,Chromeのオリジナル拡張機能を開発しよう(ソースコードあり) 株式会社LIGやChrome拡張の開発方法まとめ その1:概念編 - QiitaQiitaのリンクが参考になったので見ておくといいかも. 何を作ったか ショートカットキーを押すと,今見ているページのリンクをコピーする.markdown形式と単純にurlをシングルクォーテーションかダブルクォーテーションで括ったものかを選択できるようにしている. 作ったものへのリンク: fhiyo/simple-link-clipper: Clip web page’s l...

Read more

jekyll serveを速くする

このブログのジェネレーターはJekyllを使っているが,書いた記事をプレビューするためにjekyll serveコマンドを使うことでローカル上にサーバーが構築され,localhost:4000でアクセスすることができる. しかし,記事の数が増えるに従ってjekyll serveでサーバーが立ち上がるまでにかかる時間がどんどん遅くなり,1分くらいまで遅くなってしまったので調べて何とかした. ここを参考にした.方法は以下. brew install gslでgslをインストール Gemfileに以下の記述を追加してbundle installでJekyllでgslを使うための準備 # For gsl gem "sass" gem "bourbon" gem "neat...

Read more

CommonLispのmemberでitemとしてリストを指定する

Common Lispのmemberはリスト内にitemがあるかどうかを検索するための関数だが,itemがリストのときに上手くいかずにハマっていた. > (member '(2 3) '(() (1 2 3 4) (2 3) (2))) NIL ; '(2 3)は検索対象内にあるのにNILが返ってくる 結論としては,memberのキーワード引数のtestにequal関数を指定することで上手くいった. > (member '(2 3) '(() (1 2 3 4) (2 3) (2)) :test #'equal) ((2 3) (2)) ; 見つけた要素から後ろの部分のリストが返る equalは比較関数だが.異なるリスト同士の比較でも値が同じなら真を返す.,...

Read more

haskellの中置記法について

疑問 Haskellのコードを見ていて,このように書いてあるものを見つけたのだが,これがなぜ上手く動作するのかがわからなかった. > (`elem` [1,2,3]) 3 True 3 `elem` [1,2,3]やelem 3 [1,2,3]の形ならわかるし,(3 `elem`) [1,2,3]でも部分適応をしてるのはわかる.しかし,問題のコードがこれでいける理由が謎だった. 結果から見ると,どうも(`elem` [1,2,3])は(\ x -> x `elem` [1,2,3])と等価なようだが...? 答え Stackoverflowに同じような疑問を聞いてる人がいて,その回答を見てわかった. リンク: functional programming -...

Read more

Macのファイル検索CUIのmdfindについて

ファイル検索をするとき,findを使うのは一般的だと思うが,locateの方がデータベースを先に構築してそこにクエリをかけるから速い,と聞いてからはそちらを使うようにしていた. しかしlocateコマンドを使っていると,なぜかDropbox上のディレクトリが検索できなくて困っていた.これの原因を調べて見ると,以下の質問に答えが書いてあった. Locate command can’t find anything inside Documents folder on mac It’s because your Documents-folder isn’t world readable, which is a good thing, specially on shared syste...

Read more

Macのghci上でCtrl+yを入力するとsuspendされる

MacのアプリケーションではCtrl-Yはヤンクに割り当てられていることが多いが,Haskellの対話環境であるghciを使っているときに,Ctrl-Yがおかしな動作をすることに気づいた. $ ghci Configuring GHCi with the following packages: GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /private/var/folders/5q/q2ghsy6s29z88zqbtthn1x5w0000gn/T/ghci57891/ghci-script Prelude> -- ここでCtrl-Yを押...

Read more

vim-surroundで文字列を括弧で囲むときに空白をつけない方法

普段vim-surroundを使っているが,括弧をつけるときに選択した文字列の間にスペースが入ってしまうのを解決する方法があったのでメモする. 先に結論 vim-surroundをインストールした環境では,選択モードに入ってSを押した後, bで( Bで{ rで[ aで< をスペースなしで選択部分を囲むことができる. 他にも, tで任意のタグ (<でもOK) sでスペース (スペースでもOK) pで空行 lでLatexのEnvironments (\begin{foo} ~ \end{foo}のやつ) で囲むことができる. 括弧を削除するときは,対応する括弧の中に入って ds( (括弧の種類は消したいものに対応) と打てばよ...

Read more