Skip to content

Instantly share code, notes, and snippets.

View ngn999's full-sized avatar
💭
I may be slow to respond.

ngn999 ngn999

💭
I may be slow to respond.
View GitHub Profile
@ngn999
ngn999 / gist:3791870
Created September 27, 2012 02:38
Regexp::Common

Regexp::Common

这个碉堡了!

use Regexp::Common;

if (/$RE{net}{IPv4}/){
  ...;
}
@ngn999
ngn999 / gist:3789504
Created September 26, 2012 17:54
如何写一个gitlab的web hook

工具

原理

hook原理

OAuth认证

@ngn999
ngn999 / gist:3787447
Created September 26, 2012 11:24
在emacs里用find, grep

M-x find-grep

这是Emacs里的grep

M-x find-dired

这是Emacs里的find, 结果会用Dired Mode展示.

如果有启用ido-mode, 在指定目录时, 请先C-f取消ido的补全.

@ngn999
ngn999 / gist:3783167
Created September 25, 2012 17:03
emacs怎么全文高亮指定的字符串?

emacs自带的:
高亮匹配的字符串:M-s h p
高亮匹配字符串所在的行:M-s h l
取消高亮: M-s h u

也可以用highlight-symbol.el这个扩展。

--
smth emacs版

@ngn999
ngn999 / gist:3781227
Created September 25, 2012 11:27
scanf,printf的那些变态用法
ret = sscanf(p,"%*s %1024s",request);
if(ret!=1){
    ...
}

p是"GET /index.html", 这行代码的意思是说直接取"/index.html", 跳过前面的"GET ".
这种用法, 避免定义一个哑变量.

@ngn999
ngn999 / gist:3761037
Created September 21, 2012 11:47
Emacs Abbrev

Abbrev是神马

Abbrev就是缩写的意思, 在Emacs里Abbrev能方便的输入这种缩写. 比如, 定义好, mgmtmanagement的缩写,
那以后你输入mgmt, 加一非字母数字符号, 就自动扩展成management. 很好用.

如何使用

定义:

@ngn999
ngn999 / gist:3213312
Created July 31, 2012 03:40
test gfm
my @abc = split;
foreach (@abc) {
    print;
}
@ngn999
ngn999 / gist:3196518
Created July 29, 2012 07:31
用惰性求值来计算平方根
(defn average
  "返回平均值"
  [x y]
  (/ (+ x y ) 2))

(defn improve-sqrt
  "产生一个更好的猜测"
  [x guess]
 (average guess (/ x guess)))

Magit Manual

Magit Manual

启动

M-x magit-status RET

查看log

  1. . mark一个基准的commit,
  2. diff之, =
  3. RET, 查看一个item, 在一个commit上按RET, 可以看到diff.
@ngn999
ngn999 / gist:3168642
Last active April 27, 2017 08:23
Emacs 常用Mode

学会基本操作后,值得细究的Mode:

  • CC Mode, 写C/C++代码, 管理缩进,高亮
  • Cperl Mode, 写Perl代码, 比Perl Mode更强.
  • Python Mode
  • eshell, M-x shell RET
  • Diff Mode / Ediff Mode, 看diff, 做merge操作.
  • VC, 与版本管理系统相接合,支持CVS, SVN, Git etc.
  • Hippie Expand, M-/
  • Dired Mode, 文件, 目录管理. copy, mv, rename. create