Hosted by TuxFamily

Vixn is a Linux/Unix programmers' text editor. The rationale behind it is that I've been using vim for several years so using a text editor without a vi-like command mode has become almost unthinkable, but I was frustrated with the limitations imposed by vim's one window [1] per instance model:

I chose to write vixn in python so that it automatically has a great language for customising and extending it, and development would be a bit quicker than if I used C. Writing a vi-like shell around gtksourceview also saved me a huge amount of time compared to writing a text editor engine, complete with syntax highlighting, from scratch, but it does come with a certain amount of baggage and quirks, especially when trying to make it behave like vi rather than a more straightforward type of editor.

Vixn in its current incarnation can't really replace vim altogether, but for editing several source files together as part of a project I already find vixn more convenient even at such an early stage of development.

Special features

Throwback

Vixn borrows the concept of throwback windows from RISC OS programmers' editors to list compiler warnings and errors. Clicking one of the messages opens the source file (if necessary) in which the error occurred and places the cursor there. Throwback windows can also be used to list matches for a search - by default bound to the backslash (\) key (cf forward search /).

The future

I intend to provide vixn with a toolbar which adapts to what sort of file is being edited eg providing buttons to create types of heading and insert links and images for HTML. This is probably already possible in vim, but requires some advanced config file customisation. I believe all the best features should be available "out of the box" and only require configuration to customise for personal preferences.


[1] By window I mean an X (GUI) window. Text editors which originated in a console environment often use the word window to mean a subdivision of the terminal and refer to a GUI window as a frame.