Skip to content

Instantly share code, notes, and snippets.

View chemzqm's full-sized avatar
🇨🇳
Focusing

Qiming zhao chemzqm

🇨🇳
Focusing
View GitHub Profile
" toggle unite, quickfix list and location list
if exists("g:loaded_toggle_list")
finish
endif
let g:loaded_toggle_list = 1
function! s:GetBufferList()
redir =>buflist
silent! ls
@chemzqm
chemzqm / comment.vim
Created December 16, 2015 10:25
A perfect comment vim plugin
" ============================================================================
" Description: An easy comment plugin
" Author: Qiming Zhao <chemzqm@gmail.com>
" Licence: Vim licence
" Version: 0.1
" ============================================================================
"let g:comment_debug = 1
if exists("g:comment_loaded") && !exists("g:comment_debug")
finish
endif
@chemzqm
chemzqm / dependencies
Last active December 11, 2015 06:58
配置 unite-js-func 这些配置实现了通过 :F(a/t/r/e/m) name 快速查找函数的功能
#!/usr/bin/env node
var fs = require('fs')
var path = require('path')
var moduleName = process.argv[2]
var dir = process.cwd()
function exit(msg, code) {
console.error(msg)
process.exit(1)
@chemzqm
chemzqm / .vimrc
Last active December 11, 2015 04:01
function! PreviewModule(name, ...)
if empty(a:name) | echo "need module name" | return | endif
if empty(a:000)
let res = system("findmodule ".a:name)
let file = res
else
let type = a:000[0]
let res = system("moduledir ".a:name)
if type ==? 'doc'
let file = res . "/readme.md"
@chemzqm
chemzqm / _doc.fish
Last active December 7, 2015 06:33
快速编辑 npm 模块, 支持 browser 属性
function doc
set folder (moduledir $argv[1])
if test $status != 0
return $status
end
if test -f $folder/Readme.md
open $folder/Readme.md
else if test -f $folder/readme.md
open $folder/readme.md
else if test -f $folder/README.md
@chemzqm
chemzqm / defineProperty.js
Created November 3, 2015 08:37
Object.defineProperty
// ES 15.2.3.6 Object.defineProperty ( O, P, Attributes )
// Partial support for most common case - getters, setters, and values
!(function() {
if (!Object.defineProperty ||
!(function () { try { Object.defineProperty({}, 'x', {}); return true; } catch (e) { return false; } } ())) {
var orig = Object.defineProperty;
Object.defineProperty = function (o, prop, desc) {
// In IE8 try built-in implementation for defining properties on DOM prototypes.
if (orig) { try { return orig(o, prop, desc); } catch (e) {} }
@chemzqm
chemzqm / webpack.js
Last active January 2, 2018 12:05
webpack plugin for tern
// drop this into <tern folder>/plugin
// run `npm i enhanced-resolve` in you tern folder
// add config "plugins": { "webpack": {}} to your .tern_project
// done
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
return mod(require("../lib/infer"), require("../lib/tern"), require("./commonjs"), require)
if (typeof define == "function" && define.amd) // AMD
return define(["../lib/infer", "../lib/tern", "./commonjs"], mod)
mod(tern, tern)
@chemzqm
chemzqm / redirect.js
Last active August 29, 2015 14:01
redirect
#! /usr/bin/env node
// 使用方式: redirect [url]
// 手机上每次都访问 http://[你机器的ip]:3000就成了
var http = require('http');
var url = process.argv[2];
http.createServer(function (req, res) {
res.setHeader('Location', url);
@chemzqm
chemzqm / redis.js
Created April 20, 2014 19:46
redis
var co = require('co');
var assert = require('assert')
var redisClient = require('redis').createClient();
var wrapper = require('co-redis');
var rc = wrapper(redisClient);
co(function* () {
yield rc.set('test', 33);
var test = yield rc.get('test'); // logs 33
assert(test === '33');
var co = require('co');
var r = require('co-rethinkdb');
var conn;
r.getConnection = function* () {
return conn || (conn = yield r.connect({
host: 'chemzqm.me',
port: 28015,
db: 'blog',