Bot releases are visible (Hide)
Published by github-actions[bot] over 1 year ago
Published by github-actions[bot] over 1 year ago
version
command to select tiny
, small
, normal
, big
, or huge
.Example:
" Only comments can be written in here.
version tiny
" Any command can be written from.
" For example
set shell = cmd
Tier | Supported Features |
---|---|
tiny | +mouse +syscmd |
small | +mouse +syscmd +window +process |
normal | +mouse +syscmd +window +process +vimemu |
big | +mouse +syscmd +window +process +vimemu +hotkey +gvmode |
huge | +mouse +syscmd +window +process +vimemu +hotkey +gvmode +experimental |
Following Vim, there are five tiers. tiny
has minimal commands for mouse moving and clicking, including EasyClick and GridMove. small
allows more flexible handling of window controls and process launches, etc. normal
has Vim emulation mappings and allows text editing in text areas, etc. big
adds several hotkeys that redefine some of the shortcut keys in Windows to operate Windows with more Vim-like ways. It also provides GUI Visual Mode (+gvmode), which allows for holding down the mouse. huge
allows win-vind to have experimental features for more complex operations.
Published by github-actions[bot] over 1 year ago
<gridmove>
function to move a cursor using hints located with grid-cell style.gridmove_bgcolor
, gridmove_fontcolor
, gridmove_fontname
, gridmove_fontsize
, and gridmove_fontweight
.gridmove_size
option in order to set the grid size, which assumes a text as its value, such as 12x8
for horizontal 12 cells and vertical 8 cells.<Ctrl-m>
in GUI normal mode.hintkeys
option (#172)hintkeys
option accpets as input a set of non-duplicate characters and assigns them to the hints in order from the first to the last.set hintkeys=abcdefg
<click_mid>
function to click the middle buttion of a mouse.To define flexible macros, <easy_click_left>
, <easy_click_right>
, <easy_click_mid>
, and <easy_click_hover>
are eliminated and <easyclick>
is added to only move the cursor. For compatibility, the previous function names are replaced internally with the following.
Conventional Name | Automatically Replaced Name |
---|---|
<easy_click_left> |
<easyclick><click_left> |
<easy_click_right> |
<easyclick><click_right> |
<easy_click_mid> |
<easyclick><click_mid> |
<easy_click_hover> |
<easyclick> |
Eliminate easyclick_colordecay
option.
Change the style of the hint label.
<switch_window>
(#159)Published by pit-ray over 1 year ago
<gridmove>
function to move a cursor using hints located with grid-cell style (#115, #145, #155).gridmove_bgcolor
, gridmove_fontcolor
, gridmove_fontname
, gridmove_fontsize
, and gridmove_fontweight
.gridmove_size
option in order to set the grid size, which assumes a text as its value, such as 12x8
for horizontal 12 cells and vertical 8 cells.In this build, the default bindings of <gridmove>
in gui normal mode are set to <c-m>
.
For example, we can change its parameters.
gnnoremap <ctrl-h> <gridmove><click_left> " move and click
set gridmove_size=12x8 " 8x12 matrix
set gridmove_bgcolor=323232
set gridmove_fontcolor=c8c8c8
set gridmove_fontsize=14
set gridmove_fontweight=500
set gridmove_fontname=Arial
Plaese try it.
Published by github-actions[bot] over 1 year ago
Published by github-actions[bot] over 1 year ago
Published by github-actions[bot] over 1 year ago
<syscmd_*>
were renamed.<ctrl-]>
and <ctrl-[>
in addition to mode transitions using <esc>
. (#118 )--command
option to run commands from the terminal. (#101, #97)g
or e
for batch map registration. (#91)listen_interval
option to change interval time of synchronous timer for server-client running. (#112)<jump_cursor_with_keybrd_layout>
on multiple displays. (#99, #102)Published by pit-ray over 1 year ago
Published by pit-ray almost 2 years ago
MAJOR.MINOR.PATCH.TAG
.Published by pit-ray almost 2 years ago
listen_interval
option to change interval time of synchronous timer. (#112)--command
option to execute arbitrary commands from terminal. (#101, #97)default_config
directory.Published by pit-ray almost 2 years ago
<esc-left>
.Published by pit-ray almost 2 years ago
Attention: This version also includes the contents of v4.4.0-rc1. Please refer those changes as well.
The conventional map
and noremap
have different purposes. The map is designed to propagate defined macros to other applications except for win-vind, whereas the noremap effects in win-vind score only.
However, the NEW map
and the NEW noremap
have similar features of Vim and are separated on whether allow remapping like Vim.
Specifically, the map
allows remapping with user-defined mapping like the following.
nmap f h " f --> h
nmap t f " t --> h
The noremap performs only the default map.
nnoremap f h " f --> h
nnoremap t f " t --> f
The command kind is the same, but the way to interpret the arguments.
Command | Syntax |
---|---|
noremap | noremap [trigger-cmd] [target-cmd] |
map | map [trigger-cmd] [target-cmd] |
unmap | unmap [trigger-cmd] |
mapclear | mapclear |
command | command [trigger-cmd] [targer-cmd] |
delcommand | delcommand [trigger-cmd] [target-cmd] |
comclear | comclear |
Note: The syntax is not included [
and ]
.
The [trigger-cmd] is assumed to key typing only and the [target-cmd] has three types of intepretation.
Type of [target-cmd] | Example | Notes |
---|---|---|
Function Name | map FF <easy_click_left> |
Calls the pre-defined functions. |
Internal Macro | map XX a<ctrl-f>bcd |
Generate macros inside the internal scope of win-vind. This feature uses to define some shortcuts to a function or some combined mapping consisting of multiple pre-defined functions. |
External Macro | map g {This text is inserted} |
Define macros that are propagated outside of win-vind by enclosing them in { and } . This emulates the action of the user pressing the keyboard itself, and a single key to single key mapping (e.g. map a {b} ) is the most efficient low-level mapping done. |
These [target-cmd] can be incorporated into a single map as follows.
map g <easy_click_left>b{This text is inserted}<switch_window>hh<cr>
The mapping represents a macro that is triggered by g
, activates easy_click, jumps to the position of the hint in b
, enters the string "This text is inserted", and then selects the two-left window with switch_window.
This version will preform an optimization process that merges several maps into one map, unless it contains a command to change the mode. For example, the following mappings will be merged into one.
nmap b h
nmap o b
nmap p o
nmap p h
Below are some examples of use.
imap <win-[> <to_edi_normal>
imap <win-]> <to_gui_normal>
nmap mail {[email protected]}
nmap <ctrl-1> :execute https://example.com<cr>
nmap <ctrl-2> :! notepad<cr>
enmap t yyGp
We received many requests to register maps across several modes, so we added batch-mapping with the same grouping as in Vim.
You can mode prefix to specify modes.
Prefix | Mode |
---|---|
|
GUI Normal, GUI Visual, Edi Normal, Edi Visual |
g |
GUI Normal, GUI Visual |
e |
Edi Normal, Edi Visual |
n |
GUI Normal, Edi Normal |
v |
GUI Visual, Edi Visual |
gn |
GUI Normal |
gv |
GUI Visual |
en |
Edi Normal |
ev |
Edi Visual |
i |
Insert Mode |
r |
Resident Mode |
c |
Command Mode |
However, external macros in cmap
and cnoremap
are not input to other applications and behave the same as internal macros.
You can disable the absorption of some keys and allow them to be input, as in map <alt> {<alt>}
. However, this is only valid for a single key.
If the target command consists of multiple characters like map g abcgd
and contains a trigger command, the following warning statement will be printed to log and no mapping will be done.
[Warning] Some part of the command generated from mapping `g * :e https://google.com<return>` was ignored to avoid an infinite loop because it was mapped to itself by mapping `g * :e https://google.com<return>`. If you wish to enter the generated command as is, enclose it in `{}`.
Since the mode transition combined with ESC in win-vind was not well received, we adopted the same command as in Vim.
Type of map | Function ID | Conventional trigger of map | New trigger of map |
---|---|---|---|
imap | to_gui_normal |
<Esc-Left> |
<Ctrl-]> |
imap | to_edi_normal |
<Esc-Right> |
<Ctrl-[> |
The conventional <syscmd_*>
function names are renamed to simple ones. Please refer next link.
https://github.com/pit-ray/win-vind/blob/master/src/bind/mapdefault.cpp#L466-L522
The following is the correspondence between the options that were removed and their replacements. The -
is completely obsolete.
Eliminated options | Replacements |
---|---|
window_accel |
window_velocity |
window_tweight |
window_velocity |
window_maxv |
window_velocity |
cursor_tweight |
cursor_resolution |
cursor_maxv |
- |
cmd_maxchar |
- |
cmd_maxhist |
- |
Details of the new options are as follows.
New options | Notes |
---|---|
window_velocity |
Pixel-level velocity in the constatnt acceleration motion of the window in winresizer. |
cursor_resolution |
A weight for scaling the time of constant acceleration motion of the mouse cursor. |
The default map has been defined by default_config/.vindrc
but is now embedded in the code to increase startup speed.
Published by pit-ray over 2 years ago
Add the following word-motion which behave almost exactly like Vim. (#57, #75)
ID | Feature | Emulation |
---|---|---|
move_fwd_word | words forward for normal mode. | w |
move_fwd_word_simple | words forward for visual mode. | w |
move_bck_word | words backward for normal mode. | b |
move_bck_word_simple | words backward for visual mode. | b |
move_fwd_bigword | WORDS forward. | W |
move_bck_bigword | WORDS backward. | B |
move_end_word | Forward to the end of words. | e |
move_end_bigword | Forward to the end of WORDS. | E |
move_bckend_word | Backward to the end of words. | ge |
move_bckend_bigword | Backward to the end of WORDS. | gE |
These functions do not work in visual mode except for w
and b
, because they copy the text once and retrieve the text via the clipboard. iskeyword
option is fixed to the default value of Vim in Windows and cannot change it currently.
There is an option charbreak
to set the criteria for considering a Unicode character as a single character.
ID | Type | Default | Note |
---|---|---|---|
charbreak |
str | grapheme | Mode for how to split a single Unicode character. The grapheme mode treats a combination character as a single character. The codepoint mode processes the combination character for each codepoint. |
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] almost 3 years ago
switch_char_case
in multiple languages text.Published by github-actions[bot] almost 3 years ago
map
.noremap
triggered by a command.Published by github-actions[bot] almost 3 years ago
:e
with no arguments.map
and noremap
. For example, you can use it as follows.gnnoremap <ctrl-1> :!notepad<cr>
gnnoremap <ctrl-2> :e https://www.google.com<cr>
gnmap <ralt> <ctrl-s>
imap <ctrl-right> This text will be inserted.
"Load .vindrc in another directory
source ~/.vindrc
source C:/Users/pit-ray/Desktops/.vindrc
" Load .vindrc from GitHub
source pit-ray/remote_vindrc_demo
Support recursive directory creation with :mkdir
command (e.g. :mkdir foo/bar
)
Support double-clicking with EasyClick (e.g. 2FF
).
Feedback is welcome. https://github.com/pit-ray/win-vind/discussions/52
Published by github-actions[bot] about 3 years ago
portable
and the installer version to specify installer
.choco install win-vind
)winget install win-vind
)Published by github-actions[bot] about 3 years ago
.vindrc
at startup, use the default value and show the main error on the command line.repeat_last_change
)set blockstylecaret " Enable
set blockstylecaret_mode = solid " Static size mode [Default]
set blockstylecaret_mode = flex " Variable size mode
set blockstylecaret_width = 15 " Width on solid mode
I have been able to confirm that this version works with the following Windows 11.
Edition | Windows 11 Home Insider Preview |
Version | Dev |
OS Build | 22449.1000 |
Experience | Windows Feature Experience Pack 1000.22449.1000.0 |
Published by github-actions[bot] about 3 years ago