1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-05-24 15:34:09 +02:00

Update docs of IdeaVim

This commit is contained in:
Alex Plate 2019-07-17 15:39:20 +03:00
parent 68ae03ef85
commit 1326e8470a
No known key found for this signature in database
GPG Key ID: 0B97153C8FFEC09F
3 changed files with 55 additions and 55 deletions

View File

@ -26,40 +26,40 @@ You can start by:
- Picking relatively simple tasks that are tagged with - Picking relatively simple tasks that are tagged with
[#patch_welcome](https://youtrack.jetbrains.com/issues/VIM?q=%23patch_welcome%20%23Unresolved%20sort%20by:%20votes%20) [#patch_welcome](https://youtrack.jetbrains.com/issues/VIM?q=%23patch_welcome%20%23Unresolved%20sort%20by:%20votes%20)
in the issue tracker. in the issue tracker.
- Read about `@VimBehaviorDiffers` annotation and fix corresponding functionality. - Read about the `@VimBehaviorDiffers` annotation and fix the corresponding functionality.
### Development Environment ### Development Environment
1. Fork IdeaVim on GitHub and clone the repository on your local machine. 1. Fork IdeaVim on GitHub and clone the repository on your local machine.
2. Import the project from existing sources in IntelliJ IDEA 2018.1 or newer (Community or 2. Import the project from the existing sources in IntelliJ IDEA 2018.1 or newer (Community or
Ultimate) using "File | New | Project from Existing Sources..." or "Import Ultimate), by selecting "File | New | Project from Existing Sources..." or selecting "Import
Project" from the start window. Project" from the Welcome screen.
* In the project wizard select "Import project from external model | Gradle" * In the project wizard, select "Import project from external model | Gradle".
* Select your Java 8+ JDK as the Gradle JVM, leave other parameters unchanged * Select your Java 8+ JDK as the Gradle JVM; leave other parameters unchanged.
3. Run your IdeaVim plugin within IntelliJ via a Gradle task 3. Run your IdeaVim plugin within IntelliJ via a Gradle task:
* Select "View | Tool Windows | Gradle" tool window * Select the "View | Tool Windows | Gradle" tool window.
* Launch "ideavim | intellij | runIde" from the tool window * Launch "ideavim | intellij | runIde" from the tool window.
4. Run IdeaVim tests via a Gradle task 4. Run IdeaVim tests via a Gradle task:
* Select "View | Tool Windows | Gradle" tool window * Select the "View | Tool Windows | Gradle" tool window.
* Launch "ideavim | verification | test" from the tool window * Launch "ideavim | verification | test" from the tool window.
5. Build the plugin distribution by running `./gradlew clean buildPlugin` in the 5. Build the plugin distribution by running `./gradlew clean buildPlugin` in the
terminal in your project root. terminal in your project root.
* The resulting distribution file is build/distributions/IdeaVim-VERSION.zip * The resulting distribution file will be located at build/distributions/IdeaVim-VERSION.zip
* You can install this file using "Settings | Plugins | Install plugin * You can install this file by selecting "Settings | Plugins | Install plugin
from disk" from disk...".
### Copyright ### Copyright
@ -67,7 +67,7 @@ in the issue tracker.
Name: Copyright scope Name: Copyright scope
Pattern: `file[IdeaVIM.main]:com//*||file[IdeaVIM.test]:*/` Pattern: `file[IdeaVIM.main]:com//*||file[IdeaVIM.test]:*/`
2. Go to `Preferences | Editor | Copyright | Copyright Profiles`, press "+" button. 2. Go to `Preferences | Editor | Copyright | Copyright Profiles` and click the "+" button.
Name: IdeaVim Name: IdeaVim
Text: Text:
@ -87,20 +87,20 @@ in the issue tracker.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
3. Go to `Preferences | Editor | Copyright`, press "+" button. 3. Go to `Preferences | Editor | Copyright`, click the "+" button.
Scope: Copyright scope Scope: Copyright scope
Copyright: IdeaVim Copyright: IdeaVim
### Testing ### Testing
1. Read about `@VimBehaviorDiffers` annotation. 1. Read about the `@VimBehaviorDiffers` annotation.
2. Please avoid senseless text like "dhjkwaldjwa", "asdasdasd", 2. Please avoid senseless text like "dhjkwaldjwa", "asdasdasd",
"123 123 123 123", etc. Try to select a text that you can simply "123 123 123 123", etc. Try to choose an example text that is easy to
read and find out what is wrong if the test fails. read and understand what is wrong if the test fails.
For example, take a few lines from your favorite poem, or take For example, take a few lines from your favorite poem, or use
"Vladimir Nabokov A Discovery" if you don't have one. "Vladimir Nabokov A Discovery" if you don't have one.
3. Test your functionality properly. 3. Test your functionality properly.
Especially check whether your command works with: Especially check whether your command works with:
line start, line end, file start, file end, empty line, multiple carets, dollar motion. line start, line end, file start, file end, empty line, multiple carets, dollar motion, etc.

View File

@ -22,7 +22,7 @@ IdeaVim
</div> </div>
IdeaVim is a Vim emulation plugin for IDEs based on the IntelliJ platform. IdeaVim is a Vim emulation plugin for IDEs based on the IntelliJ Platform.
IdeaVim can be used with IntelliJ IDEA, PyCharm, CLion, PhpStorm, WebStorm, IdeaVim can be used with IntelliJ IDEA, PyCharm, CLion, PhpStorm, WebStorm,
RubyMine, AppCode, DataGrip, GoLand, Rider, Cursive, and Android Studio. RubyMine, AppCode, DataGrip, GoLand, Rider, Cursive, and Android Studio.
@ -48,12 +48,12 @@ shortcuts.
Keyboard shortcut conflicts between the Vim emulation and the IDE can be Keyboard shortcut conflicts between the Vim emulation and the IDE can be
resolved via "File | Settings | Editor | Vim Emulation", "File | Settings | resolved via "File | Settings | Editor | Vim Emulation", "File | Settings |
Keymap" on Linux & Windows, and by "Preferences | Editor | Vim Emulation", Keymap" on Linux & Windows, and via "Preferences | Editor | Vim Emulation",
"Preferences | Keymap" on macOS. They can also be resolved by key mapping "Preferences | Keymap" on macOS. They can also be resolved by key-mapping
commands in your ~/.ideavimrc file. commands in your ~/.ideavimrc file.
Get an Early Access Get Early Access
------------------- -------------------
Would you like to try new features and fixes? Join the Early Access Program and Would you like to try new features and fixes? Join the Early Access Program and
@ -64,7 +64,7 @@ Add [https://plugins.jetbrains.com/plugins/eap/ideavim](https://plugins.jetbrain
See [the changelog](CHANGES.md) for the list of hot unreleased features. See [the changelog](CHANGES.md) for the list of hot unreleased features.
It is important to distinguish EAP from traditional pre-release software. It is important to distinguish EAP builds from traditional pre-release software.
Please note that the quality of EAP versions may at times be way below even Please note that the quality of EAP versions may at times be way below even
usual beta standards. usual beta standards.
@ -104,7 +104,7 @@ Emulated Vim plugins:
Not supported (yet): Not supported (yet):
* Jump lists * Jump lists
* Various less used commands * Various less-used commands
See also: See also:
@ -118,16 +118,16 @@ Files
* ~/.ideavimrc * ~/.ideavimrc
* Your IdeaVim-specific Vim initialization commands * Your IdeaVim-specific Vim initialization commands
You can read your ~/.vimrc file from ~/.ideavimrc using this command: You can read your ~/.vimrc file from ~/.ideavimrc with this command:
source ~/.vimrc source ~/.vimrc
Note, that IdeaVim currently parses ~/.ideavimrc file via simple pattern matching, Note, that IdeaVim currently parses ~/.ideavimrc file via simple pattern matching.
see [VIM-669](http://youtrack.jetbrains.com/issue/VIM-669) for proper parsing See [VIM-669](http://youtrack.jetbrains.com/issue/VIM-669) for proper parsing
of VimL files. of VimL files.
Also note that if you have overridden the `user.home` JVM option, this Also note that if you have overridden the `user.home` JVM option, this
will affect where IdeaVim looks for your .ideavimrc file. For example, if you will affect where IdeaVim looks for your .ideavimrc file. For example, if you
have `-Duser.home=/my/alternate/home` then IdeaVim will source have `-Duser.home=/my/alternate/home` then IdeaVim will source
`/my/alternate/home/.ideavimrc` instead of `~/.ideavimrc`. `/my/alternate/home/.ideavimrc` instead of `~/.ideavimrc`.
@ -158,7 +158,7 @@ Changes to the IDE
### Undo/Redo ### Undo/Redo
The IdeaVim plugin uses the undo/redo functionality of the IntelliJ platform, The IdeaVim plugin uses the undo/redo functionality of the IntelliJ Platform,
so the behavior of the `u` and `<C-R>` commands may differ from the original so the behavior of the `u` and `<C-R>` commands may differ from the original
Vim. Vim compatibility of undo/redo may be improved in future releases. Vim. Vim compatibility of undo/redo may be improved in future releases.
@ -166,11 +166,11 @@ See also [unresolved undo issues](http://youtrack.jetbrains.com/issues/VIM?q=%23
### Escape ### Escape
Using `<Esc>` in dialog windows remains problematic. For most dialog windows Using `<Esc>` in dialog windows remains problematic. For most dialog windows,
the Vim emulator is put into the insert mode with `<Esc>` not working. You the Vim emulator is put into insert mode with `<Esc>` not working. You
should use `<C-c>` or `<C-[>` instead. In some dialog windows the normal mode is should use `<C-c>` or `<C-[>` instead. In some dialog windows, the normal mode is
on by default. The usage of the Vim emulator in dialog windows is an area for switched by default. The usage of the Vim emulator in dialog windows is an area for
improvements. improvement.
See also [unresolved escape issues](http://youtrack.jetbrains.com/issues/VIM?q=%23Unresolved+Help+topic%3A+i_Esc). See also [unresolved escape issues](http://youtrack.jetbrains.com/issues/VIM?q=%23Unresolved+Help+topic%3A+i_Esc).
@ -204,4 +204,4 @@ for a list of authors and contributors.
License License
------- -------
IdeaVim is licensed under the terms of the GNU Public license version 2. IdeaVim is licensed under the terms of the GNU Public License version 2.

View File

@ -1,7 +1,7 @@
List of Supported Set Commands List of Supported Set Commands
============================== ==============================
The following `:set` commands can appear in `~/.ideavimrc` or set manually in the command mode: The following `:set` commands can appear in `~/.ideavimrc` or be set manually in the command mode:
'clipboard' 'cb' clipboard options 'clipboard' 'cb' clipboard options
Standard clipboard options plus Standard clipboard options plus
@ -10,9 +10,9 @@ The following `:set` commands can appear in `~/.ideavimrc` or set manually in th
enable native idea paste action for put operations enable native idea paste action for put operations
'digraph' 'dg' enable the entering of digraphs in Insert mode 'digraph' 'dg' enable the entering of digraphs in Insert mode
'gdefault' 'gd' the ":substitute" flag 'g' is default on 'gdefault' 'gd' the ":substitute" flag 'g' is by default
'history' 'hi' number of command-lines that are remembered 'history' 'hi' number of command-lines that are remembered
'hlsearch' 'hls' highlight matches with last search pattern 'hlsearch' 'hls' highlight matches with the last search pattern
`ideamarks` `ideamarks` Boolean (default true) - IdeaVim ONLY [To Be Released] `ideamarks` `ideamarks` Boolean (default true) - IdeaVim ONLY [To Be Released]
@ -49,44 +49,44 @@ The following `:set` commands can appear in `~/.ideavimrc` or set manually in th
`lookupactions` `lookupactions` String (default "VimLookupUp,VimLookupDown") - IdeaVim Only [To Be Released] `lookupactions` `lookupactions` String (default "VimLookupUp,VimLookupDown") - IdeaVim Only [To Be Released]
By default all actions are handled by IDE if lookup is active. By default all actions are handled by the IDE if lookup is active.
This list of comma separated words enable defined vim actions for active lookup. This list of comma-separated words enables defined vim actions for active lookup.
'relativenumber' 'rnu' show the line number relative to the line with 'relativenumber' 'rnu' show the line number relative to the line with
the cursor the cursor
'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D 'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D
'scrolljump' 'sj' minimum number of lines to scroll 'scrolljump' 'sj' minimum number of lines to scroll
'scrolloff' 'so' minimum nr. of lines above and below cursor 'scrolloff' 'so' minimum number of lines above and below the cursor
'selection' 'sel' what type of selection to use 'selection' 'sel' what type of selection to use
`selectmode` `slm` String (default "template") [To Be Released] `selectmode` `slm` String (default "template") [To Be Released]
This is a comma separated list of words, which specifies when to start This is a comma-separated list of words, which specify when to start
Select mode instead of Visual mode, when a selection is started. Select mode instead of Visual mode, when a selection is started.
Possible values: Possible values:
mouse when using the mouse mouse when using the mouse
key when using shifted special[1] keys key when using shifted special[1] keys
cmd when using "v", "V" or <C-V> cmd when using "v", "V", or <C-V>
template when template starting - IdeaVim ONLY template when starting atemplate - IdeaVim ONLY
refactoring when refactoring without - IdeaVim ONLY refactoring when refactoring without - IdeaVim ONLY
template performed a template is performed
'showmode' 'smd' message on status line to show current mode 'showmode' 'smd' message on the status line to show current mode
`ideajoin` `ideajoin` Boolean (default false) - IdeaVim ONLY [To Be Released] `ideajoin` `ideajoin` Boolean (default false) - IdeaVim ONLY [To Be Released]
If true, join command will be performed via IDE If true, join command will be performed via IDE
See ideajoin-examples.md See ideajoin-examples.md
'sidescroll' 'ss' minimum number of columns to scroll horizontal 'sidescroll' 'ss' minimum number of columns to scroll horizontally
'sidescrolloff' 'siso' min. nr. of columns to left and right of cursor 'sidescrolloff' 'siso' min. number of columns to left and right of cursor
'smartcase' 'scs' no ignore case when pattern has uppercase 'smartcase' 'scs' no ignore case when pattern is uppercase
'timeout' 'to' use timeout for mapped key sequences 'timeout' 'to' use timeout for mapped key sequences
'timeoutlen' 'tm' time that is waited for a mapped key sequence 'timeoutlen' 'tm' timeout duration for a mapped key sequence
'undolevels' 'ul' maximum number of changes that can be undone 'undolevels' 'ul' maximum number of changes that can be undone
'viminfo' 'vi' information to remember after restart 'viminfo' 'vi' information to remember after restart
'visualbell' 'vb' use visual bell instead of beeping 'visualbell' 'vb' use visual bell instead of beeping
'wrapscan' 'ws' searches wrap around the end of the file 'wrapscan' 'ws' searches wrap around the end of file
---------- ----------
[1] - cursor keys, <End>, <Home>, <PageUp> and <PageDown> [1] - cursor keys, <End>, <Home>, <PageUp> and <PageDown>