用 zmv
把 /path/to/directory
目录(递归地)下的 *.md
文件重名为 *.backup
:
zmv '(**)/(*).md' '$1$2.backup'
dry-run 方式:
zmv -n '(**)/(*).md' '$1$2.backup'
复制而不是重命名:
zmv -p cp '(**)/(*).md' '$1$2.backup'
这个用法是不是参考的 Perl
❯ echo $'ruby\npython\njava\nrust\nkotlin' | perl -ne 'print if /python/../rust/'
输出:
python
java
rust
❯ echo $'ruby\npython\njava\nrust\nkotlin' | ruby -ne 'print if /python/../rust/'
输出:
python
java
rust
批量重命名可以用 zsh 的 zmv 函数,这个是目前用到过的最顺手的;半批量的重命名,Emacs 的 wdired.el 是最棒的
真正用过才知道有没有意思啊,Emacs 上 robe + lsp + vterm 秒 RubyMine 是没问题的
👍 管道模式很实用,要是能支持读取 SSLKEYLOGFILE 解析 https 流量那就更赞了
👍
解决重名问题难道不是应该引入 namespace 吗
如果 a 是存储在一个 Hash 对象里,可以: h = Hash.new(0); h[:key] += 1;
“申請”这两个字的 Shift JIS 编码中的第 2 个字节是 0x5C,对应到 ASCII/UTF-8 是反斜杠,而不是斜杠,我猜测这个 rubyzip 库可能是把这个反斜杠也当成了文件路径分隔符了吧。我在 Mac 上试了,没法创建出包含“申請”这个两个字的 SJIS 编码的文件名,所以也没法给你试一下。
你可以在你的解压代码前加上:
Zip.force_entry_names_encoding = 'SJIS'
试试行不行。(加上这句之后应该需要把之前加的 String#encode
调用去掉)
p entry.name.encode(Encoding.default_external, "SJIS")
params.values_at(:a, :b, :c).find(&:present?)
我在用 evil-mc, 基本满足我的需求,没用过 vim-multiple-cursors,不知道都有什么功能,其实 Spacemacs 的 iedit-mode 也不错,就是有 bug。。。
推荐 vim 用户可以试下 Spacemacs,集成 evil,最流行的那些 vim 插件 Emacs 也都有替代:
另外还有 org-mode, magit, inf-ruby, projectile-rails, robe, rspec-mode 等等让你爽得不要不要的,如果你受够了 vim script 糟心的语法,elisp 也是一个理由。
放个图
85 年以下是指出生年份晚于 85 年?这样的话算年龄歧视吧,你 JD 里不写清楚,就以这样的理由回绝别人,确实是你们做的不对吧,为什么还这么趾高气昂,一身正气的感觉?
不知道有没有什么好方法,我只知道 pack
/ unpack
[160].pack("C").unpack("c")
SBZF
vim surround 在 Visual Mode 下的快捷键是大写 S
如果要引起一个单词的话,可以不需要进入 Visual Mode, ysiw
ps aux | grep rails | ruby -ane 'puts $F[1]'
从 Header 中读取 authentication token,应该就不需要其他单独的 csrf token 了
可以看看这个 Gem:https://github.com/rubysolo/dentaku
Socket 对象的外部编码默认是 ASCII-8BIT,你可以查下 Redis 类有没有可以指定外部编码的选项
在 OS X 上没问题这点我也想不通了,难道你 OS X 上用的是 Ruby 1.9.x?
pry-byebug
pry-byebug
[15] pry(main)> $ 1.class
From: object.c (C Method):
Owner: Kernel
Visibility: public
Number of lines: 5
VALUE
rb_obj_class(VALUE obj)
{
return rb_class_real(CLASS_OF(obj));
}
VALUE
rb_class_real(VALUE cl)
{
while (cl &&
((RBASIC(cl)->flags & FL_SINGLETON) || BUILTIN_TYPE(cl) == T_ICLASS)) {
cl = RCLASS_SUPER(cl);
}
return cl;
}
Rails 5 的 API only 好像和 grape 没有多少重合吧
lz 你看过荒野大镖客吗
第一种可能会 stack level too deep 吧
要是出个能和 org-mode 同步的 GTD/Calendar app 就好
\xe3\x80\x80
是个空格符号(所谓的“全角”空格中得一个),其 code point 为 U+3000
,位于 BMP 中。所以我觉得多半是你的程序写得有问题,你可以把你涉及到此问题的代码精炼一下发上来。