Git status recurse

git status を再帰的に全Gitディレクトリで実行して、変更のあるリポジトリを簡単に見つけたい。

と思ったので作りました。

yukimemi/gsr

go get でインストールできます。

(バイナリファイルもそのうち用意する)

Read more  ↩︎

Use highlight.js with CDN

highlight.js を、 CDN で使用する方法。

このブログを書くのに今までは google/code-prettify を使っていたんだけど、うまく hightlight されないのがあったりしたので、 highlight.js に乗り換えてみた。

使い方は非常に簡単。

ヘッダーに以下3行を追加するだけ。(スタイルは onedark を使用)

Read more  ↩︎

dein and vim singleton

vim-singleton という便利な vim plugin がある。

vim の clientserver 機能を使って、ファイルをすでに起動している vim で開くことができる。

これを dein.vim と一緒に使用する時の方法がわからなかったので、 twitter でつぶやいてみた。

そしたらなんとあの Shougo さんからお返事が!!

親切に教えてもらえました!

そこで教えてもらった通り、 hook_add から hook_source に変更。

Read more  ↩︎

Use fish instead of zsh

ちまたで(?)話題の fish を使ってみた。

長年使ってきた zsh のかわりにはならないだろうなーと思いながら・・・。


・・・が、いざ使ってみると非常に使いやすい!

Read more  ↩︎

js beautify with vim

vimでjavascriptを書くときの設定。

  • dein.toml
# ==================== Filetype (javascript) ===== {{{1
[[plugins]]
repo = 'pangloss/vim-javascript'
on_ft = ['javascript', 'javascript.jsx']

[[plugins]]
repo = 'maxmellon/vim-jsx-pretty'
on_ft = ['javascript', 'javascript.jsx']

[[plugins]]
repo = 'othree/javascript-libraries-syntax.vim'
on_ft = ['javascript', 'javascript.jsx']

[[plugins]]
repo = 'othree/es.next.syntax.vim'
on_ft = ['javascript', 'javascript.jsx']

# ==================== Utility =================== {{{1
[[plugins]]
repo = 'Chiel92/vim-autoformat'
hook_add = '''
  let g:autoformat_autoindent = 0
  let g:autoformat_retab = 0
  let g:autoformat_remove_trailing_spaces = 0
  au MyAutoCmd BufWrite *.js,*.jsx :Autoformat
  nnoremap [Space]f :<C-u>Autoformat<CR>
'''
Read more  ↩︎

Zsh autosuggestions

zsh-autosuggestions という便利な zsh のプラギンを見つけた。

zplug を使って簡単にインストール可能。

zplug "zsh-users/zsh-autosuggestions"
Read more  ↩︎

Use solarized colorscheme in true color

前回の記事(True color in iTerm2 Tmux Neovim | YUKIMEMI)で、 itermneovim でtrue colorを使う方法はわかったんだけど、なぜか、 solarizedcolorscheme が有効にならなかった。

通常の solarized ではダメなようで、true color対応したやつを使えばいいみたい。

[[plugins]]
repo = 'lifepillar/vim-solarized8'
Read more  ↩︎

True color in iTerm2 Tmux Neovim

今時 macbook のキレイな画面で256色なんて・・・

っということで、 True color が使えるそうなので設定してみた。

まず、 iTerm2 の設定。

は特になく、 homebrew cask でインストールすればそのまま true color が使えるらしい。

Read more  ↩︎

flowtype in vim

最近 flowtype という Altjs があるのを知った。

facebookが作っているらしく、 typescript と違って、既存のjavascriptをそのまま使うことも出来、型エラーがあってもコンパイル、実行が出来る。

導入は npm で簡単にインストール出来る。

$ npm i -g flow-bin
Read more  ↩︎

Type sound with Tickeys

最近、 Emacsで効果音(SE)を付けて作業効率を3倍にする方法 という記事を見つけた。

やっぱ音があった方がやる気が出るし、コードもすらすら書けるのではないか? 僕は形から入るタイプなのである・・・。

そこで、Emacsと限らず他のものでもすべて音が出るようなソフトはないかと探してみた。

yingDev/Tickeys

Rust で書かれてるらしい。

Read more  ↩︎

Mapping with <nowait> option in vim

vim でマッピングをする時に、便利なオプションがあることを最近知った。

それが <nowait> オプション。

例えば、よくやるキーマップの例としてこんなのがある。

nnoremap <silent> <ESC><ESC> :<C-u>nohlsearch<CR>

エスケープ2回でハイライト消すっていうマッピング。

だけど、これを設定した状態で、コマンドウィンドウを <ESC> で閉じたい場合、<ESC> を押下しても、次のマッピングを待っている状態になってしまって、すぐに閉じることができない。

こんなマッピングをした場合。

Read more  ↩︎

JScript by ES2015 with webpack x gulp x babel

JScriptをES2015で書こう!!

・・・今更なJScriptだけれども、まだまだWindowsでは使えるはず。 いや、仕方なく仕事では使わなきゃいけない場面が多々ある。

最近はpowershellをよく使っていたけれども、書いてて楽しいのはやっぱりjavascriptの方が上。 でもどうせ書くなら、ES2015で書きたい!!

そこで、babelやらwebpackやらgulpやらを駆使してやってみた。

ディレクトリ構成はこんなの。

$ tree -I node_modules
.
├── src
   ├── foo.js
   └── bar.js
├── dst
   ├── foo.cmd
   └── bar.cmd
├── .babelrc
├── package.json
├── gulpfile.babel.js
└── webpack.config.babel.js
Read more  ↩︎

Super saiya Vim !

Vimでも超サイヤ人になりたい!

ってなわけでやってみた。

経緯としては、Windows環境でvimの起動がかなり遅かったため。

vimに導入したプラグイン数が多くなりすぎていたため、起動に時間がかかっていた。 そこで、起動時には基本的なプラグインのみ読み込み、後から必要に応じてpluginを追加で読み込むようにしてみた。

Read more  ↩︎

Set up Macbook in Ansible

せっかくMacbookを新調したので、セットアップを今までのオレオレスクリプトから、ansibleに移行した。

先人の参考になりまくる記事がいっぱいあるので、けっこう簡単に出来た。

yukimemi/ansible-playbook

Read more  ↩︎

New MacBook 12

NewMacBook12

ついに・・・ついに買ってしまった。New MacBook 12インチ。

今まで使ってたMacbook Air Late 2010のキーボードが急に反応しなくなってしまったため、 急遽New Macbook 12インチを新調した。

Read more  ↩︎

PalmDetect in Ubuntu

MacBook AirにUbuntu 15.04をインストールした。 だいたい使いやすくはなっているのだけど、たまにキーボード入力をしている時にタッチパッドが誤反応してしまう時があった。

そこで、手のひら検出?とかいうのを入れてみることにした。

以下のファイルを作成する。

$ vim ~/.config/autostart/synclient.desktop
Read more  ↩︎

Use gomi instead of rm

rmを安全に行うツールとして、Macでは「rmtrash」、Linuxでは「trash-cli」を使ってきたけど、最近Golangで「gomi」というツールが作成されたとのことなので使用してみた。 とても便利。

インストールはgo get。

$ go get -u github.com/b4b4r07/gomi
Read more  ↩︎

Mayu for IME off in vim

vimを使っていて困るのがIMEの制御。特に、ノーマルモードに戻った時に自動でIMEがOFFになってくれないと、画面に「jっっっx」とかがあふれる。 Macでは、「karabiner」というソフトを使って、「Escape」もしくは、「Ctrl + [」を押下した時に自動でIMEをOFFにすることが出来ていた。

Linuxでも同じことが出来ないかといろいろググってはみたものの、意外とこれ!ってのが見つからない。 そんな中、一応要望を満たせるのが、「Mayu」というソフトだった。

Windowsで「窓使いの憂鬱」と呼ばれてたソフトで、Linuxにも対応してるっぽい。

設定自体は単純なんだけど、キーボードのキーコードを全部定義しなきゃいけないみたいで、それがめんどくさそうだった。 幸いにも、全部をスキャンしたファイルをアップしてくれている人がいたので、使用させてもらった。 一部、MacBookAirのキーコードに対応していなかったものがあったため、少し改変している。

Mayuのインストール

Read more  ↩︎

Guake terminal in ubuntu

macでiTerm2を使っていたので、同じように使えるterminalがないか探していたところ、あんまこれ!ってのが見つからなかったので、昔使ってたguakeを入れた。けっこう普通につかえて便利。

$ sudo apt-get install guake
Read more  ↩︎

Install Ubuntu 15.04 to MacBook Air (11-inch, Late 2010)

使ってるMacBook Airが最近遅くて耐えられなくなってきたので、Ubuntuに乗り換えてみた。

nvidiaのドライバ関係でいろいろ大変だったのでメモ。

Install Usbメモリの作成

$ sudo dd if=./ubuntu-15.04-desktop-amd64.iso of=/dev/sdb bs=4M
Read more  ↩︎

vimperator colorscheme

vimperatorでcolorschemeを使う方法。

自分で作ってもいいけど、大変なので・・・

リポジトリクローン

ghq については、この記事で。

$ ghq get https://github.com/vimpr/vimperator-colors.git
Read more  ↩︎

hello hugo

これまでいろいろ静的サイトジェネレーターを試してきた。

Tinkerer
roots

そして今回はgolang製の hugo

hugo

流行りに乗ってみたいってのもあるけど、なによりサイト生成がはやい!!

これだけでも乗り換える価値があると思う。

参考

OctopressからHugoへ移行した

WordPress から Hugo に乗り換えました

Set cursorline as needed

これまで、 'cursorline' を必要な時にだけ有効にする - 永遠に未完成 を参考に、cursorlineの設定をしていたけど、時々cursorlineがずっと表示されたままになる現象が発生していた。

よくよく調べてみると、一度 CursorHold イベントを発生させ(set cursorline)、その後に別Windowへ移動し、さらに <C-^> でもとのバッファに戻ったときに、 s:cursorline_lock 変数が「0」のままとなり、その後 CursorMoved イベントが発生してもずっと set nocursorline されなくなるようだった。

そこで、 Lingr のvim部屋で初めて質問してみた。

Read more  ↩︎

Add --runcmd option to coffee-script-on-jscript

先日の 記事 のthincaさんフォーク版、僕々仕様のWindows上でのCoffeeScriptコンパイラに --runcmd オプションを加えた。

yukimemi/coffee-script-on-jscript

> coffee
Usage: coffee [options] path/to/script.coffee

  -b, --bare         compile without the top-level function wrapper
  -c, --compile      compile to JavaScript and save as .js files
      --encoding     character encoding used by source files
  -e, --eval         compile a string from the command line
  -h, --help         display this help message
  -j, --join         concatenate the scripts before compiling
  -n, --nodes        print out the parse tree that the parser produces
  -o, --output       set the directory for compiled JavaScript
  -p, --print        print the compiled JavaScript to stdout
  -s, --stdio        listen for and compile scripts over stdio
  -t, --tokens       print the tokens that the lexer produces
  -v, --version      display CoffeeScript version
  -w, --watch        watch scripts for changes, and recompile
  -r, --runcmd       run the compiled scripts as JScript
Read more  ↩︎

CoffeeScript on Windows as wsh

長い間、Windowsでcoffeescriptをwshとして記述する方法を模索していたけど、ようやく解が見つかった!!

thinca/coffee-script-on-jscript

thincaさん作成のcoffeescriptコンパイラ。Windowsで動く。nodejsもいらず、バッチファイル1つ coffee.bat と、公式の coffee-script.js だけで動く。

使用方法

> ghq get https://github.com/thinca/coffee-script-on-jscript.git

or

> git clone https://github.com/thinca/coffee-script-on-jscript.git
Read more  ↩︎

roots simple pagination

rootsは非常にシンプルで良いのだが、シンプルが故に通常のブログだと当たり前な部分を自分で実装しなければいけないところがある。

その一つが、ページネーション。

rootsでブログテンプレートを作成した場合、トップページはページネーションされず、書いていったブログ記事が全部リストで並ぶことになる。

まぁそんなたいした量を書いてないんで問題ないのだけれども、一応ブログとしてページネーションくらいはあったほうがいいと思い、実装方法を探してみた。

rootsは静的サイトジェネレーターなので、通常だとjadeの記法などでコンパイル時に出来るんだろうけど、今回はjqueryで簡単に出来る simplePagination.js というものが見つかったので、それを追加してみた。

インストール

まず、追加するのにはbowerを使った。 ちなみにローカルにインストールしたbowerを使う方法は、前の記事 を参照。

$ npm install bower --save-dev
Read more  ↩︎

mosh error No such file or directory

mosh というmobile-shelllを導入してみたところ、「No such file or directory」という エラーが発生して使えなかった・・・。

原因は結局よくわからなかったんだけど、とりあえず使えるようになったので、一応メモとして残しとこ。

mosh install

環境は Mac OSX Mavericks。Homebrewで簡単にインストール出来た。

$ brew install mosh
Read more  ↩︎

direnv for npm local commands

通常、 npm で実行コマンドをインストールするときは、以下のようにグローバルオプションを つけてインストールすることが多いと思う。

$ npm install -g gulp

だけど、これではプロジェクトごとに違うバージョンを使いたい!などの場合にこまる。 そこで direnv

これを使うとあるディレクトリでは、「〜〜する」というのが簡単に出来る。

導入方法

まず、 direnv はgoを使うので、goをインストールしておく。

Read more  ↩︎

Git directory deploy !

roots のデプロイ手順。

僕の環境では、まず drafts ブランチで書いて、 master ブランチでpushして githubへ更新という流れ。 その際、 roots では、ビルド結果を public というディレクトリに出力するので そのディレクトリだけをpushしたい。 gitで管理している中の、ある一部のディレクトリのみをpushしたい場合は、 git subtree push という のが使えるらしいんだけど、参考にしたサイトでは違うアプローチをとっているみたい。

X1011/git-directory-deploy

rootsに限らず、静的サイトジェネレーターを使う場合はけっこう使えると思う。

これ をダウンロード

$ wget https://github.com/X1011/git-directory-deploy/raw/master/deploy.sh && chmod +x deploy.sh
Read more  ↩︎

All You Need Is Peco

最近 peco がかなり流行りっぽい。 そこで導入してみた。思ったより使い心地よくて、 zaw から乗り換えた。

+++

導入手順

homebrewでgoをインストール。

$ brew install go --cross-compile-common
Read more  ↩︎