This article is meant to be a short quickstart guide on using neovim on Ubuntu. neovim has been around for a while and we wanted to explore it as a vim alternative. We are on Ubuntu and the plan is to transfer all vim dependencies to neovim. Continue reading Getting started with neovim
micro is a tiny cmdline text editor written in Go. It works with modern terminal emulators and if you are looking for an alternative to editors like vi for regular usage, you may give micro a try. The editor is under heavy development at the time of writing. Continue reading micro: light cmdline text editor
If you were looking for an easy-to-use Sublime Text-like editor for the terminal, you’re in luck. slap is a console based text editor with features (plus look & feel) closely resembling Sublime Text. As a matter of fact, it’s the stated goal of the project. Continue reading slap: cmdline Sublime Text
Papyrus is a fresh Qt5 based notes manager with a polished interface. It is a fork of the Kaqaz Note Manager targeting a better interface, security and faster performance. The application maintains a list of notes.
- Notes management by means of labels and categories
- Sorting notes by day
- A user-interface different from other applications
- Advance and Smart searching in notes
- To-Do papers
- Backing up notes
- Encrypted synchronization via Dropbox among all your devices
- Supporting left-to-right and right-to-left languages
- Sharing papers with other applications
- Assigning password for protecting notes
- Attach map and weather to note informations automatically
- Attaching photos, audio files and folders to any note
- Search on papers by location
- Capability of running and sync data on all operating systems (Android, Windows, Linux, Mac and soon other operating systems)
- Free and open source (GPLv3)
- Canvas for painting
- Search on papers using weather and temperature, your notes wrote.
- Can move data to sd-card (on old phones)
- Status and statistics page for notes
- Synchronizing files
Papurus installers for multiple platforms can be downloaded from its home page (linked below). deb packages for Ubuntu are available.
Xournal is an editor with a special feature – it supports handwritten notes using a stylus. In addition to note-taking, it also supports sketching, maintaining a journal or annotating PDF files. Xournal is written in Gtk+ and closely tied to the Gnome desktop environment. Xournal aims to provide superior graphical quality (subpixel resolution) and overall functionality.
Xournal is particularly useful for students attending lecture sessions or seminars and taking down quick notes. It can also work as a replacement for the default PDF viewer. Xournal supports basic editing tools.
The application has minimal dependencies. To install on Ubuntu:
$ sudo apt-get install xournal
- Jarnal (supports collaborative features)
One of our readers requested a list of editors on Linux capable of editing huge files in the order of GBs. In one of our earlier articles we explored some commands to create huge files on Linux. We also visited glogg, a log viewer with similar capabilities but it cannot edit files. Here’s a list of some robust editors.
A Qt based GUI editor. Can view and edit files in hex, octal, binary, or ascii text mode. Can work with files much larger than system RAM or even address space.
- Low memory usage
- Instant load times
- Instant save times
- Infinite undo/redo
- Dynamic hex/octal/binary/ascii editing mode
- “Goto” field for jumping to a specified offset (offset can be specified by a mathematical expression: 0xff*3
- 64 bit offset support
- Dynamic resize support
- Conversion dialog
> Linked to selection
> Shows conversion to int, float, double, ascii, hex
> Modifying int/float/double/ascii/hex updates all the other fields
> Option to show/edit byteswapped values
- Binary comparison dialog
> Differences can be walked by “block”
> A block can be from 1-16 bytes long
> Starting offset can be different in each file
- Minimal dependencies (just Qt)
- Does not support insertion/deletion (cannot change file size)
- Search/compare can be slow (compared to cmp or any other non-paged IO app)
- Cannot search files with unsaved modifications
To install on Ubuntu:
$ sudo apt-get install lfhex
Joe s a very powerful full-featured terminal editor. Written in C and the only dependency is libc.
- Can view and edit files in text of hex mode
- Supports UTF8 characters
- Multi-file search and replace- file list is either given on cmdline or by a UNIX command (grep/find) run from within JOE
- Mouse support, including wheel (works best when using xterm). The mouse can resize windows, scroll windows, select and paste text, and select menu entries.
- Context display on status line: allows you to see name of function cursor is in
- Syntax highlighting
- Swap file allows editing files larger than memory
- Bash-like TAB completion and history for all prompts
- Jump to matching delimiter
- and many more…
- NO vertical windows
- No folding
- No background spell checking, like Microsoft WORD
- Cannot highlight all matching words
To install on Ubuntu:
$ sudo apt-get install joe
HEd is a powerful hex editor with a hexdump -C like interface. It can load and edit infinitely large files.
- Very fast on very large files (keeps only necessary portion of the file in memory)
- Fast inserting anywhere in the file
- Fast saving of intermediate changes
- vim-like controls (and exmode)
- Powerful expressions concept for flexible searching and transformation operations on the file or a selected region
HEd is not available by default on Ubuntu. Download HEd v0.5 compiled on Ubuntu 14.04 amd64 here.
This is a plugin available for vim that turns off certain vim features to handle large files. The
g:LargeFile (by default 100) option describes the minimum size of a file to be considered as a LargeFile, in megabytes. This option can be set in ~/.vimrc as:
Note that LargeFile may not be able to handle a 1GB file as it doesn’t change the way vim opens a file.
Download the latest version from the homepage. Then:
$ vi LargeFile.vba.gz
If you stick to the terminal most of your time, you might like a console-based utility to save your notes. We explored console based note managers note and nodau in an earlier article. Memo falls in the same category. You can add short notes and manipulate them whenever you want. Here are some common use cases:
- To add a note:
$ memo -a "Here's a new note."
- To show all notes:
$ memo -s
//This shows the note number in the first column
- To search for a note:
$ memo -f search_string
//-F to use regular expressions
- To edit a note, you need to delete it first and then edit:
$ memo -d 1 -a "My edited note.."
Memo is only suitable for quick casual notes because it does not have any integration with a text editor per se. So it’s difficult to maintain long notes with Memo. It doesn’t seem to support encryption either. Though there are some tips and options for conky integration and exporting to html that doesn’t help the fact that the app is just too simple and it’s easier to maintain a text file and edit it with vi rather that installing an additional software. However, this is the current stage and Memo is a very fresh app released last week… we can expect new features from the developer. As of now, Memo works well as a simple ToDo list manager.
You have to build Memo from source to use it. The dependencies are minimal. To compile and run it, download the source code and run the following commands:
$ make install
xtAll of us keep notes. In my case I like to keep them organized and I use note managers for that. Though I have initially used graphical note managers cherrytree, springseed etc. because of the visual editing features they provide, I realized at one point that I do not need so many bells and whistles. Many of these tools are bulky, some of them are slow starters and most of them provide more options than you want to handle. So I fell back to console based note managers. Here are some of those I like and find very easy to use and simple to understand. They just manage a number of notes and provide you options to edit them in your favourite editor.
As simple as it can be. Type note and it shows you the options to list notes, show topics, add, delete, search and edit new notes. The notes are saved as plain text and you can add the editor of your choice in the configuration file. Mine is vi. Note stores the documents in mysql format and supports IDEA or DES encryption.
The basic features are similar to note but you always need to start nodau with an option which seemed little obtrusive to me. Isn’t remembering the name of the program enough? You can have encrypted notes with nodau.
Rust utility to take notes with 256-bit AES encryption, multiple profiles, search support.
My favourite is note.
I covered some good Linux text and code editors under the linux text editor tag. The latest addition is Cherrytree. It is a full scale notes (and code) manager that can store notes in sqlite or xml formats with the additional option of password protection. It arranges the files as nodes and sub-nodes. Supports Markdown syntax, rich text editing, auto-indentation and syntax highlighting for many programming languages. It runs on both Linux and Windows. Many customization options are available. Performance and start-up time are very good on Linux. List of features:
- rich text (foreground color, background color, bold, italic, underline, strikethrough, small, h1, h2, h3, subscript, superscript, monospace)
- syntax highlighting supporting several programming languages
- images handling: insertion in the text, edit (resize/rotate), save as png file
- embedded files handling: insertion in the text, save to disk
- lists handling (bulleted, numbered, to-do and switch between them, multiline with shift+enter)
- simple tables handling (cells with plain text), cut/copy/paste row, import/export as csv file
- codeboxes handling: boxes of plain text (optionally with syntax highlighting) into rich text, import/export as text file
- alignment of text, images, tables and codeboxes (left/center/right)
- hyperlinks associated to text and images (links to webpages, links to nodes/nodes + anchors, links to files, links to folders)
- spell check (using pygtkspellcheck and pyenchant)
- intra application copy/paste: supported single images, single codeboxes, single tables and a compound selection of rich text, images, codeboxes and tables
- cross application copy/paste (tested with libreoffice and gmail): supported single images, single codeboxes, single tables and a compound selection of rich text, images, codeboxes and tables
- copying a list of files from the file manager and pasting in cherrytree will create a list of links to files, images are recognized and inserted in the text
- print & save as pdf file of a selection / node / node and subnodes / the whole tree
- export to html of a selection / node / node and subnodes / the whole tree
- export to plain text of a selection / node / node and subnodes / the whole tree
- toc generation for a node / node and subnodes / the whole tree, based on headers h1, h2 and h3
- find a node, find in selected node, find in selected node and subnodes, find in all nodes
- replace in nodes names, replace in selected node, replace in selected node and subnodes, replace in all nodes
- iteration of the latest find, iteration of the latest replace, iteration of the latest applied text formatting
- import from html file, import from folder of html files
- import from plain text file, import from folder of plain text files
- import from basket, cherrytree, epim html, gnote, keepnote, keynote, knowit, mempad, notecase, tomboy, treepad lite, tuxcards, zim
- export to cherrytree file of a selection / node / node and subnodes / the whole tree
- password protection (using 7-zip)
- tree nodes drag and drop
- free and open source
Ubuntu users can download the latest version from:
$ sudo add-apt-repository ppa:vincent-c/cherrytree
$ sudo apt-get update
$ sudo apt-get install cherrytree
Analyzing large log files (we are talking of GBs) can be quite messy as most of the regular editors try to load the whole file in the memory as it is. glogg can handle the situation at ease. The GUI is written in Qt and the logic is a combination of the grep and less commands on Linux. Here are the features of this great tool (copied directly from the website):
- Runs on Unix-like systems, Windows and Mac thanks to Qt
- Provides a second window showing the result of the current search
- Supports grep/egrep like regular expressions
- Colorizes the log and the search results
- Displays a context view of where in the log the lines of interest are
- Is fast and reads the file directly from disk, without loading it into memory
- Follows a log written to disk in real time
- Allow to insert marks in the logs to interesting lines
- Supports vim/less like keyboard commands to move around the file
- Is open source, released under the GPL