<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<title>My Blog</title>
	<subtitle>My blog site.</subtitle>
	<link rel="self" type="application/atom+xml" href="https://zhengyulong.top/posts/feed.xml"/>
  <link rel="alternate" type="text/html" href="https://zhengyulong.top/posts/"/>
  
	<updated>2026-02-21T00:00:00+00:00</updated>
	
	<id>https://zhengyulong.top/posts/feed.xml</id>
	<entry xml:lang="en">
		<title>Neovim + Tmux + Claude Code: The Ultimate Vibecoding Trinity</title>
		<published>2026-02-21T00:00:00+00:00</published>
		<updated>2026-02-21T00:00:00+00:00</updated>
		<link rel="alternate" type="text/html" href="https://zhengyulong.top/posts/neovim/"/>
		<id>https://zhengyulong.top/posts/neovim/</id>
    
		<content type="html" xml:base="https://zhengyulong.top/posts/neovim/">&lt;p&gt;Neovim is a powerful and highly customizable text editor that has gained immense popularity among developers. When combined with Tmux, a terminal multiplexer, it creates an unbeatable duo for boosting productivity and streamlining your workflow. Add Claude Code into the mix, and you have the perfect trinity for modern vibecoding—an AI-assisted development workflow that keeps you in the flow while leveraging intelligent code generation and review.&lt;&#x2F;p&gt;
&lt;p&gt;In this post, I&#x27;ll share my experience using Neovim (with LazyVim distro), Tmux (with Oh My Tmux configuration), and Claude Code together, and how they have transformed the way I work.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;why-this-combo&quot;&gt;Why This Combo?&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-this-combo&quot; aria-label=&quot;Anchor link for: why-this-combo&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Before diving into the details, let&#x27;s talk about why this combination is so powerful:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Modal editing&lt;&#x2F;strong&gt; keeps your hands on the keyboard, eliminating context switching&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Terminal multiplexing&lt;&#x2F;strong&gt; lets you manage multiple sessions and panes effortlessly&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Extensibility&lt;&#x2F;strong&gt; through plugins and configurations tailored to your workflow&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;AI assistance&lt;&#x2F;strong&gt; right in your terminal with Claude Code for intelligent code generation, debugging, and review&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Vibecoding ready&lt;&#x2F;strong&gt;—the perfect environment for AI-assisted development that keeps you in flow&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;getting-started&quot;&gt;Getting Started&lt;a class=&quot;zola-anchor&quot; href=&quot;#getting-started&quot; aria-label=&quot;Anchor link for: getting-started&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;lazyvim-neovim-made-easy&quot;&gt;LazyVim: Neovim Made Easy&lt;a class=&quot;zola-anchor&quot; href=&quot;#lazyvim-neovim-made-easy&quot; aria-label=&quot;Anchor link for: lazyvim-neovim-made-easy&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.lazyvim.org&#x2F;&quot;&gt;LazyVim&lt;&#x2F;a&gt; is a Neovim configuration powered by the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;folke&#x2F;lazy.nvim&quot;&gt;lazy.nvim&lt;&#x2F;a&gt; plugin manager. It comes pre-configured with sensible defaults and popular plugins, so you can be productive right out of the box.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;installation&quot;&gt;Installation&lt;a class=&quot;zola-anchor&quot; href=&quot;#installation&quot; aria-label=&quot;Anchor link for: installation&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment&quot;&gt;#&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; Backup your existing Neovim config&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;mv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ~&#x2F;.config&#x2F;nvim&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ~&#x2F;.config&#x2F;nvim.bak&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment&quot;&gt;#&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; Clone LazyVim&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;git&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; clone&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; https:&#x2F;&#x2F;github.com&#x2F;LazyVim&#x2F;starter&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ~&#x2F;.config&#x2F;nvim&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;rm&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;rf&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ~&#x2F;.config&#x2F;nvim&#x2F;.git&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment&quot;&gt;#&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; Install plugins and start Neovim&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;nvim&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;essential-lazyvim-keybindings&quot;&gt;Essential LazyVim Keybindings&lt;a class=&quot;zola-anchor&quot; href=&quot;#essential-lazyvim-keybindings&quot; aria-label=&quot;Anchor link for: essential-lazyvim-keybindings&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Action&lt;&#x2F;th&gt;&lt;th&gt;Keybinding&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;File explorer&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; e&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Find files&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; ff&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Buffer list&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; bb&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Toggle terminal&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;C-&#x2F;&amp;gt;&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Code actions&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; ca&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Go to definition&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;gd&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;LSP hover&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;K&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Format document&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; cf&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;&lt;em&gt;Note: &lt;code&gt;&amp;lt;leader&amp;gt;&lt;&#x2F;code&gt; is Space by default in LazyVim.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;oh-my-tmux-tmux-configuration-made-simple&quot;&gt;Oh My Tmux: Tmux Configuration Made Simple&lt;a class=&quot;zola-anchor&quot; href=&quot;#oh-my-tmux-tmux-configuration-made-simple&quot; aria-label=&quot;Anchor link for: oh-my-tmux-tmux-configuration-made-simple&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;gpakosz&#x2F;.tmux&quot;&gt;Oh My Tmux&lt;&#x2F;a&gt; is a lightweight and elegant tmux configuration that provides sensible defaults and useful plugins out of the box.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;installation-1&quot;&gt;Installation&lt;a class=&quot;zola-anchor&quot; href=&quot;#installation-1&quot; aria-label=&quot;Anchor link for: installation-1&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support&quot;&gt;cd&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;git&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; clone&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; https:&#x2F;&#x2F;github.com&#x2F;gpakosz&#x2F;.tmux.git&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;ln&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;s&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;f&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; .tmux&#x2F;.tmux.conf&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;cp&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; .tmux&#x2F;.tmux.conf.local&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; .&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;essential-tmux-keybindings&quot;&gt;Essential Tmux Keybindings&lt;a class=&quot;zola-anchor&quot; href=&quot;#essential-tmux-keybindings&quot; aria-label=&quot;Anchor link for: essential-tmux-keybindings&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;p&gt;Oh My Tmux uses &lt;code&gt;Ctrl-a&lt;&#x2F;code&gt; as the prefix (instead of default &lt;code&gt;Ctrl-b&lt;&#x2F;code&gt;):&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Action&lt;&#x2F;th&gt;&lt;th&gt;Keybinding&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Create new window&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + c&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Switch windows&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + 0-9&lt;&#x2F;code&gt; or &lt;code&gt;&amp;lt;prefix&amp;gt; C-h&lt;&#x2F;code&gt; and &lt;code&gt;&amp;lt;prefix&amp;gt; C-l&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Switch to the last active winwon&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;prefix&amp;gt; Tab&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Split horizontal&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + &quot;&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Split vertical&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + %&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Navigate panes&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + hjkl&lt;&#x2F;code&gt; or &lt;code&gt;Prefix + arrow keys&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Zoom pane&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + z&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Resize panes&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + Alt + hjkl&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Toggle mouse&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Prefix + m&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;the-perfect-workflow-vibecoding&quot;&gt;The Perfect Workflow: Vibecoding&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-perfect-workflow-vibecoding&quot; aria-label=&quot;Anchor link for: the-perfect-workflow-vibecoding&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;This is where the magic happens. Combining Neovim and Tmux creates an ideal environment for AI-assisted coding (what we call &quot;vibecoding&quot;). Here&#x27;s my typical workflow:&lt;&#x2F;p&gt;
&lt;h3 id=&quot;session-layout&quot;&gt;Session Layout&lt;a class=&quot;zola-anchor&quot; href=&quot;#session-layout&quot; aria-label=&quot;Anchor link for: session-layout&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;┌─────────────────────────────────────────┐&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  Neovim (coding area)                   │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - Main file editing                    │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - LSP diagnostics                      │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - Code completion                      │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├─────────────────────────────────────────┤&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  Terminal 1: AI Assistant               │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - Claude Code &#x2F; Cursor AI              │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - Code review conversations            │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├─────────────────────────────────────────┤&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  Terminal 2: Run&#x2F;Debug                  │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - Run tests                            │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - Preview changes                      │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  - Git operations                       │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└─────────────────────────────────────────┘&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;vibecoding-tips&quot;&gt;Vibecoding Tips&lt;a class=&quot;zola-anchor&quot; href=&quot;#vibecoding-tips&quot; aria-label=&quot;Anchor link for: vibecoding-tips&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Keep context visible&lt;&#x2F;strong&gt;: With Tmux panes, you can see AI responses while editing code&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Quick navigation&lt;&#x2F;strong&gt;: Use Tmux pane switching (&lt;code&gt;Prefix + hjkl&lt;&#x2F;code&gt;) combined with Neovim window navigation&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Leverage LazyVim&#x27;s LSP&lt;&#x2F;strong&gt;: Get real-time feedback while AI suggests changes&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Terminal in Neovim&lt;&#x2F;strong&gt;: Use &lt;code&gt;&amp;lt;C-&#x2F;&amp;gt;&lt;&#x2F;code&gt; to toggle a terminal inside Neovim when needed&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Copy&#x2F;paste seamlessly&lt;&#x2F;strong&gt;: Both tools work great with system clipboard&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;neovim-tmux-claude-code-the-trinity&quot;&gt;Neovim + Tmux + Claude Code: The Trinity&lt;a class=&quot;zola-anchor&quot; href=&quot;#neovim-tmux-claude-code-the-trinity&quot; aria-label=&quot;Anchor link for: neovim-tmux-claude-code-the-trinity&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Now let&#x27;s dive deeper into how these three tools work together seamlessly. Claude Code is Anthropic&#x27;s official CLI for Claude—a powerful AI coding assistant that integrates perfectly with a terminal-based workflow.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;claude-code-essential-commands&quot;&gt;Claude Code Essential Commands&lt;a class=&quot;zola-anchor&quot; href=&quot;#claude-code-essential-commands&quot; aria-label=&quot;Anchor link for: claude-code-essential-commands&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Command&lt;&#x2F;th&gt;&lt;th&gt;Description&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;&#x2F;help&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Get help with using Claude Code&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;&#x2F;clear&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Clear the conversation context&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;&#x2F;fast&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Toggle fast mode for quicker responses&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;&#x2F;commit&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Create a git commit with AI assistance&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;&#x2F;review&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Review code changes&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;&#x2F;tasks&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;List current tasks in the project&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;keyboard-shortcuts-reference&quot;&gt;Keyboard Shortcuts Reference&lt;a class=&quot;zola-anchor&quot; href=&quot;#keyboard-shortcuts-reference&quot; aria-label=&quot;Anchor link for: keyboard-shortcuts-reference&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;claude-code-input-shortcuts&quot;&gt;Claude Code Input Shortcuts&lt;a class=&quot;zola-anchor&quot; href=&quot;#claude-code-input-shortcuts&quot; aria-label=&quot;Anchor link for: claude-code-input-shortcuts&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Action&lt;&#x2F;th&gt;&lt;th&gt;Shortcut&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;New line (send)&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Enter&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;New line (no send)&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Alt + Enter&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Navigate history&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Up&#x2F;Down arrows&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Edit in Editor&lt;&#x2F;td&gt;&lt;td&gt;Ctrl + g&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.zhengyulong.top&#x2F;2026&#x2F;02&#x2F;20260221211208993.png&quot; alt=&quot;Claude Code shortcut&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;tmux-pane-navigation-oh-my-tmux&quot;&gt;Tmux Pane Navigation (Oh My Tmux)&lt;a class=&quot;zola-anchor&quot; href=&quot;#tmux-pane-navigation-oh-my-tmux&quot; aria-label=&quot;Anchor link for: tmux-pane-navigation-oh-my-tmux&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Action&lt;&#x2F;th&gt;&lt;th&gt;Shortcut&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Switch to pane&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Ctrl-a + hjkl&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Switch to pane&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Ctrl-a + arrow keys&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Switch to previous pane&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Ctrl-a + ;&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Show pane numbers&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Ctrl-a + q&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h4 id=&quot;lazyvim-window-navigation&quot;&gt;LazyVim Window Navigation&lt;a class=&quot;zola-anchor&quot; href=&quot;#lazyvim-window-navigation&quot; aria-label=&quot;Anchor link for: lazyvim-window-navigation&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Action&lt;&#x2F;th&gt;&lt;th&gt;Shortcut&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Split window horizontally&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; -&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Split window vertically&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; |&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Navigate windows&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;Ctrl-hjkl&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Close window&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt; wd&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;real-world-vibecoding-workflow&quot;&gt;Real-World Vibecoding Workflow&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-world-vibecoding-workflow&quot; aria-label=&quot;Anchor link for: real-world-vibecoding-workflow&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Here&#x27;s how I use these three tools together in a typical coding session:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;┌─────────────────────────────────────────────────────┐&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  Tmux Window 1: Neovim (Ctrl-a + 1)                  │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  ┌─────────────────┬─────────────────┐              │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  │ Code Window     │ Test&#x2F;Doc Window │              │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  │ (main editing)  │ (reference)     │              │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  └─────────────────┴─────────────────┘              │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├─────────────────────────────────────────────────────┤&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  Tmux Window 2: Claude Code (Ctrl-a + 2)            │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  &amp;gt; &amp;quot;Add error handling to the parse function&amp;quot;       │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│                                                     │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├─────────────────────────────────────────────────────┤&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  Tmux Window 3: Run&#x2F;Test (Ctrl-a + 3)               │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│  $ npm test                                         │&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└─────────────────────────────────────────────────────┘&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;step-by-step-example&quot;&gt;Step-by-Step Example&lt;a class=&quot;zola-anchor&quot; href=&quot;#step-by-step-example&quot; aria-label=&quot;Anchor link for: step-by-step-example&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Start the session&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;tmux&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; new-session&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;s&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; project&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Window 1 - Neovim&lt;&#x2F;strong&gt;: Start editing your code&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Ctrl-a c  # Create new window&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;nvim src&#x2F;main.ts&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Window 2 - Claude Code&lt;&#x2F;strong&gt;: Set up AI assistant&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Ctrl-a c  # Create new window&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cd &#x2F;path&#x2F;to&#x2F;project&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;claude-code&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Window 3 - Tests&lt;&#x2F;strong&gt;: Run tests continuously&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Ctrl-a c  # Create new window&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;npm test -- --watch&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Quick navigation while coding&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Edit in Neovim → &lt;code&gt;Ctrl-a 1&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Ask Claude for help → &lt;code&gt;Ctrl-a 2&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Check test results → &lt;code&gt;Ctrl-a 3&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;pro-tips-for-the-trinity&quot;&gt;Pro Tips for the Trinity&lt;a class=&quot;zola-anchor&quot; href=&quot;#pro-tips-for-the-trinity&quot; aria-label=&quot;Anchor link for: pro-tips-for-the-trinity&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;1-copy-code-from-claude-code&quot;&gt;1. Copy Code from Claude Code&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-copy-code-from-claude-code&quot; aria-label=&quot;Anchor link for: 1-copy-code-from-claude-code&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;p&gt;When Claude generates code, copy it directly to Neovim:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# In Claude Code pane, select and copy (using tmux mouse mode)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# Then in Neovim, use:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;+p  # Paste from system clipboard&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;2-read-error-messages-to-claude&quot;&gt;2. Read Error Messages to Claude&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-read-error-messages-to-claude&quot; aria-label=&quot;Anchor link for: 2-read-error-messages-to-claude&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;p&gt;When you encounter errors:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# In Claude Code:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;I&amp;#39;m getting this error:&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Ctrl-a 3  # Switch to test window&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# Copy error output&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Ctrl-a 2  # Switch back to Claude&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Ctrl-shift-v    # Paste the error&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;3-use-neovim-s-terminal-for-quick-commands&quot;&gt;3. Use Neovim&#x27;s Terminal for Quick Commands&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-use-neovim-s-terminal-for-quick-commands&quot; aria-label=&quot;Anchor link for: 3-use-neovim-s-terminal-for-quick-commands&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;p&gt;Sometimes it&#x27;s faster to use Neovim&#x27;s built-in terminal:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;C-&#x2F;&amp;gt;  # Toggle terminal in Neovim&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# Run quick commands without leaving Neovim&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;common-vibecoding-scenarios&quot;&gt;Common Vibecoding Scenarios&lt;a class=&quot;zola-anchor&quot; href=&quot;#common-vibecoding-scenarios&quot; aria-label=&quot;Anchor link for: common-vibecoding-scenarios&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;scenario-1-implementing-a-new-feature&quot;&gt;Scenario 1: Implementing a New Feature&lt;a class=&quot;zola-anchor&quot; href=&quot;#scenario-1-implementing-a-new-feature&quot; aria-label=&quot;Anchor link for: scenario-1-implementing-a-new-feature&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;You: &amp;quot;I need to add user authentication&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Claude: &amp;quot;Here&amp;#39;s a plan...&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[You switch to Neovim: Ctrl-a 1]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[Edit files based on plan]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[You switch back to Claude: Ctrl-a 2]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;You: &amp;quot;I&amp;#39;ve added the auth middleware, can you review?&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Claude: [Provides feedback]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[You iterate between the two]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;scenario-2-debugging-with-ai&quot;&gt;Scenario 2: Debugging with AI&lt;a class=&quot;zola-anchor&quot; href=&quot;#scenario-2-debugging-with-ai&quot; aria-label=&quot;Anchor link for: scenario-2-debugging-with-ai&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[In Neovim: Ctrl-a 1]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[You see an error in your code]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[Switch to Claude: Ctrl-a 2]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;You: &amp;quot;Getting &amp;#39;undefined is not a function&amp;#39; at line 42&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Claude: [Explains the issue]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[You fix it in Neovim: Ctrl-a 1]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[Run tests: Ctrl-a 3]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;scenario-3-code-review&quot;&gt;Scenario 3: Code Review&lt;a class=&quot;zola-anchor&quot; href=&quot;#scenario-3-code-review&quot; aria-label=&quot;Anchor link for: scenario-3-code-review&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;You: [Paste code snippet from Neovim]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;Can you refactor this for readability?&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Claude: [Suggests improvements]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[You apply changes in Neovim]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;pro-tips&quot;&gt;Pro Tips&lt;a class=&quot;zola-anchor&quot; href=&quot;#pro-tips&quot; aria-label=&quot;Anchor link for: pro-tips&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;1-sync-clipboard-between-tmux-and-neovim&quot;&gt;1. Sync Clipboard Between Tmux and Neovim&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-sync-clipboard-between-tmux-and-neovim&quot; aria-label=&quot;Anchor link for: 1-sync-clipboard-between-tmux-and-neovim&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Add to your &lt;code&gt;~&#x2F;.tmux.conf.local&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;set -g set-clipboard on&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;LazyVim handles system clipboard integration by default—just use &lt;code&gt;&quot;+y&lt;&#x2F;code&gt; to yank to system clipboard.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;2-sensible-pane-sizing&quot;&gt;2. Sensible Pane Sizing&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-sensible-pane-sizing&quot; aria-label=&quot;Anchor link for: 2-sensible-pane-sizing&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Create a &lt;code&gt;.tmux.conf.local&lt;&#x2F;code&gt; alias for quick splits:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;alias&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tsplit&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;tmux split-window -v -p 30&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;alias&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; vsplit&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;tmux split-window -h -p 50&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;3-persist-sessions&quot;&gt;3. Persist Sessions&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-persist-sessions&quot; aria-label=&quot;Anchor link for: 3-persist-sessions&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;LazyVim uses &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;stevearc&#x2F;resession.nvim&quot;&gt;resession.nvim&lt;&#x2F;a&gt; to save your session:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;viml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;:Resession save&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;:Resession load&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;For Tmux, use &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tmux-plugins&#x2F;tmux-resurrect&quot;&gt;tmux-resurrect&lt;&#x2F;a&gt; (included in Oh My Tmux):&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Prefix + Ctrl-s  # Save&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Prefix + Ctrl-r  # Restore&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;4-custom-lazyvim-plugins&quot;&gt;4. Custom LazyVim Plugins&lt;a class=&quot;zola-anchor&quot; href=&quot;#4-custom-lazyvim-plugins&quot; aria-label=&quot;Anchor link for: 4-custom-lazyvim-plugins&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Add your custom plugins to &lt;code&gt;~&#x2F;.config&#x2F;nvim&#x2F;lua&#x2F;plugins&#x2F;&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;lua&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment&quot;&gt;--&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; ~&#x2F;.config&#x2F;nvim&#x2F;lua&#x2F;plugins&#x2F;custom.lua&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;return&lt;&#x2F;span&gt;&lt;span&gt; {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment&quot;&gt;  --&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; Your custom plugins here&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;a class=&quot;zola-anchor&quot; href=&quot;#conclusion&quot; aria-label=&quot;Anchor link for: conclusion&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Neovim with LazyVim, Tmux with Oh My Tmux, and Claude Code create the ultimate trinity for modern vibecoding workflows. This combination keeps you in the flow state while leveraging AI assistance effectively—without ever leaving your terminal.&lt;&#x2F;p&gt;
&lt;p&gt;The key to mastering this setup is not memorizing every shortcut, but building muscle memory for the essentials:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Navigation&lt;&#x2F;strong&gt;: &lt;code&gt;Ctrl-a + hjkl&lt;&#x2F;code&gt; for Tmux, &lt;code&gt;Ctrl-hjkl&lt;&#x2F;code&gt; for Neovim windows&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Claude Code&lt;&#x2F;strong&gt;: &lt;code&gt;Shift + Enter&lt;&#x2F;code&gt; for multi-line input, &lt;code&gt;&#x2F;help&lt;&#x2F;code&gt; when you&#x27;re stuck&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Session management&lt;&#x2F;strong&gt;: Save your Tmux sessions and Neovim sessions for quick Restore.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The learning curve might seem steep, but the productivity gains are worth it. Start with the basics—master the essential keybindings, set up your preferred session layout using the &lt;code&gt;vibecode&lt;&#x2F;code&gt; script, and gradually incorporate more advanced features into your workflow.&lt;&#x2F;p&gt;
&lt;p&gt;Happy coding, and may your vibes be excellent! 🚀&lt;&#x2F;p&gt;
</content>
	</entry>
	<entry xml:lang="en">
		<title>Cloudflare Full Stack for Vibe Coders: AI Writes Your Code, What&#x27;s Next?</title>
		<published>2026-02-13T00:00:00+00:00</published>
		<updated>2026-02-13T00:00:00+00:00</updated>
		<link rel="alternate" type="text/html" href="https://zhengyulong.top/posts/cloudflare/"/>
		<id>https://zhengyulong.top/posts/cloudflare/</id>
    
		<content type="html" xml:base="https://zhengyulong.top/posts/cloudflare/">&lt;h2 id=&quot;preface&quot;&gt;Preface&lt;a class=&quot;zola-anchor&quot; href=&quot;#preface&quot; aria-label=&quot;Anchor link for: preface&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The era of AI-powered code generation is already here. ChatGPT, Claude, Cursor... Just describe your requirements in natural language, and in minutes you&#x27;ll have a complete application. But what comes next? Your code is ready, but how do you make it accessible to the world?&lt;&#x2F;p&gt;
&lt;p&gt;Traditionally, the answer meant: rent servers, configure domains, set up SSL certificates, learn Docker, master Linux... These hurdles alone discourage 90% of non-technical entrepreneurs.&lt;&#x2F;p&gt;
&lt;p&gt;Today, there&#x27;s a better answer: &lt;strong&gt;Cloudflare Full Stack&lt;&#x2F;strong&gt;. Free to start, all-in-one solution, zero DevOps knowledge required.&lt;&#x2F;p&gt;
&lt;p&gt;Cloudflare is the world&#x27;s largest CDN and network security company, offering a powerful yet simple toolkit that helps developers deploy and operate web applications at scale.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;understanding-a-website-through-a-restaurant-metaphor&quot;&gt;Understanding a Website Through a Restaurant Metaphor&lt;a class=&quot;zola-anchor&quot; href=&quot;#understanding-a-website-through-a-restaurant-metaphor&quot; aria-label=&quot;Anchor link for: understanding-a-website-through-a-restaurant-metaphor&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;No technical jargon needed. Imagine opening a restaurant:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Storefront (what customers see)&lt;&#x2F;strong&gt; = Your website interface—buttons, images, text. Cloudflare Pages handles this.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Kitchen (where orders are prepared)&lt;&#x2F;strong&gt; = Your business logic—when a user clicks &quot;Sign Up,&quot; the system creates their account. Cloudflare Workers handles this.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Storage &amp;amp; Freezer (ingredients and supplies)&lt;&#x2F;strong&gt; = Your data—user profiles, images, order history. Cloudflare D1, R2, and KV handle this.&lt;&#x2F;p&gt;
&lt;p&gt;When a user accesses your application, here&#x27;s what happens behind the scenes:&lt;&#x2F;p&gt;
&lt;p&gt;User opens app → &lt;strong&gt;Pages&lt;&#x2F;strong&gt; (storefront) displays the beautiful interface → User clicks a button → &lt;strong&gt;Workers&lt;&#x2F;strong&gt; (kitchen) receives and processes the request → &lt;strong&gt;D1&#x2F;R2&#x2F;KV&lt;&#x2F;strong&gt; (storage) saves the data → Results returned&lt;&#x2F;p&gt;
&lt;p&gt;Simple as that. Three layers, entirely covered by Cloudflare.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;cloudflare-s-storage-solutions&quot;&gt;Cloudflare&#x27;s Storage Solutions&lt;a class=&quot;zola-anchor&quot; href=&quot;#cloudflare-s-storage-solutions&quot; aria-label=&quot;Anchor link for: cloudflare-s-storage-solutions&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Three storage options that sound complex but are beautifully simple:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;D1 = Super-powered spreadsheet.&lt;&#x2F;strong&gt; Store structured data like user accounts, orders, and articles. Search, filter, and sort with ease. Free: 5GB.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;R2 = Your application&#x27;s cloud drive.&lt;&#x2F;strong&gt; Store images, videos, PDFs, any file. The standout feature? &lt;strong&gt;Free egress bandwidth&lt;&#x2F;strong&gt; (competitors charge for this). Free: 10GB.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;KV = Sticky notes wall.&lt;&#x2F;strong&gt; Store simple key-value data like site configs, caches, and login sessions. Globally distributed with lightning-fast reads. Free: 1GB.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cloudflare-pricing&quot;&gt;Cloudflare Pricing&lt;a class=&quot;zola-anchor&quot; href=&quot;#cloudflare-pricing&quot; aria-label=&quot;Anchor link for: cloudflare-pricing&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.zhengyulong.top&#x2F;2026&#x2F;02&#x2F;20260221003102537.png&quot; alt=&quot;pricing&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Pages is &lt;strong&gt;completely free&lt;&#x2F;strong&gt; with no credit card required and packed with features—perfect for most applications. R2 requires &lt;strong&gt;binding a payment method&lt;&#x2F;strong&gt; (PayPal or debit card works globally) but charges nothing for free-tier usage. Great for storing user-uploaded images and static assets. This blog uses Pages for hosting with images stored on R2.&lt;&#x2F;p&gt;
&lt;p&gt;Workers and D1 also offer generous free quotas—more than enough for small to medium projects.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-vibe-coder-workflow-from-idea-to-live-in-4-steps&quot;&gt;The Vibe Coder Workflow: From Idea to Live in 4 Steps&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-vibe-coder-workflow-from-idea-to-live-in-4-steps&quot; aria-label=&quot;Anchor link for: the-vibe-coder-workflow-from-idea-to-live-in-4-steps&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;As a Vibe Coder, your entire workflow compresses to:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Step 1: Tell AI what you want&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Open Cursor, Claude, or ChatGPT and describe in natural language:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;Build me a todo app with add, complete, and delete features using Cloudflare Workers + D1 database&quot;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Step 2: AI generates complete code&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;AI produces the frontend UI, backend logic, and database configuration—everything.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Step 3: Push to GitHub, automatic deployment&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Push your code to GitHub. Cloudflare automatically builds and deploys. Within minutes, your app runs across 300+ cities globally.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Step 4: Iterate&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Want to change something? Tell AI → update code → push to GitHub → automatic updates.&lt;&#x2F;p&gt;
&lt;p&gt;Throughout this process, you never need to learn:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Server management&lt;&#x2F;li&gt;
&lt;li&gt;Docker containers&lt;&#x2F;li&gt;
&lt;li&gt;Nginx configuration&lt;&#x2F;li&gt;
&lt;li&gt;SSL certificates&lt;&#x2F;li&gt;
&lt;li&gt;CI&#x2F;CD pipelines&lt;&#x2F;li&gt;
&lt;li&gt;Linux commands&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Cloudflare handles all of it automatically.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;recommended-tech-stack&quot;&gt;Recommended Tech Stack&lt;a class=&quot;zola-anchor&quot; href=&quot;#recommended-tech-stack&quot; aria-label=&quot;Anchor link for: recommended-tech-stack&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.zhengyulong.top&#x2F;2026&#x2F;02&#x2F;20260221003651390.png&quot; alt=&quot;stack&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;a class=&quot;zola-anchor&quot; href=&quot;#conclusion&quot; aria-label=&quot;Anchor link for: conclusion&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Cloudflare Full Stack is a game-changer for Vibe Coders. It eliminates the traditional barriers of web development, allowing you to focus on building your vision while Cloudflare takes care of the rest. Whether you&#x27;re creating a simple blog or a complex web application, Cloudflare&#x27;s powerful yet user-friendly platform has you covered.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;references&quot;&gt;References&lt;a class=&quot;zola-anchor&quot; href=&quot;#references&quot; aria-label=&quot;Anchor link for: references&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;linux.do&#x2F;t&#x2F;topic&#x2F;193442&quot;&gt;Cloudflare R2 + PicGo 免费图床教程&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;x.com&#x2F;EuSiir&#x2F;status&#x2F;2024808924642476503&quot;&gt;给 Vibe Coder 的 Cloudflare 101：AI 帮你写完代码，下一步该做什么？&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
	</entry>
	<entry xml:lang="en">
		<title>A Two-Day Journey Through Guangzhou: Culture, History, and Nightlife</title>
		<published>2026-02-09T00:00:00+00:00</published>
		<updated>2026-02-09T00:00:00+00:00</updated>
		<link rel="alternate" type="text/html" href="https://zhengyulong.top/posts/two-days-of-guangzhou-travel/"/>
		<id>https://zhengyulong.top/posts/two-days-of-guangzhou-travel/</id>
    
		<content type="html" xml:base="https://zhengyulong.top/posts/two-days-of-guangzhou-travel/">&lt;p&gt;Last weekend, I embarked on an exciting two-day adventure in Guangzhou, one of China&#x27;s most vibrant and historically rich cities. This trip was a perfect blend of traditional culture, modern city life, and fascinating history that left me with unforgettable memories.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;day-1-flowers-ancient-streets-and-river-lights&quot;&gt;Day 1: Flowers, Ancient Streets, and River Lights&lt;a class=&quot;zola-anchor&quot; href=&quot;#day-1-flowers-ancient-streets-and-river-lights&quot; aria-label=&quot;Anchor link for: day-1-flowers-ancient-streets-and-river-lights&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;yuexiu-flower-market-yue-xiu-hua-shi&quot;&gt;Yuexiu Flower Market (越秀花市)&lt;a class=&quot;zola-anchor&quot; href=&quot;#yuexiu-flower-market-yue-xiu-hua-shi&quot; aria-label=&quot;Anchor link for: yuexiu-flower-market-yue-xiu-hua-shi&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;My journey began at the famous Yuexiu Flower Market, a true feast for the senses! As soon as I stepped into the market, I was greeted by an explosion of colors and fragrances. The market was bustling with locals and tourists alike, all drawn to the incredible variety of flowers, from delicate orchids to vibrant chrysanthemums.&lt;&#x2F;p&gt;
&lt;p&gt;The market wasn&#x27;t just about flowers – it was a cultural experience in itself. Traditional Chinese decorations, lucky bamboo plants, and various auspicious ornaments filled every corner. The atmosphere was electric with the sounds of bargaining and the friendly chatter of vendors sharing stories about their beautiful blooms. I spent hours wandering through the market, captivated by the artistry and tradition that permeated every display.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;beijing-road-pedestrian-street-bei-jing-lu-bu-xing-jie&quot;&gt;Beijing Road Pedestrian Street (北京路步行街)&lt;a class=&quot;zola-anchor&quot; href=&quot;#beijing-road-pedestrian-street-bei-jing-lu-bu-xing-jie&quot; aria-label=&quot;Anchor link for: beijing-road-pedestrian-street-bei-jing-lu-bu-xing-jie&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;From the traditional flower market, I made my way to Beijing Road Pedestrian Street, where ancient history meets modern commerce. This iconic street is fascinating because it features exposed archaeological remains of ancient roadways from different dynasties, visible through glass panels on the ground.&lt;&#x2F;p&gt;
&lt;p&gt;Walking along Beijing Road, I was struck by the unique juxtaposition of old and new. Traditional Cantonese architecture stood alongside modern storefronts, while street vendors sold authentic local snacks like rice noodles and dim sum. I couldn&#x27;t resist trying some of the famous local delicacies – the flavors were absolutely incredible and unlike anything I&#x27;ve tasted before.&lt;&#x2F;p&gt;
&lt;p&gt;The street was alive with energy, filled with shoppers, street performers, and the aroma of delicious food wafting from every corner. It was the perfect place to soak in the local culture and experience the pulse of modern Guangzhou.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;pearl-river-night-cruise-zhu-jiang-ye-you&quot;&gt;Pearl River Night Cruise (珠江夜游)&lt;a class=&quot;zola-anchor&quot; href=&quot;#pearl-river-night-cruise-zhu-jiang-ye-you&quot; aria-label=&quot;Anchor link for: pearl-river-night-cruise-zhu-jiang-ye-you&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;As evening approached, I headed to the Pearl River for what would be the highlight of my first day – the night cruise. Boarding the boat, I was excited to see the city transform as the sun set.&lt;&#x2F;p&gt;
&lt;p&gt;The cruise was absolutely magical! As we sailed along the Pearl River, the city skyline lit up with dazzling lights. The famous Canton Tower stood tall, its LED displays creating a stunning centerpiece for the view. The reflections of countless skyscrapers dancing on the water created a mesmerizing spectacle.&lt;&#x2F;p&gt;
&lt;p&gt;The cool evening breeze, the gentle motion of the boat, and the breathtaking views made for a truly romantic and peaceful experience. It was the perfect way to end an action-packed day, offering a moment of reflection while surrounded by the beauty of modern Guangzhou.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;day-2-uncovering-ancient-history&quot;&gt;Day 2: Uncovering Ancient History&lt;a class=&quot;zola-anchor&quot; href=&quot;#day-2-uncovering-ancient-history&quot; aria-label=&quot;Anchor link for: day-2-uncovering-ancient-history&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;museum-of-the-mausoleum-of-the-nanyue-king-nan-yue-wang-bo-wu-guan&quot;&gt;Museum of the Mausoleum of the Nanyue King (南越王博物馆)&lt;a class=&quot;zola-anchor&quot; href=&quot;#museum-of-the-mausoleum-of-the-nanyue-king-nan-yue-wang-bo-wu-guan&quot; aria-label=&quot;Anchor link for: museum-of-the-mausoleum-of-the-nanyue-king-nan-yue-wang-bo-wu-guan&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;On my second day, I delved deep into Guangzhou&#x27;s rich history at the Museum of the Mausoleum of the Nanyue King. This fascinating museum is built on the actual site of Zhao Mo&#x27;s tomb, the second ruler of the Nanyue Kingdom, dating back over 2,000 years.&lt;&#x2F;p&gt;
&lt;p&gt;The museum is an archaeological treasure trove. Walking through the actual burial chambers was a surreal experience – it felt like stepping back in time. The museum houses an incredible collection of artifacts, including exquisite jade burial suits, gold ornaments, bronze vessels, and ancient musical instruments.&lt;&#x2F;p&gt;
&lt;p&gt;What struck me most was the advanced craftsmanship and sophistication of this ancient civilization. The jade burial suit, made from thousands of jade pieces sewn together with silk thread, was particularly impressive and demonstrated the immense wealth and power of the Nanyue rulers.&lt;&#x2F;p&gt;
&lt;p&gt;The museum&#x27;s excellent displays and informative plaques helped me understand the historical significance of each artifact. I learned about the unique blend of Chinese and local cultures that characterized the Nanyue Kingdom, and how it influenced the development of Guangzhou into the cosmopolitan city it is today.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reflections-and-final-thoughts&quot;&gt;Reflections and Final Thoughts&lt;a class=&quot;zola-anchor&quot; href=&quot;#reflections-and-final-thoughts&quot; aria-label=&quot;Anchor link for: reflections-and-final-thoughts&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;This two-day trip to Guangzhou exceeded all my expectations. The city offers a perfect balance of traditional Chinese culture and modern urban sophistication. From the vibrant flower markets and bustling pedestrian streets to the peaceful river cruises and fascinating historical sites, every moment was filled with discovery and wonder.&lt;&#x2F;p&gt;
&lt;p&gt;What impressed me most was how seamlessly Guangzhou weaves its rich history into the fabric of modern life. The ancient roadways visible on Beijing Road, the 2,000-year-old tomb right in the city center, and the traditional practices still alive in markets – all serve as reminders of the city&#x27;s deep cultural roots.&lt;&#x2F;p&gt;
&lt;p&gt;The food was another highlight of the trip. Cantonese cuisine truly lives up to its reputation, with its emphasis on fresh ingredients and delicate flavors. Every meal was a culinary adventure, from street food snacks to restaurant dishes.&lt;&#x2F;p&gt;
&lt;p&gt;I left Guangzhou with not just photos and souvenirs, but with a deeper appreciation for Chinese history and culture. The city&#x27;s ability to preserve its heritage while embracing modernity is truly inspiring.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m already planning my return trip to explore more of what this incredible city has to offer. If you ever get the chance to visit Guangzhou, I highly recommend taking at least a few days to truly experience everything this amazing city has to offer.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;travel-tips&quot;&gt;Travel Tips&lt;a class=&quot;zola-anchor&quot; href=&quot;#travel-tips&quot; aria-label=&quot;Anchor link for: travel-tips&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best time to visit:&lt;&#x2F;strong&gt; Spring (March-May) and autumn (October-November) offer pleasant weather&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transportation:&lt;&#x2F;strong&gt; Guangzhou has an excellent metro system that connects most tourist attractions&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Language:&lt;&#x2F;strong&gt; Basic Mandarin phrases are helpful, but many tourist areas have English signage&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Food:&lt;&#x2F;strong&gt; Don&#x27;t hesitate to try street food – it&#x27;s safe, delicious, and authentic&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Photography:&lt;&#x2F;strong&gt; Golden hour around sunrise and sunset provides the best lighting for city shots&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
	</entry>
	<entry xml:lang="en">
		<title>My first post</title>
		<published>2019-11-27T00:00:00+00:00</published>
		<updated>2019-11-27T00:00:00+00:00</updated>
		<link rel="alternate" type="text/html" href="https://zhengyulong.top/posts/first/"/>
		<id>https://zhengyulong.top/posts/first/</id>
    
		<content type="html" xml:base="https://zhengyulong.top/posts/first/">&lt;p&gt;This is my first blog post.
I used the zola static site generator to create this blog. Zola is a great tool for creating static websites, and it&#x27;s very easy to use. I highly recommend it to anyone who wants to create a blog or a website.&lt;&#x2F;p&gt;
&lt;p&gt;What&#x27;s more, Zola is written entirely in &lt;strong&gt;Rust&lt;&#x2F;strong&gt;, which gives it several significant advantages:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Performance&lt;&#x2F;strong&gt;: Zola compiles to a single binary with excellent performance, making site generation lightning-fast&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;No dependencies&lt;&#x2F;strong&gt;: Thanks to Rust&#x27;s package management, Zola requires no external dependencies like Python or Node.js&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Safety&lt;&#x2F;strong&gt;: Rust&#x27;s memory safety guarantees ensure stable and reliable operation&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Portability&lt;&#x2F;strong&gt;: A single binary works across platforms without complex installation&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Rust&#x27;s modern systems programming language enables Zola to deliver a superior static site generation experience. The combination of Rust&#x27;s performance and Zola&#x27;s user-friendly design makes it an ideal choice for bloggers and developers alike.&lt;&#x2F;p&gt;
</content>
	</entry>
</feed>
