> For the complete documentation index, see [llms.txt](https://sheldonldev.gitbook.io/sheldon-loves-dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sheldonldev.gitbook.io/sheldon-loves-dev/blog/daily/2020.md).

# 2020

## December 31

### Build My Vim As An IDE

In the past two months, I earned a lot of benefits from learning Vim and Neovim. I now know what makes an IDE.

I compared Vim and Neovim, though Neovim is newer and more featured, Vim is quicker and lighter. Neovim still has some bugs that make itself crash down sometimes, so I'm still using Vim.

An IDE should contain syntax highlighting. I built a color scheme myself, and use ployglot to highlight syntax. Of course, I can also customize my syntax highlighting according to vim manual.

It should contain project explorer. I've tried NERDTree, coc-explorer, defx. Finally, I choose to use the built-in explorer. There is no need to use a complicated exploer for vim. Because it's easy to manipulate your files or folders in the terminal.

It should contain a status line and buffer tabs. I built status line myself, and use a light plugin named bufftabline to show the tabs on the top of my editor.

It should contain auto completion tools togethor with Language Servers. I choose coc.nvim and some of its extensions. But do not use too much extensions, and read the documentations before you use it.

Snippets can also help auto compeletion. To learn how to use snippets is very helpful.

Emmet is a another useful tool for auto compeletion for html.

Other handy plugins such as vim-commentary, vim-hexokinase are great.

## October 31

In this month, I do a lot of effort to improve the SEO quality for Qizhong company's website. And I start learning CS50 of harverd university, which introduce Clang, algorithms, datastructures, python, database, web app...

## September 30

In the past two months, I built a website for Qizhong company. The home page is static, the blog is a CMS built by myself. But the CMS still needs a lot of effort to be improved.

## July 27

In the past three months, I read the books introducing CCNA. Now I know how the contents are transferred between browser and server.
