2017/01/30

Vim Git trick

http://felixge.de/2013/08/08/vim-trick-open-current-line-on-github.html

~/.gitconfig:
[alias]
    url =! bash -c 'git config --get remote.origin.url | sed -E "s/.+:\\(.+\\)\\.git$/https:\\\\/\\\\/github\\\\.com\\\\/\\\\1/g"'

~/.vimrc:
nnoremap <leader>o :!echo `git url`/blob/`git rev-parse --abbrev-ref HEAD`/%\#L<C-R>=line('.')<CR> \| xargs open<CR><CR>

--

nnoremap <leader>o :!echo `sed -e 's,:,/,;s,git@,https://,;s,.git$,,' <(git ls-remote --get-url)`/blob/`cat .git/ORIG_HEAD`/%\#L<C-R>=line('.')<CR> \| xargs open<CR><CR>

2016/12/22

Perl hash slices

# filling
%{ $hash } = map { $_ => 1 } @{$array};

# squashing
@{ $hash }{ @{$array} } = (1) x @{$array};
@{ $hash }{ @{$array} } = ();

2016/12/19

Quotes

codes:  friendly  numerical  hex
    "   &quot;    &#34;      &#x22;
    '             &#39;      &#x27;

2016/12/05

I love bash

Я люблю баш:
получить имена отсортированных по размеру файлов с определённым расширением и именами, начинающимися с определённых буков, находящихся в определённой папке:

ls -S1 path/to/files*.ext