惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
IT之家
IT之家
博客园_首页
博客园 - 【当耐特】
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
GbyAI
GbyAI
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Help Net Security
T
Tailwind CSS Blog
B
Blog RSS Feed
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
博客园 - 叶小钗
雷峰网
雷峰网
量子位

Yuexun J

Native macOS Updates in Tauri Why MCP Matters How to Make Your Tauri Dev Faster Developing an App with My AI Intern How the Notion Editor Works The Vim Guide for VS Code Users
My Journey with Vim
Yuexun Jiang · 2024-05-09 · via Yuexun J

Seven years with Vim. Still going.

Back then, I was using Sublime Text and Atom. Atom was popular. Hard to imagine now.

My initial Vim configuration

The Spark

Second year of college. Internship. My mentor Doni was an Emacs user. He watched me hammer the arrow keys in Atom and looked at me like I was personally offending him.

So I tried Emacs. It wasn’t for me.

Then I found Vim. That was it.

I started with a basic .vimrc from some tutorial. Mapped H/L to ^/$. Made Space my leader key. Probably made a dozen decisions I’d question later.

Here’s the thing: I still question some of those mappings. Every time I SSH into a server and realize vanilla vi doesn’t work the way my fingers expect, I wonder if I trained myself wrong.

But they work on my machine. That’s what matters.

The Obsession

GitHub became my source of inspiration. I’d browse other people’s dotfiles for hours, stealing ideas, tweaking endlessly.

One .vimrc file became many. Mappings in one file. Options in another. Plugins managed through vim-plug. I wrote scripts to automate installation. Pushed everything to GitHub. When my laptop died once, I had a new dev environment running in minutes.

Plug 'mbbill/undotree'
Plug 'scrooloose/nerdtree'
Plug 'w0rp/ale'
Plug 'junegunn/fzf.vim'
Plug 'Valloric/YouCompleteMe'

I don’t use most of these anymore. Tools come and go. The obsession stays.

Completion plugins alone: YouCompleteMe (slow, painful to install), then deoplete (lighter), then coc.nvim (finally, something that just worked).

The plugins what I created

I even wrote my own plugins. resize.vim — because I hated using a mouse to resize windows. vim-fileheader — auto-generates file headers with my name and timestamps.

Looking back, the file header thing is kind of embarrassing. I haven’t cared about putting my name in files for years. But building those plugins? Pure joy. Even if Vimscript made me want to quit.

Neovim

At some point — I can’t remember exactly when — I switched to Neovim.

Float windows. Built-in LSP. Lua instead of Vimscript. It felt like the future.

My configuration is fully lua-based for now

I rewrote everything in Lua. Years of Vimscript, gone. No regrets.

Now I run lazy.nvim for plugins. telescope.nvim for fuzzy finding. neo-tree.nvim for files. nvim-treesitter for highlighting. nvim-cmp with LSP for everything else.

That’s the stack. It’ll probably change again. Everything does.

If you’re curious: my dotfiles.

The Point

Does Vim make me faster?

Probably not.

Does it matter?

Not at all.

The joy is in the tinkering. The endless configuration. The rabbit holes. The moment something finally clicks and your editor does exactly what you imagined.

I’ll probably rewrite my config again soon. I always do.

Seven years in, and I’m still not done. That’s the point.