注意:本文内容适用于 Tmux 2.3 及以上的版本,但是绝大部分的特性低版本也都适用,鼠标支持、VI 模式、插件管理在低版本可能会与本文不兼容。
启动新会话:
tmux [new -s 会话名 -n 窗口名]
恢复会话:
registry=https://registry.npm.taobao.org/ | |
disturl=https://npm.taobao.org/dist | |
chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver | |
operadriver_cdnurl=http://cdn.npm.taobao.org/dist/operadriver | |
phantomjs_cdnurl=http://cdn.npm.taobao.org/dist/phantomjs | |
sass_binary_site=http://cdn.npm.taobao.org/dist/node-sass | |
electron_mirror=http://cdn.npm.taobao.org/dist/electron/ | |
selenium_cdnurl=http://npm.taobao.org/mirrors/selenium | |
node_inspector_cdnurl=https://npm.taobao.org/mirrors/node-inspector |
" ------------------------------ | |
" Name: vimrc for windows | |
" Author: keelii | |
" Email: [email protected] | |
" ------------------------------ | |
" Startup {{{ | |
filetype indent plugin on | |
augroup vimrcEx |
--- Actions --- | |
$Copy <M-C> | |
$Cut <M-X> <S-Del> | |
$Delete <Del> <BS> <M-BS> | |
$LRU | |
$Paste <M-V> | |
$Redo <M-S-Z> <A-S-BS> | |
$SearchWeb <A-S-G> | |
$SelectAll <M-A> | |
$Undo <M-Z> |
最近在看《Programming in Go》, 其中关于并发编程写得很不错, 受益非浅, 其中有一些例子是需要多思考才能想明白的, 所以我打算记录下来, 强化一下思路
《Programming in Go》在 Chapter 7. Concurrent Programming
里面一共用3个例子来讲述并发编程的3个模式, 第一个是 filter
, 筛选出后缀名和文件大小文件列表, 还算简单就不说, 然后第二个是升级版, 正则版 filter
, 不同的是他是根据正则搜索出文件的文本并且列出来. 这个例子我起初看是有点蒙的, 这样写是没错, 但是为什么要这样写, 他的设计思路是什么, 和其他方法相比他有什么优势, 这些都不清楚, 于是决定好好分析一下. 实际上这个例子实现的功能并不复杂, 所以我的文章实际上是在讨论怎么产生出和作者相似的思路.
如果不考虑用 goroutine 的话, 思路其实很简单:
1. 列出文件列表, 编译正则.
2. 遍历文件, 打开并遍历每行, 如果正则能匹配, 记录下来.
3. 列出来.
<?xml version="1.0"?> | |
<root> | |
<appdef> | |
<appname>Terminal</appname> | |
<equal>com.apple.Terminal</equal> | |
</appdef> | |
<item> | |
<name>TMUX Key Remappings</name> | |
<item> | |
<name>TMUX: Right Control to Ctrl+B</name> |