PA拾慧

天将降PA于斯人也,必先使其STFW,RTFM,RTFSC, 所以动心忍性,曾益其所不能

tmux(分屏工具)

Prefix: Ctrl+B

左右分屏:Prefix + % 上下分屏: Prefix + "

切换: Prefix + 方向键

Vim配置

vim分屏:

Ctrl+W s:上下分割当前打开的文件

:sp filename:上下分割,并打开一个新的文件

Ctrl+W v: 左右分割当前打开的文件

:vsp filename: 左右分割,并打开一个新的文件

Ctrl+W l,h,k,j: 在窗格见切换

vim函数跳转:

  1. 安装ctags: ‘sudo apt-get install ctags’
  2. 测试ctags是否安装成功: whereis ctags
  3. 为源代码生成tags文件,建议在项目根目录下生成: ctags -R,更多高级选项请自行查询或man
  4. 配置vimrc: sudo vim ~/.vimrc
  5. 修改vimrc: 加入下面两行
set tags=[path]/tags
set tags=./tags,tags;$HOME

vim配置选项

set laststatus=2

跳转快捷键: Ctrl+]跳转, Ctrl+t or Ctrl+o返回.

在终端里输入vim -t functionname 可以直接跳转至你想跳转的函数.(来自StardustDL的补充)

vim函数跳转部分参考Mengzelve’s Blog

C语言相关

顺时针法则

strcmp返回值为0是两个字符串相等

结构体里利用位域实现位级访问

Linux相关

linux里的管道(pipeline)将不同程序的输入输出连起来。

time ./a.out 可以测程序运行的时间。

在shell中使用终端设置别名:alias cdblog='cd ~/Desktop/Github/Blog'

统计代码行数: find . | grep -E '\.c$|\.h$' | xargs cat | wc -l

统计代码行数(不含空格): find . | grep -E '\.c$|\.h$' | xargs cat | grep -v ‘^$’ | wc -l

一些好的文章:

开源世界旅行手册

计算的极限

How debuggers work