[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74629":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},74629,"sheets","maaslalani\u002Fsheets","maaslalani","Terminal based spreadsheet tool",null,"Go",2248,59,7,19,0,26,31,54,78,27.33,"MIT License",false,"main",[],"2026-06-12 02:03:26","# Sheets\n\nSpreadsheets in your terminal.\n\n\u003Cbr \u002F>\n\u003Cp align=\"center\">\n  \u003Cimg width=\"750\" height=\"600\" alt=\"demo\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6531c666-34dd-4616-b341-e0ac9c54ec7c\" \u002F>\n\u003C\u002Fp>\n\u003Cbr \u002F>\n\n## Command Line Interface\n\nLaunch the TUI\n\n```bash\n> sheets budget.csv\n```\n\nRead from stdin:\n\n```bash\n> sheets \u003C\u003C\u003C ID,Name,Age\n1,Alice,24\n2,Bob,32\n3,Charlie,26\n```\n\nRead a specific cell:\n\n```bash\n> sheets budget.csv B9\n2760\n```\n\nOr, range:\n\n```bash\n> sheets budget.csv B1:B3\n1200\n950\n810\n```\n\nModify a cell:\n\n```bash\n> sheets budget.csv B7=10 B8=20\n```\n\n## Navigation\n\n* \u003Ckbd>h\u003C\u002Fkbd>, \u003Ckbd>j\u003C\u002Fkbd>, \u003Ckbd>k\u003C\u002Fkbd>, \u003Ckbd>l\u003C\u002Fkbd>: Move the active cell\n* \u003Ckbd>gg\u003C\u002Fkbd>, \u003Ckbd>G\u003C\u002Fkbd>, \u003Ckbd>5G\u003C\u002Fkbd>, \u003Ckbd>gB9\u003C\u002Fkbd>: Jump to the top, bottom, a row number, or a specific cell\n* \u003Ckbd>0\u003C\u002Fkbd>, \u003Ckbd>^\u003C\u002Fkbd>, \u003Ckbd>$\u003C\u002Fkbd>: Jump to the first column, first non-empty column, or last non-empty column in the row\n* \u003Ckbd>H\u003C\u002Fkbd>, \u003Ckbd>M\u003C\u002Fkbd>, \u003Ckbd>L\u003C\u002Fkbd>: Jump to the top, middle, or bottom visible row\n* \u003Ckbd>ctrl+u\u003C\u002Fkbd>, \u003Ckbd>ctrl+d\u003C\u002Fkbd>: Move half a page up or down\n* \u003Ckbd>zt\u003C\u002Fkbd>, \u003Ckbd>zz\u003C\u002Fkbd>, \u003Ckbd>zb\u003C\u002Fkbd>,: Align the current row to the top, middle, or bottom of the window\n* \u003Ckbd>\u002F\u003C\u002Fkbd>, \u003Ckbd>?\u003C\u002Fkbd>: Search forward or backward\n* \u003Ckbd>n\u003C\u002Fkbd>, \u003Ckbd>N\u003C\u002Fkbd>: Repeat the last search\n* \u003Ckbd>ma\u003C\u002Fkbd>, \u003Ckbd>'a\u003C\u002Fkbd>: Set a mark and jump back to it later\n* \u003Ckbd>ctrl+o\u003C\u002Fkbd>, \u003Ckbd>ctrl+i\u003C\u002Fkbd>: Move backward or forward through the jump list\n* \u003Ckbd>q\u003C\u002Fkbd>, \u003Ckbd>ctrl+c\u003C\u002Fkbd>: Quit\n\n### Editing & Selection\n\n* \u003Ckbd>i\u003C\u002Fkbd>, \u003Ckbd>I\u003C\u002Fkbd>, \u003Ckbd>c\u003C\u002Fkbd>: Edit the current cell, edit from the start, or clear the cell and edit\n* \u003Ckbd>ESC\u003C\u002Fkbd>: Leave insert, visual, or command mode\n* \u003Ckbd>enter\u003C\u002Fkbd>, \u003Ckbd>tab\u003C\u002Fkbd>, \u003Ckbd>shift+tab\u003C\u002Fkbd>: In insert mode, commit and move down, right, or left\n* \u003Ckbd>ctrl+n\u003C\u002Fkbd>, \u003Ckbd>ctrl+p\u003C\u002Fkbd>: In insert mode, commit and move down or up\n* \u003Ckbd>o\u003C\u002Fkbd>, \u003Ckbd>O\u003C\u002Fkbd>: Insert a row below or above and start editing\n* \u003Ckbd>v\u003C\u002Fkbd>, \u003Ckbd>V\u003C\u002Fkbd>: Start a visual selection or row selection\n* \u003Ckbd>y\u003C\u002Fkbd>, \u003Ckbd>yy\u003C\u002Fkbd>: Copy the current cell, or yank the current row(s)\n* \u003Ckbd>x\u003C\u002Fkbd>, \u003Ckbd>p\u003C\u002Fkbd>: Cut the current cell or selection, and paste the current register\n* \u003Ckbd>dd\u003C\u002Fkbd>: Delete the current row\n* \u003Ckbd>u\u003C\u002Fkbd>, \u003Ckbd>ctrl+r\u003C\u002Fkbd>, \u003Ckbd>U\u003C\u002Fkbd>: Undo and redo\n* \u003Ckbd>.\u003C\u002Fkbd>: Repeat the last change\n\n### Visual Mode\n\n* \u003Ckbd>=\u003C\u002Fkbd>: In visual mode, insert a formula after the selected range `=|(B1:B8)`.\n\n### Command Mode\n\nPress \u003Ckbd>:\u003C\u002Fkbd> to open the command prompt, then use commands such as:\n\n- \u003Ckbd>:w\u003C\u002Fkbd> to save\n- \u003Ckbd>:w path.csv\u003C\u002Fkbd> to save to a new file\n- \u003Ckbd>:e path.csv\u003C\u002Fkbd> to open another CSV\n- \u003Ckbd>:q\u003C\u002Fkbd> or \u003Ckbd>:wq\u003C\u002Fkbd> to quit\n- \u003Ckbd>:goto B9\u003C\u002Fkbd> or \u003Ckbd>:B9\u003C\u002Fkbd> to jump to a cell\n\n## Installation\n\nInstall with Homebrew on macOS or Linux:\n\n```sh\nbrew install sheets\n```\n\nOr install with Go:\n\n```sh\ngo install github.com\u002Fmaaslalani\u002Fsheets@main\n```\n\nOr download a binary from the [releases](https:\u002F\u002Fgithub.com\u002Fmaaslalani\u002Fsheets\u002Freleases).\n\n## License\n\n[MIT](https:\u002F\u002Fgithub.com\u002Fmaaslalani\u002Fsheets\u002Fblob\u002Fmaster\u002FLICENSE)\n\n## Feedback\n\nI'd love to hear your feedback on improving `sheets`.\n\nFeel free to reach out via:\n* [Email](mailto:maas@lalani.dev)\n* [Twitter](https:\u002F\u002Ftwitter.com\u002Fmaaslalani)\n* [GitHub issues](https:\u002F\u002Fgithub.com\u002Fmaaslalani\u002Fsheets\u002Fissues\u002Fnew)\n\n---\n\n\u003Csub>\u003Csub>z\u003C\u002Fsub>\u003C\u002Fsub>\u003Csub>z\u003C\u002Fsub>z\n","Sheets 是一个基于终端的电子表格工具，使用 Go 语言开发。它允许用户通过命令行界面直接在终端中创建、编辑和查看电子表格。核心功能包括读取 CSV 文件、修改单元格内容、支持范围选择以及通过 Vim 风格的快捷键进行高效导航与编辑。此外，Sheets 提供了丰富的命令模式，方便用户执行保存、打开文件等操作。适合需要轻量级解决方案来处理数据，并且偏好命令行工作流的开发者或系统管理员使用。",2,"2026-06-11 03:50:10","high_star"]