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:
parent
68ae03ef85
commit
1326e8470a
@ -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.
|
34
README.md
34
README.md
@ -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.
|
||||||
|
@ -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>
|
Loading…
Reference in New Issue
Block a user