Published 2012-07-08 18:54 by martin, tagged as
open-source
During the last months, development on Vico has mostly stalled. This is frustrating for many users, and for me, as I no longer can spend as much time on Vico as I'd like. My plans for Vico is grander than that.
Therefore I'm releasing the source code on github and encourage the community to contribute and help build a truly kick-ass editor.
Vico will be removed from the App Store. Being there in the first place has been problematic, and the sandboxing requirement makes it finally incompatible. A new build is available on the download page without any trial restrictions.
If you want to get involved with Vico, drop a note on the mailing list.
29 comments
Published 2012-03-18 21:02 by martin, tagged as
1.3.2, changelog
Unfortunately, Vico 1.3.1 has several stability issues. An update has been pushed to App Store and should be available soon (when approved).
The trial version is already available and ready for download.
I'm sorry for any inconvenience this has caused.
The changes in version 1.3.2 are:
- Fixed a crash when closing document windows in certain cases
- Fixed a crash when pasting text in visual mode
- Fixed a crash when saving fails due to permission denied
- Fixed a crash when closing another tab by clicking the X icon
- Fixed a crash when searching files
- Prevent symlink loops in file explorer
The trial version also has support for easy submission of crash reports.
edit: Vico 1.3.2 is now approved and available on the App Store
14 comments
Published 2012-03-15 15:46 by martin, tagged as
1.3.1
Vico 1.3.1 is now approved and released on the App Store.
5 comments
Published 2012-03-14 20:00 by martin, tagged as
trial
The trial version for Vico 1.3.1 is now available. It can be downloaded here.
Please report any immediate issues with this build directly to support@vicoapp.com.
2 comments
Published 2012-03-11 12:23 by martin, tagged as
changelog
Vico 1.3.1 has been submitted to the App Store and is waiting for review. This is a bug fix release, mainly focusing on memory usage. Vico no longer uses garbage collection to manage memory.
The changes are:
- Many memory leaks have been fixed.
- Garbage collection is no longer used.
Externally modified documents that aren't edited in Vico are now automatically reverted.
To go back to the old behaviour of always asking if Vico should revert a document:
$ defaults write se.bzero.vico alwaysAskModifiedDocument -bool true
Allow scrolling beyond last screenful with <ctrl-e>.
- Implement the ' and ` marks. Use `` to jump back to the last jump.
- Unbreak
:quit behaviour.
- Caret screen update artifacts fixed.
- Implement detaching of split views to new windows (bound to
<ctrl-w>D)
<command-n> now opens a new window (<command-shift-N> opens a new untitled document)
- Fixed a crash in the file explorer when filtering symlinked directories.
7 comments
Published 2012-01-23 18:17 by martin, tagged as
1.3
I'm working on a bug fix release for 1.3. It should fix the memory issues, where Vico over time uses way too much memory.
The next feature release (1.4) is still a month away. One of the new things is SCM status icons in the file explorer.
17 comments
Published 2011-10-29 10:25 by martin, tagged as
1.3
Vico 1.3 was finally approved in the App Store.
The changes in this release are:
- Project search using Ack
- Highlighting of matching smart pairs
- Added
zt, zb and zz commands; scrolls the screen relative the caret position
- Block text objects added:
i[, ib, iB and i<, as well as the 'a' counterparts
- "Breadcrumbs" folder navigation in file explorer
- Support for Finder aliases in the file explorer
- Added setting for blinking caret
- Added boolean 'clipboard' setting; when enabled (default off), yanks by default into '+' register (the clipboard)
- Ctrl-u and ctrl-w recognized in insert mode
- Standard Cocoa alt-backspace / alt-delete keys recognized in insert mode
- Command line helper can now open files in new windows with -n option
- Themes with dark backgrounds now use a white I-beam mouse cursor
- Added the
gv command (re-select last selection)
- Global (uppercase) marks jump between files
- Mark locations are adjusted for inserted/deleted text
- All open documents can now be reverted at once when externally modified
- Added
+ and - commands
- Word completion now honors the
ignorecase and smartcase settings
Bugfixes
- Fixed delete problem with non-western input methods
- Fixed weird caret size and position with RTL unicode characters
- Copied bundles no longer results in duplicate bundle commands
- Fixed enabling of certain menu items, and make vi menu items respond to key events
- Tags files with absolute paths are now recognized
- Fixed cases where filesystem changes wasn't noticed by the file explorer
- Better handling of symlinked folders in the file explorer
- Make line number font size follow editor font size
- The '=' command now indents properly over multiple lines
- Tweaks for better TextMate bundle compatibility
:edit! now reverts the open document
- Preserve POSIX permissions and uid/gid when saving over SFTP
- Command-clicking in explorer now selects the file
26 comments
Published 2011-10-21 06:12 by martin, tagged as
1.3
Vico 1.3 will include an ack-based find in project, highlighting of matching pairs, more block text objects and many fixes.
Vico 1.3 was submitted to the Mac App Store a week ago, rejected, and now submitted again. This delay is quite frustrating, but is part of the process if Vico should remain on the App Store.
edit: vico 1.3 is now released
6 comments
Published 2011-08-22 20:26 by martin, tagged as
changelog
Vico 1.2 just got approved by Apple. It took a bit longer this time, I'm sorry for any inconvenience.
Changes in this release are:
- Lion compatibility bugs fixed
- Lion fullscreen support
- Fuzzy find no longer requires the toolbar to be visible
- Improved indentation behaviour (should match TextMate behaviour more closely)
- Shift operators (
< and >) now honors a count in visual mode
- Added
gdefault setting (use :set gdefault) -- makes :s always use g option (globally replace all occurrences on a line)
- Support transparent backgrounds in themes
- Reworked ex command parsing; allow for customizing and adding of new user-defined ex commands
- Added
gi vi command; enter insert mode where insert mode was last exited)
- Fix creating new folders for SFTP
- Shows
.htaccess and version control .ignore files in explorer by default
- Added
wrapscan setting (enabled by default, use :set nowrapscan to turn it off) -- makes searches wrap around to beginning of document
- Added
@ vi command; execute content of a register as a normal mode command -- q is still missing, but you can yank into a register
- Expand
% and # characters in ex edit commands
:set can now toggle boolean variables with :set var! or :set invvar
22 comments
Published 2011-08-20 13:31 by martin, tagged as
scripting, nu
There's a question if Vico can automatically hard-wrap text at a certain column. Vim can do this when the textwidth setting is non-zero.
This setting is not natively supported by Vico, so the natural follow up question was: "But can I script it?".
Read more…
4 comments
Published 2011-08-18 15:09 by martin, tagged as
1.2
This is just a short note that Vico 1.2 was submitted to the App Store two days ago and is now waiting for review. This release fixes the Lion issues in 1.1. More details about 1.2 is coming once it is approved.
6 comments
Published 2011-08-04 08:42 by martin, tagged as
Nu, scripting
Vico is scriptable in the Nu language. The Nu webpage describes it as:
Nu is an interpreted object-oriented language. Its syntax comes
from Lisp, but Nu is semantically closer to Ruby than Lisp. Nu is
implemented in Objective-C and is designed to take full advantange of
the Objective-C runtime and the many mature class libraries written
in Objective-C. Nu code can fully interoperate with code written in
Objective-C; messages can be sent to and from objects with no concern
for whether those messages are implemented in Objective-C or Nu.
Since Vico is written almost exclusively in Objective-C, Nu can
take advantage of the native classes that make up Vico. The
available classes and methods you can call are
being documented here.
This allows creating rich plugins that integrate seamlessly with Vico and
the rest of Mac OS X.
As an example, here's a "Hello World" example using Cocoa:
(let (alert (NSAlert new))
(alert setMessageText:"Hello, World!")
(alert beginSheetModalForWindow:((current-window) window)
modalDelegate:nil
didEndSelector:nil
contextInfo:nil))
Paste this into Vico, select it, and issue the :eval command, and
you'll get the familiar greeting as a nice Cocoa sheet. If you want
to play with this example, check out Apples documentation for
NSAlert.
Read more…
3 comments
Published 2011-07-07 16:50 by martin, tagged as
changelog
Vico 1.1 is in review on the App Store. It should hopefully be available in a couple of days.
Changes in this version are:
- Improved memory usage
- Quickly repeating bundle commands now works correctly
- Fixes a crash when ssh was terminated
- Add
~ and g~ commands (toggle case)
- Follow Finder conventions in file explorer (
<cmd-up> goes to parent directory, <alt-up> now moves to top)
:quit behaves more like Vim
:edit now always open documents in the current split
:yank, :copy, :move and :delete ex commands are added
- The toolbar is automatically hidden if it was hidden before
<cmd-t> searching
In other news, I will be trekking for a week in the northern of Sweden, so I won't be able to answer emails or maintain the blog during that time.
26 comments
Published 2011-07-02 09:07 by martin, tagged as
1.0
Vico 1.0 is now available on the App Store. This version is identical to the r2207 development release.
17 comments
Published 2011-06-27 19:49 by martin, tagged as
changelog
Development release r2207 is available.
Changes in this release are:
- Support for non-western languages and input methods (switches to ASCII-capable input method in normal mode)
- Sidebar search fields moved to the toolbar
- Explorer automatically tracks changes in file system
- Explorer visually marks modified documents
- Vicotool can now be used for commit messages (with the
-w option)
<ctrl-w>w implemented (cycle split views)
<ctrl-w>p implemented (focus previous split view)
<ctrl-cmd-r> reveals the current document in the sidebar
- Replaced Nu console with
:eval ex command
- Fuzzy file search (
<cmd-t>) should be faster
- Shift-arrows now enter visual mode
- Tabsize and line wrap settings now honor scopes
- Parsing symbols should be faster
- Current screen line can now be highlighted
gq command implemented, uses embedded par program
- Tab key in ex command now does context-sensitive completion
- And many bugs fixed...
Since the search input fields have been moved to the toolbar, you might need to
reset the default set of toolbar icons for <cmd-t> and <cmd-shift-t> to
work.
18 comments
Published 2011-06-26 08:08 by martin, tagged as
1.0
Vico 1.0 is in review for the App Store. More details about what's changed are coming once it's approved by Apple.
There is also a mailing list for discussion.
27 comments
Published 2011-05-30 10:48 by martin, tagged as
changelog
Development release r1944 is now available.
There are not many visible changes in this release, mostly bug fixes.
There are two new experimental settings: hidetab and prefertabs. The former hides the tab bar if only one tab is visible. The latter controls whether documents by default are opened in a new tab or in the same view. To open documents in the same view by default, use :set noprefertabs.
Update: r1942 was replaced with r1944.
11 comments
Published 2011-05-16 09:16 by martin, tagged as
changelog
Development release r1921 is now available.
Changes in this release are:
- Tab key now honors the
expandtab setting (spaces inserted instead of a tab, use ctrl-v tab to insert a hard tab)
- New
smarttab setting: tab/backspace changes indentation in leading whitespace
- The vico shelltool now handles paths with spaces
- Fuzzy search in explorer (cmd-t) now handles paths better
- Snippets honor the
expandtab setting
- Advanced preference pane for editing global environment variables
- Ex command
:s (substitute) implemented
- Automatically de-indents lines matching decreaseIndentPattern from the syntax definition
- Adds word, string and paragraph text objects (
diw, yap, ci" etc)
- Supports alternative keys for switching document tabs (cmd-{/}, alt-cmd-left/right as well as (shift-)ctrl-tab)
- Vi commands
gk and gj added (move up/down screen lines)
15 comments
Published 2011-05-09 09:44 by martin, tagged as
nu, macros
Vicos key bindings are flexible and can be changed with a little bit of Nu script. In fact, all key bindings are configured in the keys.nu file in the Resources folder inside the application bundle.
There are 7 built-in maps: the normal, insert and visual maps, the operator map for commands that require a motion such as d and c, maps for the explorer and symbol sidebars and the completion map for the completion window.
You can also create named maps that can be included in other maps if they share the same keys. Vico uses this to bind the arrow keys both in normal, visual and insert mode.
To change a key binding, it's easiest to create a macro. A macro is expressed as a string of one or more vi commands. Modifier keys are written inside angle brackets, for example <ctrl-d>, <alt-shift-down> or <cmd-pageup>. Only use the shift modifier for "command" keys, such as <shift-cr>. For regular characters, use the shifted representation, for example <ctrl-D>.
Here are a couple of examples:
Read more…
20 comments
Published 2011-05-05 08:46 by martin, tagged as
changelog
Development release r1846 is now available.
Changes in this release are:
- Fully asynchronous remote file operations. Vico should never block on SFTP requests on a slow or disconnected network.
- Automatic software updates
- The
ctrl-d and ctrl-u scrolling commands are implemented
- Ctags now also work over SFTP
- Read-only support for http:// and ftp:// urls
28 comments
Published 2011-05-02 17:14 by martin, tagged as
plans
Firstly, thank you all for the wonderful feedback. I'm really glad you like it as much as I enjoy writing it.
I've been working full time on Vico a couple of months now, and things progress quite fast. I'm now mostly focusing on improving stability and missing basic features, like search and replace.
I intend to build a business selling Vico as shareware. The exact price is not yet decided, but expect it to be around US$50.
Regarding the two week validity period of the development releases; it means I must have a stable enough code base to be able to build a new version before that time period ends, and I'd like to avoid maintaining branches. I believe small evolutionary changes are superior to revolutionary rewrite-from-scratch projects.
The next release includes fully asynchronous document loading and file management, sparkle updates and a bunch of bug fixes.
I need to get back to hacking now, but I'll setup a mailing list for discussions tonight.
36 comments
Published 2011-04-28 11:32 by martin
Hi, and welcome to Vico.
Vico is the result of a personal itch. My eyes want a beautiful looking, modern Mac text editor. But my fingers just want vi.
Vico is inspired by some great software out there. The vi/vim command set beats anything in terms of efficiency and speed. TextMate has set a new standard in many ways, and the bundle community is still thriving.
There are still key features missing in Vico, but I think it's already very useful. Try out the latest development release and tell me what you think in the comments.
I hope you'll like Vico.
51 comments