--- title: Vim vs Neovim on FreeBSD description: > Spoilers: for some reason, vim has 103 dependencies and neovim has 7. --- I have a [FreeBSD server](/freebsd.html) which primarily serves as a jail host. As such, I'd like to keep its installed packages to a minimum. FreeBSD's default install comes with `vi`, but not `vim`. Using `vi` feels familiar enough, but it becomes annoying not to have things like `gg` available. So I decided to install vim to make my life a little nicer: $ sudo pkg install vim Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. The following 103 package(s) will be affected (of 0 checked): New packages to be INSTALLED: vim: 8.1.1439 libXpm: 3.5.12_2 libXext: 1.3.4,1 libXau: 1.0.9 libX11: 1.6.8,1 libxcb: 1.13.1 libXdmcp: 1.1.3 xorgproto: 2019.1 libxml2: 2.9.9 libpthread-stubs: 0.4 libXt: 1.2.0,1 libSM: 1.2.3,1 libICE: 1.0.9_3,1 pango: 1.42.4_2 libXrender: 0.9.10_2 xorg-fonts-truetype: 7.7_1 font-misc-meltho: 1.0.3_4 mkfontscale: 1.2.1 libfontenc: 1.1.4 freetype2: 2.10.0 fontconfig: 2.12.6,1 font-misc-ethiopic: 1.0.3_4 font-bh-ttf: 1.0.3_4 encodings: 1.0.5,1 font-util: 1.3.1 dejavu: 2.37_1 libXft: 2.3.2_3 harfbuzz: 2.5.3 graphite2: 1.3.13 cairo: 1.16.0,2 pixman: 0.34.0_1 png: 1.6.37 mesa-libs: 18.3.2_1 libxshmfence: 1.3 libXxf86vm: 1.1.4_3 libXfixes: 5.0.3_2 libXdamage: 1.1.5 wayland: 1.16.0_1 libepoll-shim: 0.0.20190311 libdrm: 2.4.98_1,1 libpciaccess: 0.14 pciids: 20190620 libunwind: 20170615 glib: 2.56.3_5,1 xkeyboard-config: 2.27 libXrandr: 1.5.2 libedit: 3.1.20190324,1 libepoxy: 1.5.2 fribidi: 0.19.7 gtk3: 3.24.9 libxkbcommon: 0.8.4 libXinerama: 1.1.4_2,1 libXi: 1.7.10,1 libXcursor: 1.2.0 libXcomposite: 0.4.5,1 adwaita-icon-theme: 3.28.0 gtk-update-icon-cache: 2.24.32 shared-mime-info: 1.10_1 hicolor-icon-theme: 0.17 gdk-pixbuf2: 2.36.12 tiff: 4.0.10_1 jpeg-turbo: 2.0.2 jbigkit: 2.1_1 atk: 2.28.1 cups: 2.2.11 gnutls: 3.6.8 trousers: 0.3.14_2 tpm-emulator: 0.7.4_2 gmp: 6.1.2_1 p11-kit: 0.23.16.1 libtasn1: 4.13_1 nettle: 3.4.1_1 libidn2: 2.2.0 libunistring: 0.9.10_1 libpaper: 1.1.24.4 avahi-app: 0.7_2 gnome_subr: 1.0 libdaemon: 0.14_1 gobject-introspection: 1.56.1,1 dbus-glib: 0.110 dbus: 1.12.12 gdbm: 1.18.1_1 wayland-protocols: 1.17 librsvg2: 2.40.20 libcroco: 0.6.12 libgsf: 1.14.44 colord: 1.3.5 polkit: 0.114_2 spidermonkey52: 52.9.0_3 nspr: 4.21 icu: 64.2,1 sqlite3: 3.28.0 desktop-file-utils: 0.23 lcms2: 2.9 argyllcms: 1.9.2_4 libXScrnSaver: 1.2.3_2 at-spi2-atk: 2.26.2 at-spi2-core: 2.28.0 libXtst: 1.2.3_2 ruby: 2.5.5_2,1 libyaml: 0.2.2 ctags: 5.8 cscope: 15.8b_1 Number of packages to be installed: 103 The process will require 517 MiB more space. 96 MiB to be downloaded. Whoa, what?! Why do I need wayland and gtk for _vim_? `^C^C^C` $ sudo pkg install neovim ]Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. The following 7 package(s) will be affected (of 0 checked): New packages to be INSTALLED: neovim: 0.3.8 luajit: 2.0.5_3 unibilium: 2.0.0 msgpack: 3.2.0 libvterm: git20161218 libuv: 1.30.1 libtermkey: 0.22 Number of packages to be installed: 7 The process will require 28 MiB more space. 5 MiB to be downloaded. Much more palatable.