Terminal multiplexer. It allows multiple sessions with windows, panes, and more.See also zellij and screen.More information: https://github.com/tmux/tmux.
Start a new named session:
tmux new -s {{name}}
List existing sessions:
tmux ls
Attach to the most recently used session [by name]:
tmux attach [-t {{name}}]
Kill a session by name:
tmux kill-session -t {{name}}
Rename a session by name:
tmux rename-session -t {{name}} {{new_name}}
Delete current session (inside a tmux session):
C-d
Detach from the current session (inside a tmux session):
C-b d
Split a new pane to right (inside a tmux session):
C-b %
Split a new pane to down (inside a tmux session):
C-b "
Create a new window (inside a tmux session):
C-b c
Switch between sessions and windows (inside a tmux session):
C-b wC-b oC-b C-o
Zoom in or zoom out a pane (inside a tmux session):
C-b z
Resize pane in direction of (inside a tmux session):
C-b C-<arrow key>
Rename the current window (inside a tmux session):
breakpoint 114514
watch val
next
continue
print val
str
strtok() stores the pointer in static variable where did you last time left off , so on its 2nd call , when we pass the null , strtok() gets the pointer from the static variable .
#include<sys/types.h>#include<regex.h>intregcomp(regex_t*preg,constchar*regex,intcflags);Prepareyourregexforfastprocessingintregexec(constregex_t*preg,constchar*string,size_tnmatch,regmatch_tpmatch[],inteflags);Dothematchingvoidregfree(regex_t*preg);Freeyourcompiledregexforanew"compiling"size_tregerror(interrcode,constregex_t*preg,char*errbuf,size_terrbuf_size);Retrievesomemoreinformationonwhytheregexec()failed///////////////////////////////////////////
#include<sys/types.h>#include<regex.h>#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){regex_tregex;intreti;charmsgbuf[100];/* Compile regular expression */reti=regcomp(®ex,"(.*)",REG_EXTENDED);if(reti){fprintf(stderr,"Could not compile regex\n");exit(1);}/* Execute regular expression */regmatch_tpmatch;reti=regexec(®ex,"-(asdf)adsf",1,&pmatch,0);// 第三个参数如果是 0,则仅判断是否匹配
printf("%d %d",pmatch.rm_so,pmatch.rm_eo);if(!reti){puts("Match");}elseif(reti==REG_NOMATCH){puts("No match");}else{regerror(reti,®ex,msgbuf,sizeof(msgbuf));fprintf(stderr,"Regex match failed: %s\n",msgbuf);exit(1);}/* Free compiled regular expression if you want to use the regex_t again */regfree(®ex);return0;}
1
2
some examples
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
# aliasaliasapigen="goctl api go -api *.api -dir ../ --style=goZero"aliasproxy="source /bin/proxy.sh"aliasll="ls -alF"aliasla="ls -A"aliasl="ls -CF"aliassay="echo"
. /bin/proxy.sh set# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.# Initialization code that may require console input (password prompts, [y/n]# confirmations, etc.) must go above this block; everything else may go below.if[[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"]];thensource"${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"fi# If you come from zsh you might have to change your $PATH.# export PATH=$HOME/bin:/usr/local/bin:$PATH# Path to your oh-my-zsh installation.exportZSH="$HOME/.oh-my-zsh"# Set name of the theme to load --- if set to "random", it will# load a random theme each time oh-my-zsh is loaded, in which case,# to know which specific one was loaded, run: echo $RANDOM_THEME# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes# ZSH_THEME="robbyrussell"ZSH_THEME="powerlevel10k/powerlevel10k"# Set list of themes to pick from when loading at random# Setting this variable when ZSH_THEME=random will cause zsh to load# a theme from this variable instead of looking in $ZSH/themes/# If set to an empty array, this variable will have no effect.# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )# Uncomment the following line to use case-sensitive completion.# CASE_SENSITIVE="true"# Uncomment the following line to use hyphen-insensitive completion.# Case-sensitive completion must be off. _ and - will be interchangeable.# HYPHEN_INSENSITIVE="true"# Uncomment one of the following lines to change the auto-update behavior# zstyle ':omz:update' mode disabled # disable automatic updates# zstyle ':omz:update' mode auto # update automatically without asking# zstyle ':omz:update' mode reminder # just remind me to update when it's time# Uncomment the following line to change how often to auto-update (in days).# zstyle ':omz:update' frequency 13# Uncomment the following line if pasting URLs and other text is messed up.# DISABLE_MAGIC_FUNCTIONS="true"# Uncomment the following line to disable colors in ls.# DISABLE_LS_COLORS="true"# Uncomment the following line to disable auto-setting terminal title.# DISABLE_AUTO_TITLE="true"# Uncomment the following line to enable command auto-correction.# ENABLE_CORRECTION="true"# Uncomment the following line to display red dots whilst waiting for completion.# You can also set it to another string to have that shown instead of the default red dots.# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)# COMPLETION_WAITING_DOTS="true"# Uncomment the following line if you want to disable marking untracked files# under VCS as dirty. This makes repository status check for large repositories# much, much faster.# DISABLE_UNTRACKED_FILES_DIRTY="true"# Uncomment the following line if you want to change the command execution time# stamp shown in the history command output.# You can set one of the optional three formats:# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"# or set a custom format using the strftime function format specifications,# see 'man strftime' for details.# HIST_STAMPS="mm/dd/yyyy"# Would you like to use another custom folder than $ZSH/custom?# ZSH_CUSTOM=/path/to/new-custom-folder# Which plugins would you like to load?# Standard plugins can be found in $ZSH/plugins/# Custom plugins may be added to $ZSH_CUSTOM/plugins/# Example format: plugins=(rails git textmate ruby lighthouse)# Add wisely, as too many plugins slow down shell startup.plugins=(
z
docker
git
sudo
zsh-autosuggestions
# zsh-syntax-highlighting)source$ZSH/oh-my-zsh.sh
# User configuration# export MANPATH="/usr/local/man:$MANPATH"# You may need to manually set your language environment# export LANG=en_US.UTF-8# Preferred editor for local and remote sessions# if [[ -n $SSH_CONNECTION ]]; then# export EDITOR='vim'# else# export EDITOR='mvim'# fi# Compilation flags# export ARCHFLAGS="-arch x86_64"# Set personal aliases, overriding those provided by oh-my-zsh libs,# plugins, and themes. Aliases can be placed here, though oh-my-zsh# users are encouraged to define aliases within the ZSH_CUSTOM folder.# For a full list of active aliases, run `alias`.## Example aliases# alias zshconfig="mate ~/.zshrc"# alias ohmyzsh="mate ~/.oh-my-zsh"# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.[[ ! -f ~/.p10k.zsh ]]||source ~/.p10k.zsh
#ccacheexportPATH="/usr/lib/ccache:$PATH"exportNEMU_HOME=/home/loomt/CSLearning/PA/nemu
exportAM_HOME=/home/loomt/CSLearning/PA/abstract-machine
# go#根目录exportGOROOT=/usr/local/go
#工作目录exportGOPATH=/home/loomt/go
#bin目录exportGOBIN=$GOPATH/bin
exportPATH=$PATH:$GOPATHexportPATH=$PATH:$GOBINexportPATH=$PATH:$GOROOT/bin