Code Editor Setup (Updated 2026)

Editor: Neovim

Currently I run a pretty standard setup with a few plugins for LSP, completion, and syntax highlighting. Neovim Config

Layout: TMUX

Eaglery awaiting Superlogical but for now I use tmux to launch all projects with this layout:

Screenshot of the Neovim and tmux editor setup, showing the file tree, editor, terminal, and AI agent panes side by side in one window

File tree, editor, terminal and AI agent all in one window.

AI Agent: Pi

Currently using Pi with a very basic setup leveraging the cheaper, and much faster models than the major providers. Flash models for grunt work, standard models for rubber-ducking, planning and implementations.

AI Agent: Claude

Currently using Claude for longer explorations and transient projects. Recently impressed with Claude’s assistence in building Blender add-ons in Python to assist authoring in a Blender to Godot pipeline.

Implementation

Nothing fancy here, just lets me run dev project to launch the editor.

#!/bin/bash
export PATH="/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"

PROJECT_DIR="$1"
# Strip . from project name if it starts with . (e.g., .config -> config)
SESSION_NAME="${2:-$(basename "$PROJECT_DIR" | sed 's/^\.//')}"

# Exit if session already exists
tmux has-session -t "$SESSION_NAME" 2>/dev/null && tmux attach -t "$SESSION_NAME" && exit 0

# Create new session (top-left pane: nvim)
tmux new-session -d -s "$SESSION_NAME" -c "$PROJECT_DIR"

# Split horizontally: right pane (opencode), 6% width, in same directory
tmux split-window -h -p 6 -t "$SESSION_NAME":1.1 -c "$PROJECT_DIR"

# Split vertically: bottom-left terminal (12 lines tall), in same directory
tmux select-pane -t "$SESSION_NAME":1.1
tmux split-window -v -l 12 -t "$SESSION_NAME":1.1 -c "$PROJECT_DIR"

# Send commands
tmux send-keys -t "$SESSION_NAME":1.1 "nvim ." C-m
 # bottom-left terminal
tmux send-keys -t "$SESSION_NAME":1.2 "zsh" C-m
# right pane
# tmux send-keys -t "$SESSION_NAME":1.3 "opencode" C-m
# tmux send-keys -t "$SESSION_NAME":1.3 "claude" C-m
tmux send-keys -t "$SESSION_NAME":1.3 "pi -c" C-m

# Attach
tmux attach -t "$SESSION_NAME"
typeset -A PROJECTS

PROJECTS=(
  nvim-config "$HOME/.config/nvim"
  pi-config "$HOME/.pi"
  tmux-config "$HOME/.local/bin"
  ...projects list
)

# Launcher
dev() {
  local key="$1"
  local path="${PROJECTS[$key]}"

  if [[ -z "$path" ]]; then
    echo "Unknown project: $key"
    echo "Available projects:"
    for k in ${(k)PROJECTS}; do
      echo "  $k"
    done
    return 1
  fi

  "$HOME/.local/bin/tmux-default-layout" "$path"
}

 

 

Next: Sanity GROQ vs GraphQL

?????Visit the meadow
????????Explore 5+ pages
??????Interact with one of our projects
?????Pet the dogs
?????????????Complete the flower
???????????Reach out!