matplotlib
- 存储图片时,可加入
bbox_inches='tight'
参数切除白边
Git
-
HEAD
: 表示当前版本 -
reflog
: 记录历史命令 -
git checkout -- file
: 丢弃工作区的改动。其实就是用版本库的并本替换工作区的版本,无论是修改还是删除,都可以一键还原。 -
git reset HEAD file
: 将暂存区的修改回退到工作区 -
git reset --hard
: 版本回退 -
git tag
: 打标签git tag <name>
用于新建一个标签,默认为HEAD
,也可以指定一个commit id
git tag -a <tagname> -m "blablabla..."
可以指定标签信息git tag -s <tagname> -m "blablabla..."
可以用PGP签名标签git tag
可以查看所有标签。
-
git rm -r --cached dirname
: 删除远程文件夹 -
fork 他人的 repo,做了自己的修改,在不冲突的前提下保持与上游项目同步:
git remote add upstream https://github.com/someone-repo.git # 配置上游项目地址 git fetch upstream # 获取上游项目更新 git merge upstream/master # 合并到本地分支 git push origin master # 提交推送到自己的 repo
-
更改远程分支地址
git remote rm origin # 如不需要原来的地址,可删除 git remote set-url origin new-url
-
添加子模块
# 将远程repo添加为当前repo下的子模块 git submodule add -b master https://github.com/someone-repo.git dirname # 保持子模块和远程分支同步 git submodule update --recursive --remote
tmux
-
给当前窗口改名:
C-b
then·:rename-window <newname>
或者tmux renane-window <newname>
-
窗口滚动
C-b
then[
然后就可以用方向键或者鼠标滚轮进行上下滚动了
Madagascar
- 编译程序时添加链接库更改程序后缀:
from rsf.proj import *
proj = Project()
proj.Prepend(LIBS='rsfgee rsfpwd')
proj.Replace(PROGSUFFIX='.x')
prog = proj.Program('Mprog.c')
exe = str(prog[0])
Flow('out', 'in '+exe,
'''
${SOURCES[1].abspath} verb=y blablabla...
''')
End()
其他
- 取模和取余
整数 a 和 b
MOD
和 REM
的计算都分两步:
c = a / b
r = a - (c * b)
不同之处在第一步里面:
- 取模时,
c
往负无穷取整 - 取余时,
c
往靠近零的方向取整
- arXiv加速
将 https://arxiv.org
替换为 http://xxx.itp.ac.cn
- Github克隆加速
将 github.com
替换为 github.com/cnpmjs.org
- ssh login without password
-
generate authentication keys
ssh-keygen -t rsa
-
use
ssh
to create a directory~/.ssh
on remote serverssh user_name@server_ip mkdir -p .ssh
-
Append your new public key to
user@server_ip: .ssh/authorized_keys
cat .ssh/id_rsa.pub | ssh user@server_ip 'cat >> .ssh/authorized_keys'
-