Random Posts
Tags
Categories
Recent Comments
- 小肥 on GDB 从裸奔到穿戴整齐
- flandre on 异步事件模型的 Self-pipe trick
- inv on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
- skywind on 异步事件模型的 Self-pipe trick
Links
Meta
Category Archives: 随笔
Windows 10 – 1803 更新又给我出幺蛾子
Windows 10 的 1803 版本更新后,Cygwin 的 Open SSH 服务无法始用,调查半天,Windows 10 新建了个 sshd 的服务,原来的 Cygwin Open SSH 服务被删除了,也安装不上去,解决方法是 ssh-host-config 后面加个参数 –name sshd2 换个新名字重新安装服务。
Vim 8 下 C/C++ 开发环境搭建
挺多人问怎么在 Vim 中搭建 C/C++ 开发环境,我本来想找篇文章发给人家,结果网上看了一圈,要不就是内容太过陈旧,要不就是太过零碎,不成体系。2018 年了,Vim 8 发布已经一年半,各大 Linux 发行版和 Mac OS X自带的 Vim 都已经跟进到 8了,不少文章还在介绍一些十年前的老方法。于是有了这篇文章。 那如何高效的再 Vim 8 中开发 C/C++ 项目呢?假设你已经有一定 Vim 使用经验,并且折腾过 Vim 配置,能够相对舒适的在 Vim 中编写其他代码的时候,准备在 Vim 开始 C/C++ 项目开发,或者你已经用 Vim 编写了几年 C/C++ 代码,想要更进一步,让自己的工作更加顺畅的话,本文就是为你准备的: 插件管理 为什么把插件管理放在第一个来讲呢?这是比较基本的一个东西,如今 Vim 下熟练开发的人,基本上手都有 … Continue reading
Bash 中文速查表/Cheatsheet (全网最全)
Bash 的知识点向来比较凌乱,有时候写点小脚本,你忘记了条件判断怎么写了,就打开网页搜索一半天;忘记怎么分割字符串,又搜索一半天;忘了怎么解压缩某后缀名,又打开网页搜一半天。 关键大部分搜出来的东西都十分琐碎,东一处,西一处,质量又参差不齐,而且看到一处有些细节有疑问,你还得接着搜索。 连记点笔记也是这一篇那一篇的,用起来找来找去的十分不爽,所以我一怒之下春节期间整理了一份 bash 的 cheatsheet,以图以后有关于 bash 的事情就查看这个文件就够了: https://github.com/skywind3000/awesome-cheatsheets/blob/master/languages/bash.sh 对于一些工具性的东西,有时候一份速查表比你翻书查网页都高效数倍。 — 相关阅读: 韦易笑:有哪些命令行的软件堪称神器? 终端调试哪家强? 为什么说 zsh 是 shell 中的极品?
Vim 中文速查表/Cheatsheet(全网最完善)
春节期间整理了一份 Vim 中文速查表,免得经常东搜索西搜索的: https://github.com/skywind3000/awesome-cheatsheets/blob/master/editors/vim.txt 看了一下,应该是现在 Vim 所有中英文速查表里最完善的一份,有时候速查表比看书搜网页高效多了。
GDB 从裸奔到穿戴整齐
无数次被问道:你在终端下怎么调试更高效?或者怎么在 Vim 里调试?好吧,今天统一回答下,我从来不在 vim 里调试,因为它还不成熟。那除了命令行 GDB 裸奔以外,终端下还有没有更高效的方法?能够让我事半功倍? 当然有,选择恰当的工具和方法,让 GDB 调试效率成倍的提升并没有任何问题。当然,前提条件是你至少会在使用最原始的 GDB。 裸奔状态:原始的 GDB 命令行 穿上各种衣服前,至少得先学会裸奔,找份简单的 GDB cheat sheet 对照一下: 生产环境中出现崩溃时,因线上服务器一般没有开发环境,也无配套源代码,所以程序崩溃后,如果你懒得把 core 文件拖回到开发机检查,可以先在线上服务器先简单gdb看一下。 GDB命令密密麻麻,常用的也就表格上那几条,比如进去以后第一步先用 bt 查看一下调用栈,info local查看一下本地变量,再配合 up/down 在整个调用栈的不同层次之间上下移动一下,检查各处局部变量的值,print 一下某个表达式,即便没代码,看下符号和反汇编,一般也能调试个七七八八。 碰到复杂点的 BUG,必须配合源代码了,那你得把 core 文件拉到开发环境中,再用 gdb 对照源代码调试,配合 list [行号] 指令查看当前运行的源代码,再配合其他方法进行调试。 那么这时候,如果调试复杂度继续上升,你需要不断的断点,每次 next … Continue reading
有哪些命令行的软件堪称神器?
发几个好玩的玩具给大家新年玩玩: ⚡ cppman:C++ 98/11/14 手册查询 for Linux/MacOS 我知道你在 Windows 下有 Zeal ,你在 Mac OS X 用 Dash,但是你想在服务器上或者任意命令行环境下查看 C/C++ 语言手册么?偶尔看别人代码里调用到一个冷僻的 libc 函数(比如 strpbrk这种),网页搜索太慢,运行 zeal/dash 麻烦,想在命令行直接查看帮助怎么办? 这是个台湾小伙写的工具,使用很简单,跟 man一样,命令行输入: cppman std::thread 即可查看 thread 相关手册 可以配置到终端编辑器里设定个快捷键,一按下去就可以显示光标下面 token 的 reference,清晰的排版,美观的着色: 关键是速度快,比你开网页查便捷多了, Windows 下用不了,可以在 WSL/MSYS/Cygwin 下面安装了一个,编辑器里照样一键弹出对应的帮助窗口,默认是在线请求 … Continue reading
终端里正确设置 ALT 键和 BS 键
不管你在终端下使用 vim/neovim, emacs, nano 或者 zsh,你都会碰到使用 ALT 键的情况(终端下叫做 meta键),而由于历史原因,大部分终端软件的默认设置都无法正确使用 ALT 键。 要在终端下正确使用 ALT键最简单的做法是:首先将终端软件的 “使用 Alt键作为 Meta键” 的功能打开,意思是如果你在终端下按下 ALT+X,那么终端软件将会发送 <ESC>x 两个字节过去,字节码为:0x27, 0x78。 SecureCRT:终端设置 XShell4 终端设置: 其他终端软件里: Putty/MinTTY 默认ALT+X 就是发送 <ESC>x过去 Mac下面的 iTerm2/Terminal.app 需要跟 XShell / SecureCRT一样设置一下 Ubuntu 下面的 GnomeTerminal 默认也是发送 <ESC>x过去的 … Continue reading
怎样的一句话能让男生瞬间不开心?
什么挖苦讽刺都太小儿科了,根据身边大数据,随便整理几条: 1:部门调整没去处是不是等于失业了?你看看你嘛,我早就说过,就你这性格,XXXX,瞧嘛,现在是不是和我说的一样?就你的脾气,早晚要吃亏,你还跟我狡辩,说说嘛,接下来怎么办呢?怎么办? 2:同事的男朋友对她超级好,每天来接她下班,碰到加班还在楼下等几个小时,是不是很优秀? 3:发奖金了?XXX发了多少啊?为啥比你多?平时他和领导是不是比你接触的更多? 4:今天和X姐出去吃饭,又认识了两个很牛逼的老板,他们是如何如何有钱的,如何如何牛逼的,其中一个非要给我算命,拉着我的手给我看了半天手相。。。。你说有意思不? 5:你怎么像个小孩一样?(当着朋友的时候)。 6:XXX和你一起进公司的,为何他发展的那么快?你有想过为什么么? 7:XXX 你少交往吧,你帮他那么多,他帮过你什么? 大家说,哪条最戳心啊?