Skip to content

Instantly share code, notes, and snippets.

View todashuta's full-sized avatar
👋
(  ̄ ♢  ̄ )

todashuta todashuta

👋
(  ̄ ♢  ̄ )
View GitHub Profile
@todashuta
todashuta / factorial.vim
Created August 11, 2014 14:33
オブジェクト指向のメソッドっぽく呼び出す階乗
" オブジェクト指向風 Vim script で再帰してみる
function! s:factorial() dict
return self.value == 0 ?
\ 1 : self.value * s:Int.new(self.value - 1).factorial()
endfunction
function! s:new(n) dict
let _ = deepcopy(s:Int)
@todashuta
todashuta / silent_matchparen.vim
Last active August 29, 2015 14:05
Silent matchparen
" matchparen の対応括弧強調のハイライトを下線だけにしておとなしくする
" GVim では問題ないが端末では対応していない場合があるかも
augroup silent-matchparen
autocmd!
autocmd VimEnter,WinEnter,ColorScheme *
\ highlight MatchParen
\ guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE
\ term=underline cterm=underline gui=underline
augroup END
@todashuta
todashuta / faster_vimgrep.vim
Last active August 29, 2015 14:05
Faster vimgrep
" BufRead イベントを一時的に無効にして vimgrep の所要時間を通常の約三分の一にする
" 注意: 圧縮されたファイルを読むようなプラグインが動作しなくなるという副作用がある
augroup faster-vimgrep
autocmd!
autocmd QuickFixCmdPre *vimgrep*
\ let s:save_eventignore = &eventignore
\ | set eventignore=BufRead
autocmd QuickFixCmdPost *vimgrep*
\ let &eventignore = s:save_eventignore
@todashuta
todashuta / ObserverPattern.vim
Last active August 29, 2015 14:06
Vim script で Observer pattern を書いてみた
" Vim script で Observer pattern を書いてみた
" 参考URL: http://ja.wikipedia.org/wiki/Observer_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
function! s:listenerNew(name, subject) dict
let this = deepcopy(self)
let this.name = a:name
call a:subject.register(this)
return this
endfunction
;(function() {
var collatz = function(i) {
var list = [i];
while (list.slice(-1) > 1) {
var n = list.slice(-1);
if (n % 2 === 0) {
n = n / 2;
} else {
n = 3 * n + 1;
}
@todashuta
todashuta / yaml-pp.rb
Last active August 29, 2015 14:07
~/bin/yaml-pp
#!/usr/bin/env ruby
require 'yaml'
require 'awesome_print'
if ARGV.empty? || ARGV.first == '-h' || ARGV.first == '--help'
puts "Usage: #{File.basename($0)} [yaml file]"
exit
end
@todashuta
todashuta / find-mac-icon-file.vim
Created October 17, 2014 07:12
find Mac OS's `Icon$'\r'` file written in vim script
call feedkeys("\<Esc>:echo system(\"find ~ -name 'Icon\<C-v>\<C-m>'\")\<CR>", 'n')
@todashuta
todashuta / num_sundays.rb
Last active August 29, 2015 14:15
ある期間中の日曜日の数を数える written in Ruby
# See: https://plus.google.com/103883213408660487064/posts/EmxndYMnSxm
require 'date'
puts (Date.new(1990,1,1)..Date.new(2015,2,11)).count(&:sunday?)
@todashuta
todashuta / oneliner.sh
Last active August 29, 2015 14:16
コマンド名に'_'か'-'が含まれるコマンドを列挙するワンライナー
$ ruby -e 'ENV["PATH"].split(":").map{|path| Dir["#{path}/*"]}.flatten.map{|path| File.basename(path)}.select{|str| str.include?("-") || str.include?("_")}.sort.each{|it| puts it}'
@todashuta
todashuta / ql.sh
Last active August 29, 2015 14:18
ql (quicklook wrapper script)
#!/bin/sh
# quicklook wrapper script
if [ "$1" = '-v' ]
then
shift
qlmanage -p -d 4 "$@"
else
qlmanage -p "$@" >/dev/null 2>&1
fi