git status
を再帰的に全Gitディレクトリで実行して、変更のあるリポジトリを簡単に見つけたい。
と思ったので作りました。
go get
でインストールできます。
(バイナリファイルもそのうち用意する)
git status
を再帰的に全Gitディレクトリで実行して、変更のあるリポジトリを簡単に見つけたい。
と思ったので作りました。
go get
でインストールできます。
(バイナリファイルもそのうち用意する)
highlight.js を、 CDN で使用する方法。
このブログを書くのに今までは google/code-prettify を使っていたんだけど、うまく hightlight されないのがあったりしたので、 highlight.js に乗り換えてみた。
使い方は非常に簡単。
ヘッダーに以下3行を追加するだけ。(スタイルは onedark
を使用)
vim-singleton という便利な vim plugin がある。
vim の clientserver 機能を使って、ファイルをすでに起動している vim で開くことができる。
これを dein.vim と一緒に使用する時の方法がわからなかったので、 twitter でつぶやいてみた。
@yukimemi hook_source を使ってください。hook_add はロード前に呼ばれるのでエラーとなります
— 暗黒美夢王(deoplete dev) (@ShougoMatsu) 2016年12月5日
そしたらなんとあの Shougo さんからお返事が!!
親切に教えてもらえました!
そこで教えてもらった通り、 hook_add
から hook_source
に変更。
ちまたで(?)話題の fish
を使ってみた。
長年使ってきた zsh
のかわりにはならないだろうなーと思いながら・・・。
・・・が、いざ使ってみると非常に使いやすい!
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> '''
zsh-autosuggestions
という便利な zsh のプラギンを見つけた。
zplug
を使って簡単にインストール可能。
zplug "zsh-users/zsh-autosuggestions"
前回の記事(True color in iTerm2 Tmux Neovim | YUKIMEMI)で、 iterm
と neovim
でtrue colorを使う方法はわかったんだけど、なぜか、 solarized
の colorscheme
が有効にならなかった。
通常の solarized
ではダメなようで、true color対応したやつを使えばいいみたい。
[[plugins]] repo = 'lifepillar/vim-solarized8'
今時 macbook
のキレイな画面で256色なんて・・・
っということで、 True color
が使えるそうなので設定してみた。
まず、 iTerm2
の設定。
は特になく、 homebrew cask
でインストールすればそのまま true color
が使えるらしい。
最近 flowtype
という Altjs
があるのを知った。
facebookが作っているらしく、 typescript
と違って、既存のjavascriptをそのまま使うことも出来、型エラーがあってもコンパイル、実行が出来る。
導入は npm
で簡単にインストール出来る。
$ npm i -g flow-bin
最近、 Emacsで効果音(SE)を付けて作業効率を3倍にする方法 という記事を見つけた。
やっぱ音があった方がやる気が出るし、コードもすらすら書けるのではないか? 僕は形から入るタイプなのである・・・。
そこで、Emacsと限らず他のものでもすべて音が出るようなソフトはないかと探してみた。
Rust
で書かれてるらしい。
vim
でマッピングをする時に、便利なオプションがあることを最近知った。
それが <nowait>
オプション。
例えば、よくやるキーマップの例としてこんなのがある。
nnoremap <silent> <ESC><ESC> :<C-u>nohlsearch<CR>
エスケープ2回でハイライト消すっていうマッピング。
だけど、これを設定した状態で、コマンドウィンドウを <ESC>
で閉じたい場合、<ESC>
を押下しても、次のマッピングを待っている状態になってしまって、すぐに閉じることができない。
こんなマッピングをした場合。
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
Vimでも超サイヤ人になりたい!
ってなわけでやってみた。
経緯としては、Windows環境でvimの起動がかなり遅かったため。
vimに導入したプラグイン数が多くなりすぎていたため、起動に時間がかかっていた。 そこで、起動時には基本的なプラグインのみ読み込み、後から必要に応じてpluginを追加で読み込むようにしてみた。
せっかくMacbookを新調したので、セットアップを今までのオレオレスクリプトから、ansibleに移行した。
先人の参考になりまくる記事がいっぱいあるので、けっこう簡単に出来た。
ついに・・・ついに買ってしまった。New MacBook 12インチ。
今まで使ってたMacbook Air Late 2010のキーボードが急に反応しなくなってしまったため、 急遽New Macbook 12インチを新調した。
MacBook AirにUbuntu 15.04をインストールした。 だいたい使いやすくはなっているのだけど、たまにキーボード入力をしている時にタッチパッドが誤反応してしまう時があった。
そこで、手のひら検出?とかいうのを入れてみることにした。
以下のファイルを作成する。
$ vim ~/.config/autostart/synclient.desktop
rmを安全に行うツールとして、Macでは「rmtrash」、Linuxでは「trash-cli」を使ってきたけど、最近Golangで「gomi」というツールが作成されたとのことなので使用してみた。 とても便利。
インストールはgo get。
$ go get -u github.com/b4b4r07/gomi
vimを使っていて困るのがIMEの制御。特に、ノーマルモードに戻った時に自動でIMEがOFFになってくれないと、画面に「jっっっx」とかがあふれる。 Macでは、「karabiner」というソフトを使って、「Escape」もしくは、「Ctrl + [」を押下した時に自動でIMEをOFFにすることが出来ていた。
Linuxでも同じことが出来ないかといろいろググってはみたものの、意外とこれ!ってのが見つからない。 そんな中、一応要望を満たせるのが、「Mayu」というソフトだった。
Windowsで「窓使いの憂鬱」と呼ばれてたソフトで、Linuxにも対応してるっぽい。
設定自体は単純なんだけど、キーボードのキーコードを全部定義しなきゃいけないみたいで、それがめんどくさそうだった。 幸いにも、全部をスキャンしたファイルをアップしてくれている人がいたので、使用させてもらった。 一部、MacBookAirのキーコードに対応していなかったものがあったため、少し改変している。
macでiTerm2を使っていたので、同じように使えるterminalがないか探していたところ、あんまこれ!ってのが見つからなかったので、昔使ってたguakeを入れた。けっこう普通につかえて便利。
$ sudo apt-get install guake
使ってるMacBook Airが最近遅くて耐えられなくなってきたので、Ubuntuに乗り換えてみた。
nvidiaのドライバ関係でいろいろ大変だったのでメモ。
$ sudo dd if=./ubuntu-15.04-desktop-amd64.iso of=/dev/sdb bs=4M
vimperatorでcolorschemeを使う方法。
自分で作ってもいいけど、大変なので・・・
ghq
については、この記事で。
$ ghq get https://github.com/vimpr/vimperator-colors.git
これまで、 'cursorline' を必要な時にだけ有効にする - 永遠に未完成 を参考に、cursorlineの設定をしていたけど、時々cursorlineがずっと表示されたままになる現象が発生していた。
よくよく調べてみると、一度 CursorHold イベントを発生させ(set cursorline)、その後に別Windowへ移動し、さらに <C-^>
でもとのバッファに戻ったときに、 s:cursorline_lock
変数が「0」のままとなり、その後 CursorMoved イベントが発生してもずっと set nocursorline
されなくなるようだった。
そこで、 Lingr のvim部屋で初めて質問してみた。
先日の 記事 の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
長い間、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
rootsは非常にシンプルで良いのだが、シンプルが故に通常のブログだと当たり前な部分を自分で実装しなければいけないところがある。
その一つが、ページネーション。
rootsでブログテンプレートを作成した場合、トップページはページネーションされず、書いていったブログ記事が全部リストで並ぶことになる。
まぁそんなたいした量を書いてないんで問題ないのだけれども、一応ブログとしてページネーションくらいはあったほうがいいと思い、実装方法を探してみた。
rootsは静的サイトジェネレーターなので、通常だとjadeの記法などでコンパイル時に出来るんだろうけど、今回はjqueryで簡単に出来る simplePagination.js というものが見つかったので、それを追加してみた。
まず、追加するのにはbowerを使った。 ちなみにローカルにインストールしたbowerを使う方法は、前の記事 を参照。
$ npm install bower --save-dev
mosh というmobile-shelllを導入してみたところ、「No such file or directory」という エラーが発生して使えなかった・・・。
原因は結局よくわからなかったんだけど、とりあえず使えるようになったので、一応メモとして残しとこ。
環境は Mac OSX Mavericks。Homebrewで簡単にインストール出来た。
$ brew install mosh
roots のデプロイ手順。
僕の環境では、まず drafts ブランチで書いて、 master ブランチでpushして
githubへ更新という流れ。
その際、 roots では、ビルド結果を public というディレクトリに出力するので
そのディレクトリだけをpushしたい。
gitで管理している中の、ある一部のディレクトリのみをpushしたい場合は、 git subtree push
という
のが使えるらしいんだけど、参考にしたサイトでは違うアプローチをとっているみたい。
rootsに限らず、静的サイトジェネレーターを使う場合はけっこう使えると思う。
$ wget https://github.com/X1011/git-directory-deploy/raw/master/deploy.sh && chmod +x deploy.sh