Creating List of Empty List in Python

I wrote some code for my project and found that the result isn’t correct. So I spent quite some time debugging the whole working process this program and found that it is because I have initialized a list wrongly.

Set up Fuzzy Completion for Vim-lsp

In my older post, I have shared how to set up auto-completion for vim-lsp with the help of deoplete. One annoyance is that I can not use fuzzy matching for auto-completion: the completion items in the pop-up completion menu seems to be selected base on prefix matching.

How Do I Create New Text Objects in Neovim/Vim

Shortly after I started using Neovim, I learned about the concept of text objects. For example, when the cursor is inside a pair of [], we can use ci] to change text inside them. This is definitely one of the greatest moments on my road of learning Vim. However, I haven’t really thought about how does text object really work.

Edit Multiple Files at once in Neovim

When I was in a folder and tried to edit multiple files using glob pattern with the following Neovim command:

:edit *.vim

I was surprised to find that Neovim gives the following error message:

E77: Too many file names.

Switching Buffers in Neovim with mapping

I usually use {num}Ctrl-6 to switch buffers in Neovim, where {num} is the number of buffer (see this post). Since Neovim has builtin gt mapping to switch between tabpages, I thought it might be a good idea to use gb as buffer switching shortcut avoid strech when pressing Ctrl-6.


最近一个月读了 Kai bird 和 Martin J. Sherwin 的《American prometheus》,这本书是著名物理学家奥本海默的传记,详细讲述了奥本海默的一生。为了写这本书,作者花了 25 年的时间,做了很多采访,查看了很多 FBI 关于奥本海默的资料。这本书是关于奥本海默的权威著作,2005 甫一问世, 2006 年就获得了普利策奖(传记类)