summaryrefslogtreecommitdiff
path: root/vis.c
AgeCommit message (Collapse)Author
2015-04-05Remove useless duplication of argument to exec_cmdline_commandMarc André Tanner
2015-04-05Introduce new struct VisTextMarc André Tanner
This adds yet another layer of indirection and stores vi related stuff which is associated with a given text but shared among all windows displaying it (e.g. marks). This will also help if one wants to keep texts arround which aren't currently displayed.
2015-04-04Cleanup :set implementationMarc André Tanner
Unique prefixes of options should now be recognized.
2015-04-04Move more curses related stuff to ui-curses.cMarc André Tanner
2015-04-04Change behaviour of 'cw' and 'cW'Matias Linares
from vim's help: cw cW Special case: When the cursor is in a word, "cw" and "cW" do not include the white space after a word, they only change up to the end of the word. This is because Vim interprets "cw" as change-word, and a word does not include the following white space.
2015-04-04Mark some pointers in struct Action as constMarc André Tanner
2015-04-03Add option to display relative line numbersMarc André Tanner
:set rnu Based on a patch by Sebastian Götte.
2015-04-03Preliminary user interface separationMarc André Tanner
In theory only ui-curses.[hc] should depend on curses, however in practice keyboard input is still handled in vis.c. Furthermore the syntax definitions as well as keyboard bindings and selection code in window.c still depends on some curses constants. There is also a slight regression in that the window status bar does not show the current mode name. This and related global state should be eliminated in the future.
2015-03-31Do not modify the argument to exec_commandMarc André Tanner
This fixes a segfault when using the ZQ key binding as reported by Silvan Jegen.
2015-03-24Implement 'o' in visual mode: go to other end of selection.Marcel Rodrigues
2015-03-18Cleanup :-command implementationMarc André Tanner
Everything that is a unique prefix should now be allowed for a given command.
2015-02-03Do not lump together replace actionsWolfgang Corcoran-Mathe
Currently, the replace operator in vis gets lumped with following actions in the {un,re}do tree. Using the 'r' key several times then attempting to undo the last replacement undoes the entire series.
2015-01-18Fix coverity issue 12388jvoisin
close(fd) can't have a negative fd parameter
2015-01-16Always close file descriptor after :read commandMarc André Tanner
2015-01-16In vim, "syntax" can be abbreviated as "syn".jvoisin
2015-01-13Cleanup nn| implementationMarc André Tanner
This command does not really do what it advertises because it operates on bytes not columns.
2015-01-13Add new logical linewise movementsMarc André Tanner
The column position is currently not correctly preserved when there are lines with multibyte characters involved spanning multiple screen lines. In general this might still be a bit fragile.
2015-01-13Rename window_line_* functionsMarc André Tanner
2015-01-06Rudimentary change list (accessible via g; and g,)Marc André Tanner
2015-01-06Change :open to create a new window if no argument is givenMarc André Tanner
Use it for the creation of a new window without changing the layout as split and vsplit do. Map it to CTRL+w n.
2015-01-06Add default settings for editor startupMarc André Tanner
2015-01-06Support per file type settingsMarc André Tanner
This adds yet another layer of indirection. exec_cmdline_command should take a const char pointer and not modify its argument.
2015-01-06Fix some compiler warningsMarc André Tanner
2015-01-04no need to allocate len+1 if we're not appending '\0'Matthias Braun
2015-01-04implement rudimentary autoindentMatthias Braun
2015-01-04Support relative line jumps :+nn / :-nnMarc André Tanner
2015-01-04Simplify jump to line :nnnMarc André Tanner
As a side effect this also allows to jump to marks via :'m
2015-01-04Fix openline command on the first lineMichal Bohuslávek
When on the first line, openline command wouldn't move the cursor to the newly created line above the current line.
2015-01-04Make :set option parsing more robustMarc André Tanner
Among other things boolean options can now be prefixed with "no". For example ":set nonu" disables line numbers etc. Based on a patch from Sebastian Götte.
2015-01-03Add the :x(it)? commandMatthias Braun
2015-01-03Make single character replacement repeatableMarc André Tanner
2015-01-02Make last insertion/replacement repeatable with '.'Marc André Tanner
2015-01-02Rip out insertion repeating infrastructureMarc André Tanner
2015-01-02Make getkey read one UTF-8 character at a timeMarc André Tanner
2015-01-01Add rudimentary support for jump list (CTRL+{O,I})Marc André Tanner
2015-01-01Rename mark related functionsMarc André Tanner
2014-12-23Fix compiler warningsMarc André Tanner
2014-12-23Simplify # and * commands by using inner text objectsMarc André Tanner
2014-12-23Distinct between inner and outer word text objectsMarc André Tanner
2014-12-23Optionally display line numbers alongside fileMarc André Tanner
Enable/disable with :set number [0|1]
2014-12-23Move kepress hook to record all keysMarc André Tanner
2014-12-18Macro supportMarc André Tanner
At some point this should be optimized further at the moment there is some 20 byte overhead for each entered key.
2014-12-18Support longer key bindingsMarc André Tanner
2014-11-01Improve usage as a filterMarc André Tanner
When used as in echo Hello World | vis | cat prevent intermediate writes to stdout, only save to stdout when also quiting the editor.
2014-10-27Also join lines if cursor is at beginning of a lineMarc André Tanner
2014-10-27Also join lines if cursor is on newline (after text)Marc André Tanner
2014-10-27Fix segfault when joining linesMarc André Tanner
2014-10-25Accept spaces between range and commandMarc André Tanner
2014-10-25Set correct default range for commandsMarc André Tanner
2014-10-25Support partial writesMarc André Tanner