Neovim Configuration for System-wide Use

I have been using Neovim for personal projects for over a year. Recently, I want to set up Neovim system wide so that other users in the server can also use my config if they want. In this post, I will describe the necessary configurations.

Building A Custom Vim Statusline

I have been using vim-airline to customize my Nvim statusline ever since I first started using Neovim. It works great. Recently, I started a repo to create a minimal configuration without external plugins for both Vim and Neovim. During the process, I learned how to build the Vim statusline from scratch.


花了差不多两个月时间,于上周看完了《The making of the atomic bomb》(中文名叫《原子弹秘史》),这本书是 1988 年美国普利策非虚构类最佳图书奖获奖作品。整本书很长,上百万字,作者在书中全景式展现了人类第一颗原子弹爆炸的完整历史,把物理学发现,犹太人的历史,原子弹的制造,还有科学家的成长历程,融合在一起讲述,考证详实,虽然有大量的历史细节,读起来也并不枯燥。

Essential Knowledge about SSH

Although I use SSH (secure shell) every day, I seem to know little about it except the fact that I can use ssh command to log into my remote servers. Recently, I found myself some time to learn how does it work.

Nifty LaTeX Techniques -- Series 1

Change font size

By default, LaTeX provides several command to change the font size to predefined size. Those command include \scriptsize, \large, \Huge etc. However, even the font size provided by the \Huge command may not be large enough.

更改 Adsense 邮寄地址,重新寄送 PIN

之前的文章提到过,当 Adsense 帐号的收入达到 10 美元阈值的时候,谷歌会向你在Adsense 注册时登记的地址发送一封邮件,里面有验证的 PIN 码,只有验证了 PIN 码,后续才能收到谷歌的付款。如果你搬家了,那么很可能会收不到谷歌的邮件。本文介绍如何更改 Adsense 登记的地址,重新让谷歌寄送新的 PIN 码邮件。

Convert Python Script to Exe on Windows with Pyinstaller


I have a use case where I want to convert my Python script to standalone executable so that I do not need to type python before it to run the script. On Linux, it is easy to achieve with the help of shebang. However, on Windows, it does not work. Then I thought I might convert the script to Windows executable.

Ubuntu on Windows Missing after Windows Update

I have been using Ubuntu on Windows via WSL for about a year and it works quite well.

The terminal I use for Ubuntu on Windows is wsltty, which is a thin wrapper around mintty and other tools for starting WSL sessions. Recently, when I start clicking the WSL Terminal icon, it start a Window and then quit silently.

使用代理加速 Mac 终端下载速度

在 Mac 的终端 (terminal) 下载文件或者 clone git 仓库的时候,明显感觉速度特别慢,即使把梯子的全局模式打开也无济于事,需要在终端设置代理才能加快下载速度,本文简要总结需要的配置。

How to Install zplug inside Docker Container

In the past few days, I tried to dockerize my development environment and put my daily programming tools inside container. I tried to install zplug inside docker container and met some issues. In this post, I want to share how to install zplug and other plugins inside the Docker container.

Setting Up Locale in Linux


When I logged into a Ubuntu server, the system interface and messages are shown all shown in Chinese. I want them to be displayed in English. After some searching, I found out that we can change the locale settings. The definition of locale is:

In computing, a locale is a set of parameters that defines the user’s language, region and any special variant preferences that the user wants to see in their user interface