30 Commits

Author SHA1 Message Date
Le Tan
d0bcd7a2c6 vim-mode: make cursor block visible after actions 2017-07-19 20:25:28 +08:00
Le Tan
eb71c8eff1 vim-mode: support Ctrl+R to read a register
Support `Ctrl+R` to read a register both in Insert mode and command line.
2017-07-14 10:13:55 +08:00
Le Tan
cd2ac10509 vim-mode: refine command line mode
1. Support `/` and `?` to search. `N` and `Shift+N` to find next/previous
occurence.
2. `Ctrl+N` and `Ctrl+Shift+N` to navigate through the command history.
3. `:nohlsearch` or `<leader><space>` to clear search highlight.
4. `#` and `*` to search current word under cursor.
2017-07-13 18:26:38 +08:00
Le Tan
c53950fe77 refine find/replace logics
Do not select the found target. Use highlight instead.
2017-07-12 13:16:14 +08:00
Le Tan
71bcfe3019 vim-mode
- `Ctrl+Tab` and `Ctrl+Shift+Tab` in Normal mode to alternate tabs;
- Support `:<num>` command for line jump;
- Support `%`;
2017-07-05 19:42:40 +08:00
Le Tan
f9f7a365f8 add toolbar for text editing
Bold, italic, underline, strikethrough, inline code.

Underline and strikethrough are not implemented yet.
2017-07-04 14:07:48 +08:00
Le Tan
c4683dd232 vim-mode: support ~ to reverse case 2017-07-03 21:22:06 +08:00
Le Tan
c48d646a55 vim-mode: auto disable input method in non-Insert mode
Add config "enable_smart_im_in_vim_mode".
2017-07-02 13:59:07 +08:00
Le Tan
9278149941 vim-mode: support shorcuts to jump between titles
- `[[`: jump to previous title;
- `]]`: jump to next title;
- `[]`: jump to previous title at the same level;
- `][`: jump to next title at the same level;
- `[{`: jump to previous title at a higher level;
- `]}`: jump to next title at a higher level;
2017-06-30 20:31:46 +08:00
Le Tan
e1acd6e9a2 vim-mode: support r for replacement 2017-06-30 19:17:42 +08:00
Le Tan
6df4dbe12a vim-mode: support more text objects for i and a
Now Vim supports word, WORD, '', "", ``, (), [], <>, {} as text object.
2017-06-29 19:36:50 +08:00
Le Tan
4b1e256308 vim-mode: going back to Normal mode from insert mode will clear auto indent and auto list 2017-06-28 22:04:54 +08:00
Le Tan
11f06bf617 vim-mode: bug fixes
1. Enable repeat in f/t/F/T movement;
2. Make cw/W behave like ce/E;
2017-06-27 22:03:41 +08:00
Le Tan
9f4ac1f260 bug-fix: add Q_OS_MAC for check
Qt 5.7 seems to use Q_OS_MAC instead of Q_OS_MACOS.
2017-06-25 18:36:05 +08:00
Le Tan
a9ad26b035 vim-mode: use MetaModifier rather than ControlModifier in Vim mode on macOS 2017-06-25 14:58:52 +08:00
Le Tan
2734b8407c vim-mode: support canceling autoindent after o/O 2017-06-21 22:00:11 +08:00
Le Tan
e305024a58 vim-mode: support simple marks(a-z)
Different behaviors from Vim: after deleting the line with a mark set,
VNote could not detect if this mark is set or not. VNote just simply
jumps to the same line.
2017-06-20 23:50:27 +08:00
Le Tan
878264b8fc vim-mode: support location jump with Ctrl+O and Ctrl+I 2017-06-20 19:37:52 +08:00
Le Tan
10a9447b96 vim-mode: support command line mode and leader key
1. We now support limited commands: :w, :q, :wq, :x, :q! ;
2. We now support fixed leader sequence: y, d, p, P ;
3. Support <num>% to goto <num>/100 percent of the document.
2017-06-20 15:23:58 +08:00
Le Tan
5953954786 vim-mode: support undo/redo and zt/zz/zb
Change SaveAndRead from Ctrl+R to Ctrl+T.
2017-06-19 21:44:17 +08:00
Le Tan
d909091f46 vim-mode: add an indicator for Vim status in status bar 2017-06-19 15:56:12 +08:00
Le Tan
ffce4b9611 vim-mode: message for Vim mode 2017-06-18 09:44:11 +08:00
Le Tan
7871965bf8 vim-mode: support f/F/t/T movement
Support `;` and `,` to repeat last find movement.
2017-06-17 14:33:49 +08:00
Le Tan
5047e19b24 vim-mode: support Copy/Paste/Change/Indent/UnIndent/ToLower/ToUpper action 2017-06-17 11:26:51 +08:00
Le Tan
f6a91d04a8 vim-mode: Ctrl+O to support autoindent and autolist 2017-06-15 11:16:04 +08:00
Le Tan
eba2556a3a vim-mode: support DELETE action
Actions related to `d` and `x`.
2017-06-14 17:25:24 +08:00
Le Tan
71ea514bfa vim-mode: support registers 2017-06-13 15:48:03 +08:00
Le Tan
cbf207d9ed vim-mode: support word-related movement
- `w`, `W`, `e`, `E`, `b`, `B`, `ge`, and `gE`.
2017-06-12 20:20:04 +08:00
Le Tan
b7f2690e96 vim-mode: reset to Normal mode when edit begins 2017-06-11 21:05:33 +08:00
Le Tan
a8c76d6742 support normal Vim mode
1. Support Insert/Normal/Visual/VisualLine modes:
    - `V`, `v`, `I`, `i`, `A`, `a`, `s`, `Esc`, `Ctrl+[`, `o`, `O`;
2. Support movement commands (with Repeat support):
    - `h`, `j`, `k`, `l`, `gj`, `gk`;
    - `gg`, `G`;
    - `^`, `0`, `$`;
    - `Ctrl+U`, `Ctrl+D`, `PageUp`, `PageDown`, `Ctrl+B`;
2017-06-11 16:31:25 +08:00