nvim conf 2021 | IDE's are slow | Waylon Walker
Use a graphical IDE if it works for you.
vim is so well integrated into the terminal, take advantage
...
All published posts
Use a graphical IDE if it works for you.
vim is so well integrated into the terminal, take advantage
...
tesseract by tesseract-ocr is a game-changer in its space. Excited to see how it evolves.
Tesseract Open Source OCR Engine (main repository)
The work on sqlite.lua by kkharji.
SQLite LuaJIT binding with a very simple api.
I’m impressed by telescope-frecency.nvim from nvim-telescope.
A telescope.nvim extension that offers intelligent prioritization when selecting files from your editing history.
Check out flick-it by cmgriffing. It’s a well-crafted project with great potential.
An OBS overlay game similar to the !drop game.
Check out diffurcate.vim by AndrewRadev. It’s a well-crafted project with great potential.
Split a git diff into separate files
I recently discovered cmp-skkeleton by rinx, and it’s truly impressive.
skkeleton source for nvim-cmp
The work on coveragepy by nedbat.
The code coverage tool for Python
I like coveragepy’s project coveragepy.
The code coverage tool for Python
I like pytest-dev’s project pytest-cov.
Coverage plugin for pytest.
We can’t all remember every single function signature out there, it’s just not possible. If you want to stay productive while coding without the temptation to hit YouTube or Twitter. Use the built in help. Here are 5 ways to get help without leaving your terminal.
In any python repl you can access the docstring of a function by calling for help.
...
Are you participating in Hacktoberfest 2021?
I got my start with open source with Hacktoberfest 2018. I remember being so nervous for those first pr’s. I have continued to participate every year, and it feels good to give back.
Something that it really did for me was to lower the hurdle to contribute regularly. I am not a huge contributor to open source. I am not necessarily a regular maintainer of any large project, but I do often raise issues when I see things as a user that would make things easier or more clear.
...
I’ve slowly adding more and more lua functions into my neovim configuration, and recently I noticed a pattern for a class of functions that reach out to run shell commands that can be abstracted away.
Check out the project readme for the most up to date details on the plugin itself.
...
The work on ansible by ThePrimeagen.
No description available.
Parameters are a place for you to store variables for your pipeline that can be accessed by any node that needs it, and can be easily changed by changing your environment. Parameters are stored in the repository in yaml files.
...
Before we jump in with anything crazy, let’s make some nodes with some vanilla data structures.
You will need to import node from kedro.pipeline to start creating nodes.
...
I’m impressed by Telegraph.nvim from WaylonWalker.
Send commands system commands in an elegant way
I came across nvim-example-lua-plugin from jacobsimpson, and it’s packed with great features and ideas.
A simple Neovim Lua plugin using the Lua embedded in Neovim, suitable as a template.
I like mobilemancer’s project windows-terminal-aurelia.
Aurelia inspired Windows Terminal theme
I’m really excited about vim-startuptime, an amazing project by dstein64. It’s worth exploring!
A plugin for viewing Vim and Neovim startup event timing information.
I like wbthomason’s project packer.nvim.
A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
Just starred nvim-lspconfig by neovim. It’s an exciting project with a lot to offer.
Quickstart configs for Nvim LSP
If you’re into interesting projects, don’t miss out on nvim-treesitter, created by nvim-treesitter.
Nvim Treesitter configurations and abstraction layer
Looking for inspiration? vim-matchup by andymass.
vim match-up: even better % 👊 navigate and highlight matching words 👊 modern matchit and matchparen. Supports both vim and neovim + tree-sitter.
treesitter-unit by David-Kunz is a game-changer in its space. Excited to see how it evolves.
A Neovim plugin to deal with treesitter units
Running your kedro pipeline from the command line could not be any easier to get started. This is a concept that you may or may not do often depending on your workflow, but its good to have under your belt. I personally do this half the time and run from ipython half the time. In production, I mostly use docker and that is all done with this cli.
Avoid serious version conflict issues, and use a virtual environment anytime you are running python, here are three ways you can setup a kedro virtual environment.
I prefer to use conda as my virtual environment manager of choice as it give me both the interpreter and the packages I install. I don’t have to rely on the system version of python or another tool to maintain python versions at all, I get everything in one tool.
...
I’m impressed by circles.nvim from projekt0n.
uniform icons for neovim
Kedro comes with an install command to install and manage all of your projects dependencies.
You must start by having your kedro project either cloned down from an existing project or created from kedro new. Then activate your environment.
...
Immediately after kedro new, before you start running kedro install or your first line of code the first thing you should always do after getting a new kedro template created is to git init.
Its as simple as these three commands to get started.
...
Kedro new is simply a wrapper around the cookiecutter templating library. The kedro team maintains a ready made template that has everything you need for a kedro project. They also maintain a few kedro starters, which are very similar to the base template.
...
Check out AckslD and their project nvim-neoclip.lua.
Clipboard manager neovim plugin with telescope integration
Kedro is an unopinionated Data Engineering framework that comes with a somewhat opinionated template. It gives the user a way to build pipelines that automatically take care of io through the use of abstract DataSets that the user specifies through Catalog entries. These Catalog entries are loaded, ran through a function, and saved by Nodes. The order that these Nodes are executed are determined by the Pipeline, which is a DAG. It’s the runner’s job to manage the execution of the Nodes.
I recently switched over to using Ubuntu, it works well pretty much out of the box for me. I am using gnome with a dark theme.
I am still using the built in default gnome terminal, it just works. It does all the things that I need it to do. It supports transparency renders my fonts and allows me to highlight things well.
...
As we push the limits of tmux further and further you are bound to end up in a situation where you are mashing down a hotkey and it’s just not doing what you want it to do, and you have no idea why.
show-messages is a tmux command that can be used to show what tmux is actually doing behind the scenes. This might highlight any hot key conflicts you might have in your ~/.tmux.conf.
...
Now your creating, jumping, and killing sessions like a boss. You are slicing through projects with ease, let me show you one more thing that can be the cream on top of this silky smooth setup we have been working towards.
This script is simply my fork of Chris Toomey’s tat script straight out of his course. It helps us create or jump to project specific sessions with ease.
...
You’ve got some long running tasks, and you’re trying to stay productive and knock tasks off that board, but you keep finding that your processes finish and you stay on other tasks for longer than you should. You were in the flow and just did not check back in on it. With display-message you can send yourself a notification when that long running task is complete.
Here is a snippet of display-message from the tmux man page. I rarely need to do anything other than just display message, but there are other flags for it.
...
If you’re into interesting projects, don’t miss out on python_code_tips, created by heathdbrown.
No description available.
Now it’s time to switch gears, we are onto a different part of our day and there are just too many sessions running and we need to clean up shop.
One viable option is to nuke the whole dang thing. I actually do this more than you might think.
...
I see you there, trying to script out your tmux layouts. Tryig to get each project setup just perfect with a script, but you keep stumbling over yourself with duplicate session error messages
The has-session tmux command is a handy tool to prevent this duplicate session error message when scripting your tmux layouts.
...
I’m impressed by htmx from bigskysoftware.
Tmux list keys can be a useful tool to help remind you of what kebindings you have setup. You can search for them and scroll just like in tmux copy-mode.
You can call list-keys from the command line but the interface is not very usable by itself. It might be nice to mix with grep or a pager in some circumstances.
...
The tmux status bar can be a handy tool to remind yourself where you are within tmux. It can also include a bunch of system information like battery status, cpu, mem, whatever you can get from the command line. Honestly I like to keep it minimal, and actually keep it turned off most of the time. I find that it helps a little bit for others to follow along if I keep it on in certain circumstances.
You can set a hotkey to show or hide the status bar.
...
So you have been tricking out that .tmux.conf, you’re looking for a silky smooth workflow that lets you fly through tmux with super speed, but every time you tweak out that .tmux.conf you have to restart your whole session. Not amymore,
Let’s add this to the bottom of our tmux.conf so that you can see everytime it gets sourced.
...
Quickly getting between tmux splits is critical skill for productivity. You can get by with next or prev session for awhile, but if you have more than about three session you need something a bit more targeted.
I have used this fzf one keybinding for quite awhile, honestly I did not make it up, and cannot remember where it came from. It will open up a session picker in a new full screen window.
...
Now that we are splitting up work into their own sessions, lets talk about how to navigate between them without the command line. Navigating sessions is what kept me using a too many splits and windows workflow for far too long. It was rough, I was always tripping over panes and windows until I got too frustrated and just ran tmux kill-server to start on a new blank slate.
bind -n M-P switch-client -p bind -n M-N switch-client -n
Scripting tmux to open up specific applications can be intimidating your first time. It can be tricky to get it to start in the right directory. If you are trying to assign applictaions to a keybinding it can be easy to mess up and have weird things happen every time your ~/.tmux.conf gets sourced.
I used this one for a number of years to take a quick peek into my systems performance while a memory intensive task was running.
...