1 MB text editor written in V with hardware accelerated text rendering. Compiles in <1s.
Alternatives To Ved
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
3 months ago38otherC++
A brief computer graphics / rendering course
3 months ago15C++
A brief computer graphics / rendering course
3 years ago31mitJavaScript
A full open source 3D graphics editor in the browser, with scene editor, coding pad, graph editor, virtual file system, and many features more.
3 months ago2C++
A brief computer graphics / rendering course
4 years ago1wtfplC++
486 lines of C++: old-school FPS in a weekend
a month ago25gpl-3.0V
1 MB text editor written in V with hardware accelerated text rendering. Compiles in <1s.
21 days ago50mitF#
Cross platform Neovim front-end UI, built with F# + Avalonia
Vuep87934376 months ago21August 19, 201839mitJavaScript
🎡 A component for rendering Vue components with live editor and preview.
React Simplemde Editor64199198 months ago57September 25, 20213mitTypeScript
React wrapper for simplemde (easymde) markdown editor
8 months ago4mitC++
Realtime 3D Game-Engine with a focus on space sim. Written in C++ 14
Alternatives To Ved
Select To Compare

Alternative Project Comparisons


A small and fast text editor written in V

Screenshot of the editor

Patreon-badge GitHub Workflow Status (event)

This is pre-alpha software.

I've been using Ved as my main editor since June 2017 (it was re-written in V in June 2018).

It may not work for everyone. There are currently limitations that must be worked around. We are working on slowly improving the ved stability and user experience.

To configure the editor, please see the configuration section.

Building from source

First you need to install V. This will take a couple of seconds.

git clone
cd ved
v .

Ved should build in under a second.

By default V's built-in font rendering is used, but there's an option to use freetype, which may provide better rendering for some users:

v -d use_freetype .

To use freetype, it must first be installed on your system. Follow the steps for your platform below.


sudo apt install libfreetype6-dev libx11-dev libxrandr-dev mesa-common-dev libxi-dev libxcursor-dev


sudo dnf install freetype-devel libXcursor-devel libXi-devel


pacman -S freetype2


brew install freetype


v setup-freetype


Discord (primary community): Join the #ved channel.

Main features

  • Small size (~ 1 MB binary, builds in <1s)
  • Hardware accelerated text rendering
  • High performance (scrolling through 300k lines with syntax highlighting without any lag)
  • WIP Vim mode
  • Easy integration with any compiler/build system
  • Go to definition
  • Fuzzy file finder
  • Fast search
  • Integration with git
  • Built-in time management system (based on Pomodoro)
  • Global bring-to-front key
  • Split view
  • Workspaces
  • Cross-platform (Windows, macOS, GNU/Linux)

Planned features

  • True vim mode (current implementation only implements a small subset of vim's features)
  • Emacs keybindings
  • Nano keybindings
  • Word wrap
  • Better syntax highlighting


Ved creates a settings directory in $HOME/.ved where it stores workspaces, sessions, tasks, and the configuration file. The configuration file is simply a TOML file called conf.toml. It provides a way to change some basic settings and the editor colors.

If you don't want to touch the config file, you never have to! Ved does not create it by itself and it provides sensible defaults to get you started. If you are more adventurous, here is an example configuration file that contains all of the possible settings:

# To get started, create a file called "conf.toml" in $HOME/.ved
# Most of the settings are contained inside this "editor" table.
dark_mode = false       # Ved comes with a light and dark mode built-in.
cursor = 'variable'     # Ved has three variants: Variable, block, and beam. You are probably used to "variable" or "beam".
text_size = 18          # ┌───────────────────────────────────────────────────┐
line_height = 20        # │ These *can* be edited, but you probably shouldn't │
char_width = 8          # └───────────────────────────────────────────────────┘
tab_size = 4            # Ved uses tab characters (\t). This settings changes how many spaces a tab should be displayed as
backspace_go_up = true  # If set to true, hitting the backspace doesn't do anything when you reach the beginning of the line

# If you do not like ved's default colorscheme, or you just want
# something new, edit the "colors" table. Ved uses a form of base16
# to control syntax and editor highlighting. Please note that due
# to ved's very minimal highlighting, base16 themes copied off of
# the internet are not going to look like very much like their
# screenshots.
base00 = "efecf4"
base01 = "e2dfe7"
base02 = "8b8792"
base03 = "7e7887"
base04 = "655f6d"
base05 = "585260"
base06 = "26232a"
base07 = "19171c"
base08 = "be4678"
base09 = "aa573c"
base0A = "a06e3b"
base0B = "2a9292"
base0C = "398bc6"
base0D = "576ddb"
base0E = "955ae7"
base0F = "bf40bf"

Basic usage

Ved works best with workspaces (directories with code). You can have multiple workspaces and quickly switch between them with C [ and C ].

To open multiple workspaces, run

ved path/to/project1 path/to/project2

Key bindings:

C is on macOS, Ctrl on all other systems.

C q q  exit the editor
C o    open a file
C s    save
C r    reload current file
C p    open ctrlp (fuzzy search)
/      search in current file
C g    copy current file's path to clipboard
t      go to the previous file
gd     go to definition

C c    git commit -am
C -    git diff
?      git grep (search across all files in current workspace)

C u    build current project (build instructions must be located in "build")
C y    alternative build of the current project (build instructions must be located in "build2")
C 1    switch to Ved from any other application (only on macOS for now)

C d    go to the previous split
C e    go to the next split
C [    go to the previous workspace
C ]    go to the next workspace

C a    start a new task
C t    show the Timer/Pomodoro window

Supported vim bindings:

j k h l
w b
dw de cw ce ci
di ci
o O
y d p J
< >
/ * n
gg G
x r
C-n (autocomplete)

The current vim system is hardcoded, which does not allow for any scalability. Fixing this is high on the the list of things to do.

Popular Rendering Projects
Popular Editor Projects
Popular Graphics Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Text Editor