开发工具
Vim 分割窗口
· ☕ 1 min read
在操作 Vim 窗口之前,最好了解下面几个概念: 缓冲区(buffer)是加载到内存中进行编辑的文件,原始文件在将缓冲区写到文件中之前保持不变。 窗口(

记一次 Vim 的问题处理
· ☕ 2 min read

文章的起源,是由于在使用 Vim 书写 Markdwon 时遇到了糟糕的高亮显示问题, Vim 将中文或者一些英文单词高亮成了红色。
于是我决定找出造成这样的原因,解决掉它。


Rust开发环境搭建
· ☕ 1 min read
rustup 是官方提供的 Rust 版本安装工具,使用它,我们还可以方便地更新版本、切换渠道、多工具链管理等。

Clang 简单使用
· ☕ 1 min read

clang -rewrite-objc: 将OC代码转成 C/C++

1. 最基本的

1
clang -rewrite-objc main.m

2.指定真机:

1
xcrun -sdk iphoneos clang -rewrite-objc main.m

指定模拟器:

1
xcrun -sdk iphonesimulator clang -rewrite-objc main.m

指定特定版本的SDK

xcrun -sdk iphonesimulator11.3 clang -rewrite-objc main.m

Gem: 使用 --user-install 时的问题
· ☕ 1 min read

在较新的 MacOS 系统中, 使用 gem install 安装模块时,会由于权限问题而失败。

当使用 --user-install 选项时,RubyGems会将gem 安装用户的主目录中,如~/.gem/ruby/1.9.1
为了能够正常调用我们安装的命令,所以我们需要将 ~/.gem/ruby/1.9.1/bin 添加到PATH环境变量中。

1
2
3
if which ruby >/dev/null && which gem >/dev/null; then
    PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi

将上面的代码加入 ~/.bashrc (bash) 或者 ~/.zprofile (zsh) 中。


Git Submodule 删除
· ☕ 1 min read
删除子模块 1 2 3 4 5 6 # 逆初始化模块,其中{MOD_NAME}为模块目录,执行后可发现模块目录被清空 git submodule deinit {MOD_NAME} # 删除.gitmodules中记

为主题添加 Gitalk 评论支持
· ☕ 3 min read
最近发现了一款 Hugo 主题 hugo-theme-cactus-plus , 干净简洁的风格一下就让我喜欢上了,仔细研究了一下作者的代码,发现评论只有 Disqus, 所以决定Fork 一份,为自己添加 Gitalk 评论功能

在Vim中使用fzf
· ☕ 2 min read
fzf 是一个基于Go实现的一个交互式的命令行搜索工具,可以搜索如:文件,历史命令,git提交等。功能非常强大。 基于FZF实现的vim插件,让我们

Neovim下配置golang开发环境
· ☕ 3 min read
golang 开发者在Vim 上贡献了许多成熟的插件。站在巨人的肩膀上,我们可以非常轻松的在Vim 下配置出属于自己的golang的开发环境。 电脑环境: Mac 10.13

Vim:移动和撤消、更改命令
· ☕ 2 min read
Vim 光标移动 Vim 中有着大量的快捷键来帮助我们完成快速跳转以及快速定位。 1. G 和 gg 定位行 ”nG“ 表示定位到第 n 行,当只有G 而没有计数前缀时,表示移动

记 OpenConnect VPN server 的搭建
· ☕ 5 min read
目前我认为最好用的 VPN 是 shadowsocks 。配合 Chrome的 SwitchyOmega 可实现是否通过代理服务器访问。 很遗憾在苹果设备上,很好支持 shadowsocks 的 App 的价钱很高。因此只能使用系统支

VPS:搭建shadowsocks服务器
· ☕ 1 min read
shadowsocks有多个版本,目前相对稳定的是python版本和C版本(shadowsocks-libev),前者可以通过配置开启多端口