启动新会话:
tmux [new -s 会话名 -n 窗口名]
恢复会话:
tmux at [-t 会话名]
| #include <functional> | |
| namespace functional { | |
| template <typename Function> struct function_traits; | |
| template <typename ClassType, typename ReturnType, typename... Args> | |
| struct function_traits<ReturnType(ClassType::*)(Args...) const> { | |
| using function = const std::function<ReturnType(Args...)>; | |
| }; |
| # Ask for the user password | |
| # Script only works if sudo caches the password for a few minutes | |
| sudo true | |
| # Install kernel extra's to enable docker aufs support | |
| # sudo apt-get -y install linux-image-extra-$(uname -r) | |
| # Add Docker PPA and install latest version | |
| # sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 | |
| # sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" |
| listening() { | |
| if [ -z "$1" ]; then | |
| lines=$(lsof -P -s TCP:LISTEN -i TCP | tail -n +2) | |
| pairs=$(echo -n "$lines" | awk '{split($9,a,":"); print $2":"a[2]}' | uniq) | |
| format_string="%5s %5s %s\n" | |
| if [ -n "$pairs" ]; then | |
| printf "$format_string" "PORT" "PID" "COMMAND" | |
| for pair in $pairs; do |
#我的 Vim 指令筆記
##vim 的三種模式 ###模式
輸入模式:輸入內文。指揮模式:也叫指令模式,主要是進入到可以對文件做修改,複製,剪下貼上,游標移動等動作。執行模式:文件存檔,離開等等行為。###常用模式的切換
Esc| #!/usr/bin/env bash | |
| curl https://s3.amazonaws.com/heroku-jvm-buildpack-vi/vim-7.3.tar.gz --output vim.tar.gz | |
| mkdir vim && tar xzvf vim.tar.gz -C vim | |
| export PATH=$PATH:/app/vim/bin |
| /** | |
| * box-shadow vs filter: drop-shadow | |
| */ | |
| body { | |
| background: #ddd; | |
| font: 16px/1 sans-serif; | |
| } | |
| div { | |
| margin: 100px; |