本页面主要保存一些细小的技巧
Git
stash
如果想 pull 代码又不想提交代码, 可以将当前修改内容放到 stash 暂存
$ git stash
$ git stash pop
Vim
YouCompleteMe
YouCompleteMe 插件在补全 C 的之后只有在 ./-> 时才会弹出补全菜单, 为了正常补全, 可以在 .vimrc 下添加如下配置:
let g:ycm_semantic_triggers = {} let g:ycm_semantic_triggers.c = ['->', '.', ' ', '(', '[', '&']
Key Map
把 Caps Lock 和右Ctrl 互换后有一些比较好按的快捷键:
<Ctrl-3>(Caps Lock + 3) == Esc
<Ctrl-2>(Caps Lock + 2) == <C-X><C-O>
以上两个键都在 Insert Mode 下生效
单引号转义
Vimscript 里的单引号字符串如果想要包含单引号需要用两个单引号进行转义
:let test='test''test' :echo test " 输出为 test'test
Linux
挂载 Windows 共享
将 192.168.1.1 的共享文件夹 share 挂载到本地 /media:
mount -t cifs -o guest //192.168.1.1/share /media
C
获取数组元素的指针
数组是一片连在一起的内存块, 所以任何对象添加到数组都是复制到数组. 比如如下代码:
#include <stdio.h> #include <stdlib.h> int main(){ struct var {char *name; int global;}; struct var buf[1024], *tmp; tmp = malloc(sizeof(struct var)); tmp->name = "hi"; tmp->global = 1; buf[0] = *tmp; struct var t = buf[0]; printf("%p--%p--%p\n", tmp, (struct var*)&buf[0], &t); }
0x2066010--0x7fff35bcec90--0x7fff35bcec80