Reactivex Observable 操作符
1、多文件多tab
Navigation->Optional Navigation(或者Double Click Navigation)
COMMAND+T 打开新tab
2、line number
Xcode > Preferences > Text Editing
快捷键
shift + command + o 快速定位文件
shift + command + j 在项目导航中显示当前文件 (在大项目中尤其好用,推荐!)
option + click 项目导航中的文件 可以在辅助编辑器里打开该文件, 方便同时查看多个源文件 (默认的辅助编辑器功能很弱,这样基本能找回xcode3的 split screen功能了)
command + L 定为到文件的指定行
shift + command +L 跳到光标所在位置 (当然更多时候我比较喜欢点下箭头来定位)
control + i 对选中文字 重新格式化缩进
go back,回退。
control+command+ 左箭头
go forward 回到你前面打开的页面
control+command+ 右箭头
for charles 3.11.1, just download charlse and drag Charles to /Application. replace charles.jar
with:
curl -Lv "https://github.com/100apps/charles-hacking/blob/master/charles.jar?raw=true" -o /Applications/Charles.app/Contents/Java/charles.jar
for charles 3.10.1, please go to http://www.gfzj.us/tech/2015/06/24/charles-hacking.html
charles是一个非常好用的跨平台代理工具,比fiddler功能更多,支持socks代理。 方便购买的还是请自己购买,对于学生党和屌丝党,我们可以从官方下载试用版,然后用注册码激活。
charles 3.9.3 下载地址:
http://www.charlesproxy.com/latest-release/download.do
for mac:
http://www.charlesproxy.com/assets/release/3.9.3/charles-proxy-3.9.3-applejava.dmg
注册码:
Registered Name: http://ninjasaga.cheat.center
Licence Key: 18e69f6d5bc820d4d3
Versi: 3.9.3
1. 先退出欧路
2. 使用 Finder 中的前往功能, 前往 ~/library/preferences, 找到 com.eusoft.eudic.plist
3. 右击, 使用 xcode 打开, 打开后, 找到 MAIN_TLimeLeft 项目, 将右边的数字尽量改的大一点
find . -name pom.xml -execdir mvn clean \;
或者
find . -name pom.xml -exec mvn clean -f ‘{}’ \;
支持maven3
有些情况下我们的服务器为GBK编码,而我们终端为UTF8,这样就造成了ssh登陆服务器后就乱了,但是我们又不想改编本地终端的编码,我们可以使用下面这个方法。
打开 iTerm > Preference > Profiles ,添加一个新都Profile,命名为GBK,在右侧选项卡Terminal中更改编码格式:
#!/bin/bash
# 使用GBK Profile
echo -e "\033]50;SetProfile=GBK\a"
# 环境编码切换为GBK
export LANG=zh_CN.GBK
export LC_ALL=zh_CN.GBK
# 更改当前 iTerm2 tab title
echo -ne "\033]0;"$@"\007"
$@
echo -ne "\033]0;"${PWD/#$HOME/~}"\007"
# GBK任务完成后,自动切换回默认编码(UTF-8)
echo -e "\033]50;SetProfile=Default\a"
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
保存为不带格式文件gbkrun
终端执行获取系统可执行目录:
#echo $path
将gbkrun添加到可执行目录 /usr/bin:
#mv /Users/Desktop/gbkrun /usr/bin
在/usr/bin目录下设置gbkrun文件权限为可执行:
#sudo chmod +x gbkrun
#gbkrun ssh user@host
这时候iTerm会自动切换Profile到GBK编码格式,不需要再手动新开一个tab
iTerm 2 is a terminal emulator for Mac OS X that does amazing things.
iTerm2 是一个终端模拟器,官方网站:http://www.iterm2.com/
Solarized 的主页:http://ethanschoonover.com/solarized
直接去主页下载或者使用 Git
git clone git://github.com/altercation/solarized.git
然后打开 solarized/iterm2-colors-solarized/ 双击里面的文件
终端灰蒙蒙的,就像下面这样
下面我们来回到彩色世界:
依次打开 iTerm2 – Preferences – Profiles – Text – Text Rendering,将 Draw bold text in bright colors 前面的勾去掉
彩色的世界就回来了
⌘ + Click
:可以打开文件,文件夹和链接⌘ + n
:新建窗口⌘ + t
:新建标签页⌘ + w
:关闭当前页⌘ + 数字
& ⌘ + 方向键
:切换标签页⌥⌘ + 数字
:切换窗口⌘ + enter
:切换全屏⌘ + d
:左右分屏⇧⌘ + d
:上下分屏⌘ + ;
:自动补全历史记录⇧⌘ + h
:自动补全剪贴板历史⌥⌘ + e
:查找所有来定位某个标签页⌘ + r
& ⌃ + l
:清屏⌘ + /
:显示光标位置⌥⌘ + b
:历史回放⌘ + f
:查找,然后用 tab
和 ⇧ + tab
可以向右和向左补全,补全之后的内容会被自动复制, 还可以用 ⌥ + enter
将查找结果输入终端很多快捷键都是通用的,和 Emace 等都是一样的
⌃ + u
:清空当前行⌃ + a
:移动到行首⌃ + e
:移动到行尾⌃ + f
:向前移动⌃ + b
:向后移动⌃ + p
:上一条命令⌃ + n
:下一条命令⌃ + r
:搜索历史命令⌃ + y
:召回最近用命令删除的文字⌃ + h
:删除光标之前的字符⌃ + d
:删除光标所指的字符⌃ + w
:删除光标之前的单词⌃ + k
:删除从光标到行尾的内容⌃ + t
:交换光标和之前的字符还有鼠标和触摸板控制
Preferences – Pointer
Mac 系统自带了 Zsh, 一般不是最新版,如果需要最新版可通过 Homebrew 来安装
brew install zsh
可通过 zsh --version
命令查看 Zsh 的版本
使用 echo $ZSH_VERSION
命令查看当前使用的 Zsh 版本
修改默认 Shell
/usr/local/bin/zsh
chsh -s /usr/local/bin/zsh
Oh My Zsh 用来管理 Zsh 配置的,自带了好用的基本配置,基本都是 Zsh 的标配了,你不用再一步步重新配置 Zsh ,节约你的宝贵时间
项目主页:https://github.com/robbyrussell/oh-my-zsh
安装方法见主页,很简单就不说了,下面说说一些常用的好用的功能:
配置文件在 ~/.zshrc
⌃ + n/p/f/b
来选择alias -s md=mvim
, 表明在命令行中输入 md 后缀的文件名,会用 mvim 打开alias -s gz="tar -xzvf"
, 自动解压后缀为 gz 的压缩包alias -s tar="tar -xvf"
alias -s gz="tar -xzvf"
alias -s tgz="tar -xzvf"
alias -s bz2="tar -xjvf"
alias -s zip="unzip"
kill <tab>
会自动列出进程,或者 kill nginx
ls **/*
列出当前目录下所有文件及目录,并递归目录man
结果高亮显示,在配置文件中写入如下内容:
# man page highlight
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
export LESS_TERMCAP_so=$'\E[38;5;246m' # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline
Oh My Zsh 本身自带了很多插件,不过基本都没有启用,插件目录 ~/.oh-my-zsh/plugins
例如启用插件 git, autojumps osx, 需要在配置文件中加入如下内容
plugins=(git autojumps osx)
man-preview
通过 preview 程序查看一个命令的手册quick-look
快速预览文件pfd
返回当前 Finder 打开的文件夹的路径cdf
切换到当前 Finder 所在的目录需要先安装 autojump
brew install autojump
使用方法:
j 目录名或目录名的一部分
跳转到最多访问的目录
一个终端复用软件,可将终端方案化
安装
brew install tmux
配置
mvim ~/.tmux.conf
并不喜欢反人类的全键盘式操作,而且也没有特别吸引我的点,所以基本不使用
经常连接服务器的人用起来应该挺好用的
比如,在一个窗口中分隔成多个终端同时运行不同的命令
使用 SSH 的时候,在网络不稳定的情况下,可保存工作环境
在网络不好的环境下,可以尝试使用 Mosh 来代替 SSH
aria2c http://host/image.iso
说明:1.10.0以后的版本默认对每个 host 使用 1 个连接,你可以使用 –max-connection-per-server或者 -x 选项进行改变。
aria2c -x2 http://host/image.iso
说明:想要停止下载,可以按Ctrl-C。想要恢复下载,可以在同一个文件夹中执行相同的下载命令。只要URI指向同一个文件,URIs是可以被改变的。
aria2c -s2 http://host/image.iso http://mirror1/image.iso http://mirror2/image.iso
说明:你可以指定URIs的数量多余 -s 选项设定的数。在这个例子中,前两个URL会被用于下载,而第三个URL作为备用(如果前面两个有个挂了,第三个顶上)。
aria2c http://host1/file.zip ftp://host2/file.zip
aria2c -Z http://host/file1 file2.torrent file3.metalink
说明:如果你只是下载 torrent 和 metalink 的文件,那么选项 -Z 将不是必须的。所以你可以使用以下这个命令同时下载bt文件。
aria2c file1.torrent file2.torrent
aria2c -ifiles.txt -j5
说明:选项 -j 用于指定同时下载的文件的数量。你可以在文件中指定本地的 torrent 和 metalink 文件。
说明:你可以指定一些 选项 在下载文件(input list file)中。
aria2c -ifiles.txt --save-session=out.txt
当你按下Ctrl-C或者 aria2 退出时,所有的错误(error)/未完成(unfinished)下载将会保存到out.txt 文件中。注意通过 XML-RPC 方式(aria2.addTorrent and aria2.addMetalink)添加的下载不会被保存!你可以使用这个文件作为一个输入文件列表(input file list)来重新开始下载。
aria2c -iout.txt
aria2c http://site/file.torrent
aria2c --follow-torrent=mem http://site/file.torrent
aria2c -u40K /path/to/file.torrent
说明: -u, –max-upload-limit 指定最大的上传速度
说明:想要停止下载,可以按Ctrl-C。想要恢复下载,可以在同一个文件夹中执行相同的下载命令。只要URI指向同一个文件,URIs是可以被改变的。
你可以同时进行多个 bt 的下载:
aria2c /path/to/file1.torrent /path/to/file2.torrent
aria2c "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"
说明:在 bt magnet uri 包含”&”的时候记住要加单引号或者双引号。强烈推荐打开 DHT 选项。 –enable-dht
aria2c --bt-save-metadata "magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C&dn=aria2"
上面那个命令会保存元数据到一个名为”248d0a1cd08284299de78d5c1ed359bb46717d8c.torrent”的种子文件。
如果每个种子的下载速度都低于 200K 的话, aria2 会临时增加连接数来试着提高下载速度。
aria2c --bt-request-peer-speed-limit=200K file.torrent
说明:配置 –bt-request-peer-speed-limit 选项为合适的值可以在某些情况下提高你的下载速度。
aria2c --enable-dht http://site/file.torrent
说明:从 1.7.2 版本开始, DHT 默认是打开的。当通过 HTTP/FTP 下载的时候 DHT 不会启用。当首个种子下载开始, aria2 初始化 DHT 功能,之后, DHT 会一直运行知道 aria2 退出为止。
aria2c --enable-dht6 --dht-listen-port=6881 --dht-listen-addr6=YOUR_GLOBAL_UNICAST_IPV6_ADDR --enable-async-dns6
说明:如果 aria2c 编译的时候没有加入 c-ares , –enable-async-dns6 不是必须的。 aria2 会在IPv4 和 IPv6 之间对 DHT 共享一些端口。
接下来的例子指示 aria2 移除 file.torrent 文件中所有的 tracker announce URIs ,并用”http://tracker1/announce” 和 “http://tracker2/announce” 代替。
aria2c --bt-exclude-tracker="*" --bt-tracker="http://tracker1/announce,http://tracker2/announce" file.torrent
默认情况下, aria2 能够同时支持加密和非加密连接。它会先尝试使用加密连接,如果失败则尝试非加密连接。
强制只使用加密连接:
aria2c --bt-require-crypto=true http://site/file.torrent
一共有两种加密类型:只加密头或者全部加密。默认下,如果对方支持两种加密类型, aria2 会选择只加密头。如果想让 aria2 总是使用全加密连接:
aria2c --bt-min-crypto-level=arc4 http://site/file.torrent
aria2c -S file.torrent
aria2c --select-file=1-4,8 -Tfile.torrent
说明:序号(index)可以通过 -S 选项输出
aria2c --listen-port=6881-6883 file.torrent
说明:确认该 TCP 端口是可用的
aria2c --seed-time=120 --seed-ratio=1.0 file.torrent
说明:在上面的这个例子中, 当做种 120分钟 或者种子率大于1以后, aria2 会退出。
aria2c --max-upload-limit=100K file.torrent
你可以使用 -V 选项给已经下载好的文件做种。它会先校验文件的完整性。
aria2c -V -d/path/to/dir file.torrent
如果你肯定文件是正确的,你可以使用 –bt-seed-unverified 选项跳过做种前的文件校验。
aria2c --bt-seed-unverified -d/path/to/dir file.torrent
你可以给多个文件做种:
aria2c --bt-seed-unverified -d/path/to/dir file1.torrent file2.torrent
为 BitTorrent 下载下来的文件指定文件名,你首先需要通过 -S 选项知道该文件的序号。比如一个种子文件 -S 选项输出如下:
idx|path/length ===+====================== 1|dist/base-2.6.18.iso |99.9MiB ---+---------------------- 2|dist/driver-2.6.18.iso |169.0MiB ---+----------------------
把 dist/base-2.6.18.iso 保存为 tmp/mydir/base.iso , /dist/driver-2.6.18.iso 保存为 /tmp/dir/driver.iso ,可以使用一下的命令:
aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent
说明: –index-out 选项针对通过 HTTP 方式获取种子文件的方式无效。它只能针对本地种子文件的下载。 aria2 不会记住 –index-out 选项中指定的地址,你必须在每次开始该任务的时候重新指定 –index-out 的值。如果你忘了再次指定输出文件的地址, aria2 不会提醒你,所以你必须谨慎地使用这个选项。
优先下载每个文件开头的 1MiB 的内容。
aria2c --bt-prioritize-piece=head file.torrent
aria2c --all-proxy='http://proxy:8080' http://host/file
说明: –all-proxy 选项会被具体的代理选项重载: –http-proxy, –https-proxy, –ftp-proxy.
aria2c --http-proxy='http://proxy:8080' http://host/file
aria2c --http-proxy='http://proxy:8080' --http-proxy-user='username' --http-proxy-passwd='password' http://host/file aria2c --http-proxy='http://username:password@proxy:8080' http://host/file
说明:用户名和密码需要是 percent-encoded 格式。比如,如果用户名是 myid@domain, 那么percent-encoded 格式就是 myid%40domain.
载入 Mozilla/Firefox(1.x/2.x) 和 Netscape 格式:
aria2c --load-cookies=cookies.txt http://host/file
载入 Firefox3 格式:
aria2c --load-cookies=cookies.sqlite http://host/file
说明:你可以不加任何修改直接读取 Firefox/Mozilla’s 的 cookie 内容。
aria2c -c -s2 http://host/partiallydownloadedfile.zip
aria2c --max-download-limit=100K http://host/file
aria2c -V file.metalink
说明:这个选项只能对支持校验码的 BitTorrent 或者 metalink 使用。
aria2c --lowest-speed-limit=10K file.metalink
你可以这样使用 URI :
aria2c -P http://{host1,host2,host3}/file.iso
你可以指定数字序号(You can specify numeric sequence using [])
aria2c -Z -P http://host/image[000-100].png
说明: -Z 选项是必须的,如果所有的 URL 都是指向不同的文件的话。
可以指定步长(You can specify step counter)
aria2c -Z -P http://host/image[A-Z:2].png
aria2 会在下载完成的时候从服务器拿到该文件的 timestamp 并设置到本地文件
aria2c -R http://host/file.iso
aria2c --on-download-complete=COMMAND http://example.org/file.iso
参见 –on-download-error, –on-download-start 和 –on-download-stop 选项, 或者执行:
aria2c -h #hook
aria2c -d /dev -o null --allow-overwrite=true http://example.org/file
需要 –allow-overwrite=true 是为了避免 aria2 重命名已经存在的 /dev/null。
http://server/file.iso http://mirror/file.iso dir=/iso_images out=file.img http://foo/bar
ssh-agent bash
ssh-add /home/admin/.ssh/id_rsa