# Pointer文本编辑器 **Repository Path**: CharOfString/ptre ## Basic Information - **Project Name**: Pointer文本编辑器 - **Description**: 使用Rust+ratatui开发的文本编辑器项目,目前正在早期开发阶段 - **Primary Language**: Rust - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2026-09-26 - **Last Updated**: 2026-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: 文本编辑器, Rust, TUI ## README [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![project_license][license-shield]][license-url] [![Built With Ratatui](https://img.shields.io/badge/Built_With_Ratatui-000?logo=ratatui&logoColor=fff)](https://ratatui.rs/)

Pointer Editor

A lightweight text editor written using Rust w/ EMACS styled key binding.
Explore the docs »

CI Status · Report Bug · Request Feature

## About The Project ![Screenshot](./doc/imgs/screenshot.png) *Pointer Editor* (we'll call it Pointer or `ptre` in the rest of the document) is a currently under developing (we just started it) lightweight text editor in Rust.

(back to top)

### Built With * Rust * Cargo * Ratatui

(back to top)

## Getting Started ### Prerequisites You will need to have Rust & Cargo ready on your system. Please note that network is required as Cargo will download its dependencies. ### Build & Run Please have Rust & Cargo ready, then you may use the following command to build: ```shell $ cargo build ``` You may find the binary file on `target/debug/build/ptre`. To run the code directly: ```shell $ cargo run ``` To open an existing file in the editor buffer, pass its relative or absolute path: ```shell $ cargo run -- README.md ``` A folder opens as a project, as `Ctrl + C` `Ctrl + P` `A` does: ```shell $ cargo run -- src ``` Multiple arguments are rejected. ### Packaging #### Debian > **NOTE**: Network connection WILL BE REQUIRED!! To build a Debian binary package, simply run: ```shell $ ./build-deb -d ``` Dependencies will automatically being installed to your computer. Next time you may run: ```shell $ ./build-deb ``` To do a cleanup, run: ```shell $ ./build-deb -c ``` Note that this will also clear the artifacts generated. #### Archlinux > **NOTE**: Network connection WILL BE REQUIRED!! To build a Arch `zstd` package, simply run: ```shell $ ./build-pkg -d ``` Dependencies will automatically being installed to your computer. Next time you may run: ```shell $ ./build-pkg ``` To do a cleanup, run: ```shell $ ./build-pkg -c ``` Note that this will also clear the artifacts generated.

(back to top)

## Usage The usage section has been moved to the `doc/` folder. The list below shows some handy documents. * [Shortcut Keys](./doc/shortcuts/shortcuts.md) * [Plugins](./doc/plugins/plugins.md) _For more examples, please refer to the [documentation directory](./doc/)._

(back to top)

## Roadmap - [X] C/C++ editor buffer - [X] C/C++ code auto completion. - [X] C/C++ Clang-tidy/Cpplint error displaying. - [X] C/C++ error autofix. - [ ] Rust editor buffer - [ ] Provide code auto completion. - [ ] Provide linting. - [ ] Application - [X] Provide color icon mode. - [ ] Provide i18n translations. - [ ] Packaging - [X] Debian. - [X] Archlinux. - [ ] Fedore/OpenSUSE. - [ ] Nix. - [ ] AmberPM. See the [open issues](https://github.com/CharOfString/ptre/issues) for a full list of proposed features (and known issues).

(back to top)

## Contributing Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. Please refer to the *[Contributor Guide](./CONTRIBUTING.md)* and *[Code of Conduct](./CODE_OF_CONDUCT.md)* before contributing, thanks.

(back to top)

### Top contributors: contrib.rocks image ## License `ptre` is licensed under *GNU GENERAL PUBLIC LICENSE Version 3*, you may find a copy of the license [here](./LICENSE).

(back to top)

## Acknowledgments Special thanks to these libraries: * **Crossterm-rs**: https://github.com/crossterm-rs/crossterm * **Lsp-types**: https://github.com/gluon-lang/lsp-types * **Ratatui**: https://github.com/ratatui/ratatui * **Ratatui-code-editor**: https://github.com/vipmax/ratatui-code-editor * **Serde-json**: https://github.com/serde-rs/json * **Best-readme-template**: https://github.com/othneildrew/Best-README-Template For all dependencies, please refer to [Cargo.lock](./Cargo.lock).

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/CharOfString/ptre.svg?style=flat [contributors-url]: https://github.com/CharOfString/ptre/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/CharOfString/ptre.svg?style=flat [forks-url]: https://github.com/CharOfString/ptre/network/members [stars-shield]: https://img.shields.io/github/stars/CharOfString/ptre.svg?style=flat [stars-url]: https://github.com/CharOfString/ptre/stargazers [issues-shield]: https://img.shields.io/github/issues/CharOfString/ptre.svg?style=flat [issues-url]: https://github.com/CharOfString/ptre/issues [license-shield]: https://img.shields.io/github/license/CharOfString/ptre.svg?style=flat [license-url]: https://github.com/CharOfString/ptre/blob/main/LICENSE [product-screenshot]: images/screenshot.png [Next.js]: https://img.shields.io/badge/next.js-000000?style=flat&logo=nextdotjs&logoColor=white [Next-url]: https://nextjs.org/ [React.js]: https://img.shields.io/badge/React-20232A?style=flat&logo=react&logoColor=61DAFB [React-url]: https://reactjs.org/ [Vue.js]: https://img.shields.io/badge/Vue.js-35495E?style=flat&logo=vuedotjs&logoColor=4FC08D [Vue-url]: https://vuejs.org/ [Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=flat&logo=angular&logoColor=white [Angular-url]: https://angular.io/ [Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=flat&logo=svelte&logoColor=FF3E00 [Svelte-url]: https://svelte.dev/ [Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=flat&logo=laravel&logoColor=white [Laravel-url]: https://laravel.com [Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=flat&logo=bootstrap&logoColor=white [Bootstrap-url]: https://getbootstrap.com [JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=flat&logo=jquery&logoColor=white [JQuery-url]: https://jquery.com