AI assistants are all the rage these days. At my previous place of employment we used Copilot and VSCode quite a bit. At the moment I’m looking for a new role and taking advantage of the additional free time to sharpen old skills and build some new ones.
I first encountered vi when I was messing around with Slackware back in the mid 90s. It took some getting used to at first, but I’ve always found it to be a little bit more of a comfortable place for me. While looking for new plugins to try, I came across the Neovim plugin for Copilot and decided to give it a go.
I installed it using vim-plug and things seemed to go well out of the gate. I fired up a fresh copy of vim and encountered this:

I’m not a node guy and just installed the version that Xubuntu came with, so it isn’t surprising that it’s out of date. After setting up the Node PPA and installing Node 22, the error cleared. I entered teh command :Copilot setup
and was quickly given a one time password to authenticate the plugin with Github. I don’t see how it could’ve been any easier.
After installing it, I decided to give some standard “learn to code in this language” stuff a try with Python.

Just as in VSCode, all I needed to do was make it clear that Python and started a function definition. The AI took care of the rest. So far, so good.
For something a bit more exciting I thought it’d be neat to try having it make a simple database schema for a hypothetical RBAC system. After telling it to create tables called “users” and “roles”, it just took care of the rest via tab completion:

Generally speaking it looks pretty decent. I don’t see any foreign key enforcement set up here (which is absolutely necessary for this kind of thing), but for a bunch of autocomplete stuff it’s not too bad. I imagine that with enough involvement in the code base (assuming it actually existed) things like that would start being taken care of automatically.
Terraform has been my bread and butter for the last few years, so it seemed like a good thing to test out.

Again, with very little input it was able to get the basics you’d need to get a VPC and some basic networking set up. Not bad at all.
It’s great that Vim’s plugin architecture brings cutting-edge features to the editor we know and love. Life in the terminal is quieter and more focused, and it’s nice that users there can still access the latest tools.