Hacker Newsnew | past | comments | ask | show | jobs | submit | more code-blooded's commentslogin

If you're in the tech industry then you may want to strongly consider what keyboard does a laptop have. ThinkPads still win IMO despite Lenovo making keyboards thinner in the recent years.

One absolute killer feature of ThinkPads for me is that you can remap the trackpad keys under the spacebar to any other key, e.g. to SUPER or ALT key for superb ergonomics.


This used to be true, but no more. There's a lot of great hardware built for Linux or officially compatible with Linux. I'll just list a few comparable to MBP 16" since that's what I'm most familiar with: * StarLabs Starfighter * ThinkPad X1 Carbon Extreme * TUXEDO Computers InfinityBook Pro 16"


Yes it takes quite a lot of effort to get there. Vim motions take weeks to become your second nature, and then you'll probably spend 20-50hours finding plugins and configuring Neovim until you reach the Vimvarna. That's a ton of effort, but like I explained in the other post, I found it being both fun and making me a better programmer as an unintended side effect.

Breakages are rare though especially if you use a plugin manager that shows you commits from your current versions of plugins (e.g. lazy.nvim [1]) so that you can see if you need to update anything.

[1] An example of lazy.nvim plugin update experience: https://user-images.githubusercontent.com/292349/208301737-6...


IMO, not a big deal if you have fun while doing so. I still have to finish elden ring and have already played for 105 hours. 50 hours for Vimvarna are nothing and a time well invested :D


The advantage of (Neo)vim is that it lets you create a PDE (personalized development environment) [1] where you can customize every little detail to your liking easily [2] and as a result program and navigate at the speed of thought.

It takes some effort and likely 20-30 plugins, but you get to learn a lot and IMO become a better programmer as a (unintended?) side effect. For me it's part of the continuous improvement to understand your tools.

Last but not least it's just so much joy when you can envision a certain feature (e.g. I wanted to have a function header visible in the first line of editor even when the top of the function has scrolled off the screen) and either find a plugin or program it yourself. This is exactly the kind of primal joy that initially made me pursue the career of software engineer.

[1] The concept of PDE is explained in this video: https://youtu.be/QMVIJhC9Veg [2] Easily is relative. IMO each little customization is quick, but you'll end up customizing hundreds of things over time.


> e.g. I wanted to have a function header visible in the first line of editor even when the top of the function has scrolled off the screen

This sounds super-useful. Do you mind sharing how you achieved this?


There are a couple of plugins that do this.

For vim: https://github.com/wellle/context.vim

For neovim (much higher performance in my experience): https://github.com/nvim-treesitter/nvim-treesitter-context

I believe there's now also a VS code plugin for the same behavior, but I don't know what it's called.



> I believe there's now also a VS code plugin for the same behavior, but I don't know what it's called.

It's called "sticky scroll". It's a relatively new feature of VS Code.


Sure thing! https://github.com/nvim-treesitter/nvim-treesitter-context is what I use nowadays. It has a little clip demonstrating how it works so you'll instantly know if you want it or not ;)


Do you by any chance have your whole config shared somewhere?


https://github.com/mateuszwieloch/dotfiles/tree/master/.conf...

I'm rewriting it to be 100% Lua at the moment. It's 80% done and I've just pushed it for you. Take a look at the init.lua and ignore init.vim which is going away and is in a messy transitional state. The only thing that's missing in the Lua config is LSP integration, but that should be done by tomorrow as well.

Edit: Just remembered that the Lua version also has no plugin manager, but there's plugin-install.fish script that just clones plugins into the correct folder, which works for now. I'll probably add lazy.nvim plugin manager in the upcoming weeks as well ;)


Love this remap!

``` -- Move cursor to start/end of line vim.keymap.set({"n", "v"}, "H", "g^") vim.keymap.set({"n", "v"}, "L", "g$") ```


Thank you. It is 404, probably the repo is not public?


Whoops! Making it public right away :)


You didn't ask but here's mine https://github.com/SuperCuber/dotfiles/tree/master/nvim

I just finished refactoring and dusting off my config with a structure similar to this video https://www.youtube.com/watch?v=w7i4amO_zaE


It looks like this article requires sign up to read.



Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: