惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
G
Google Developers Blog
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
J
Java Code Geeks
U
Unit 42
云风的 BLOG
云风的 BLOG
阮一峰的网络日志
阮一峰的网络日志
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Docker
V
Visual Studio Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
V
V2EX
T
Tailwind CSS Blog

Hacker News: Front Page

SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Virginia Bans Sale of Geolocation Data Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Ancient DNA reveals pervasive directional selection across West Eurasia [pdf] AI cybersecurity is not proof of work Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. A Better Ludum Dare; Or, How to Ruin a Legacy GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent
GitHub - duguyue100/midnight-captain: Inspired by Midnigh...
2026-04-11 · via Hacker News: Front Page
Gemini_Generated_Image_618bk5618bk5618b

Preamble

Midnight Commander has always been my favorite terminal file manager. It's feature-rich, fast, and actually tries to be a file manager compared to modern alternatives. However, there are quite some features that I never used, and I couldn't configure a Vim bindings that works well for me.

With OpenCode, I can finally make my own terminal file manager. I borrowed the main design concepts from Midnight Commander and some behavior from NVim-Tree file explorer.

I hope you would like it, at least I do. Since this project is entirely vibe-coded, so I'm not going to accept PR from the community, but feel free to open issues and fork it.

Features

  • Dual pane — navigate two directories side by side, copy/move between them
  • Tree expand — expand/collapse directories inline with l/h, nerd font icons
  • Vim keybindingsj/k/h/l, g/G, ctrl+f/ctrl+u
  • Visual selection — select ranges with V, operate on multiple files at once
  • File operations — copy, cut, paste, delete (with confirmation), rename
  • Smart createa creates a file or directory (trailing / = dir, nested paths supported)
  • Fuzzy searchspace opens fuzzy search in current dir; :find searches recursively
  • Command palette: opens a command prompt for power-user actions
  • Goto:goto <path> with live directory listing, tab-complete, and ~ expansion
  • SSH — browse and operate on remote servers over SFTP via :ssh user@host
  • Nerd font icons — file type icons, open/closed folder glyphs
  • TokyoNight theme — easy on the eyes

Screenshot

image

Requirements

  • A terminal with Nerd Fonts support (recommended: JetBrainsMono Nerd Font, FiraCode Nerd Font)
  • macOS or Linux

Installation

One-liner (macOS and Linux)

curl -fsSL https://raw.githubusercontent.com/duguyue100/midnight-captain/main/install.sh | bash

Downloads the correct pre-built binary for your OS and architecture from the latest GitHub Release and places it at ~/.local/bin/mc. If ~/.local/bin is not in your $PATH, the installer will tell you what to add.

Build from source (local)

Requires Go 1.22+.

git clone https://github.com/duguyue100/midnight-captain
cd midnight-captain
./install.sh --local-build

Runs make build and copies bin/mc to ~/.local/bin/mc.

Manual build

make build   # binary at bin/mc
./bin/mc

Usage

Launches in the current directory with dual panes.


Keybindings

Navigation

Key Action
j / k Move cursor down / up
ctrl+f / ctrl+u Half-page down / up
g Jump to top
G Jump to bottom
tab Switch active pane
h Collapse directory or jump to parent
l / enter Expand directory inline
o Navigate into directory (change cwd)
. Toggle hidden files

Selection

Key Action
V Visual select mode — move to extend selection
esc Cancel / clear selection

File Operations

Key Action
a Smart create — trailing / = dir, nested paths supported
r Rename current file
y Yank (copy) to clipboard
d Cut to clipboard
p Paste into active pane
x Delete (prompts for confirmation)
e Open in $EDITOR (or vi). Supports remote file editing (downloads, edits, uploads on save if <100MB)

Search & Commands

Key Action
space Fuzzy search in current directory
: Open command palette
? Show help overlay
q Quit

Commands

Open with :, then type a command.

Command Description
:ssh user@host Connect to remote server (SFTP) in active pane
:disconnect Disconnect SSH, return to local filesystem
:goto <path> Jump to path with live completion
:find Recursive fuzzy search from current directory
:refresh Refresh current directory content
:sort name|size|date Change sort order
:hidden Toggle hidden files
:cancel Cancel an active background operation (copy/move/delete)
:quit Exit