mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2025-08-19 04:24:56 +02:00
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
aa75245d79 | ||
![]() |
e8c97ba6bf | ||
![]() |
27bbae3ccd | ||
![]() |
305c03458a | ||
![]() |
8143114a86 | ||
![]() |
a39a56cd39 | ||
![]() |
c1c076830a | ||
![]() |
d3d63395b3 | ||
![]() |
5a9a53d235 | ||
![]() |
b7e37aeb20 | ||
![]() |
a86ef05d52 | ||
![]() |
1be2d9affc |
16
CHANGES.md
16
CHANGES.md
@@ -4,6 +4,22 @@ The Changelog
|
||||
History of changes in IdeaVim for the IntelliJ platform.
|
||||
|
||||
|
||||
0.32, 2013-11-15
|
||||
----------------
|
||||
|
||||
Fixed API compatibility with IntelliJ platform builds 132.1052+.
|
||||
|
||||
|
||||
0.31, 2013-11-12
|
||||
----------------
|
||||
|
||||
A bugfix release.
|
||||
|
||||
Bug fixes:
|
||||
|
||||
* VIM-582 Fixed line comment and reformat commands with no visual selection
|
||||
|
||||
|
||||
0.30, 2013-11-11
|
||||
----------------
|
||||
|
||||
|
16
README.md
16
README.md
@@ -2,8 +2,8 @@ IdeaVim
|
||||
=======
|
||||
|
||||
IdeaVim is a Vim emulation plug-in for IDEs based on the IntelliJ platform.
|
||||
IdeaVim can be used with IntelliJ IDEA, RubyMine, PyCharm, PhpStorm, WebStorm
|
||||
and AppCode.
|
||||
IdeaVim can be used with IntelliJ IDEA, RubyMine, PyCharm, PhpStorm, WebStorm,
|
||||
AppCode and Android Studio.
|
||||
|
||||
Resources:
|
||||
|
||||
@@ -18,10 +18,10 @@ Installation
|
||||
------------
|
||||
|
||||
Use the IDE's plugin manager to install the latest version of the plugin.
|
||||
Start the IDE normally and enable the Vim emulation using "Tools | VIM
|
||||
Start the IDE normally and enable the Vim emulation using "Tools | Vim
|
||||
Emulator" menu item. At this point you must use Vim keystrokes in all editors.
|
||||
|
||||
If you wish to disable the plugin, select the "Tools | VIM Emulator" menu so
|
||||
If you wish to disable the plugin, select the "Tools | Vim Emulator" menu so
|
||||
it is unchecked. At this point IDE will work with it's regular keyboard
|
||||
shortcuts.
|
||||
|
||||
@@ -32,7 +32,7 @@ Summary of Supported Vim Features
|
||||
Supported:
|
||||
|
||||
* Motion keys
|
||||
* Deletion/Changing
|
||||
* Deletion/changing
|
||||
* Insert mode commands
|
||||
* Marks
|
||||
* Registers
|
||||
@@ -49,9 +49,9 @@ Supported:
|
||||
Not supported (yet):
|
||||
|
||||
* Key mappings
|
||||
* Various less used commands
|
||||
* Jump lists
|
||||
* Window commands
|
||||
* Jump lists
|
||||
* Various less used commands
|
||||
|
||||
Please see the file [index.txt](https://github.com/JetBrains/ideavim/blob/master/index.txt)
|
||||
for a list of commands covered with tests.
|
||||
@@ -130,7 +130,7 @@ Development
|
||||
|
||||
1. Fork IdeaVim on GitHub and clone the repository on your local machine.
|
||||
|
||||
2. Open the project in IntelliJ IDEA 11+ (Community or Ultimate) using "File |
|
||||
2. Open the project in IntelliJ IDEA 12+ (Community or Ultimate) using "File |
|
||||
Open... | /path/to/ideavim".
|
||||
|
||||
3. Set up a JDK if you haven't got it yet. Use "File | Project Structure | SDKs
|
||||
|
@@ -1,4 +1,4 @@
|
||||
version-id:0.30
|
||||
platform-version:110.0
|
||||
version-id:0.32
|
||||
platform-version:120.0
|
||||
idea.download.url=http://download.jetbrains.com/idea/ideaIU-12.1.zip
|
||||
build.number=x
|
||||
|
@@ -3,6 +3,14 @@
|
||||
<id>IdeaVIM</id>
|
||||
<change-notes>
|
||||
<![CDATA[
|
||||
<p>0.32:</p>
|
||||
<ul>
|
||||
<li>Fixed API compatibility with IntelliJ platform builds 132.1052+</li>
|
||||
</ul>
|
||||
<p>0.31:</p>
|
||||
<ul>
|
||||
<li>Various bug fixes</li>
|
||||
</ul>
|
||||
<p>0.30:</p>
|
||||
<ul>
|
||||
<li>Support for a separate <code>.ideavimrc</code> config file</li>
|
||||
@@ -19,26 +27,12 @@
|
||||
<ul>
|
||||
<li>Fixed reconfigure Vim keymap for user-defined base keymaps</li>
|
||||
</ul>
|
||||
<p>0.27:</p>
|
||||
<ul>
|
||||
<li>Better Vim keymaps for Mac OS X</li>
|
||||
<li>Ask if the plugin should enable repeating keys in Mac OS X</li>
|
||||
<li>Fixed a long-standing bug with code completion and repeat last change command ('<code>.</code>')</li>
|
||||
<li>Various bug fixes</li>
|
||||
</ul>
|
||||
<p>0.26:</p>
|
||||
<ul>
|
||||
<li>Added support for paste in the command mode: from a register using <code><C-R></code>, from the clipboard using <code><S-Insert></code> or <code><M-V></code></li>
|
||||
<li>Added support for the last change position mark (the dot <code>.</code> mark)</li>
|
||||
<li>New shortcuts for Go to declaration <code><C-]></code> and Navigate back <code><C-T></code></li>
|
||||
<li>Various bug fixes</li>
|
||||
</ul>
|
||||
<p>See also the complete <a href="https://github.com/JetBrains/ideavim/blob/master/CHANGES.md">changelog</a>.</p>
|
||||
]]>
|
||||
</change-notes>
|
||||
<description>
|
||||
<![CDATA[
|
||||
<p>Vim emulation plug-in for IDEs based on the IntelliJ platform. IdeaVim can be used with IntelliJ IDEA, RubyMine, PyCharm, PhpStorm, WebStorm and AppCode.</p>
|
||||
<p>Vim emulation plug-in for IDEs based on the IntelliJ platform. IdeaVim can be used with IntelliJ IDEA, RubyMine, PyCharm, PhpStorm, WebStorm, AppCode and Android Studio.</p>
|
||||
<p>Supported functionality:</p>
|
||||
<ul>
|
||||
<li>Motion keys</li>
|
||||
|
@@ -25,9 +25,8 @@ import com.intellij.openapi.editor.Editor;
|
||||
import com.maddyhome.idea.vim.KeyHandler;
|
||||
import com.maddyhome.idea.vim.action.AbstractDelegateEditorAction;
|
||||
import com.maddyhome.idea.vim.command.Command;
|
||||
import com.maddyhome.idea.vim.common.TextRange;
|
||||
import com.maddyhome.idea.vim.handler.AbstractEditorActionHandler;
|
||||
import com.maddyhome.idea.vim.handler.DelegateActionHandler;
|
||||
import com.maddyhome.idea.vim.handler.VisualOperatorActionHandler;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class VisualOperatorDelegateAction extends AbstractDelegateEditorAction {
|
||||
@@ -40,15 +39,9 @@ public class VisualOperatorDelegateAction extends AbstractDelegateEditorAction {
|
||||
((Handler)getHandler()).setOrigAction(origAction);
|
||||
}
|
||||
|
||||
private static class Handler extends VisualOperatorActionHandler implements DelegateActionHandler {
|
||||
protected boolean execute(@NotNull Editor editor, @NotNull DataContext context, @NotNull Command cmd,
|
||||
@NotNull TextRange range) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("execute, cmd=" + cmd + ", range=" + range);
|
||||
logger.debug("origAction=" + origAction);
|
||||
}
|
||||
private static class Handler extends AbstractEditorActionHandler implements DelegateActionHandler {
|
||||
protected boolean execute(@NotNull Editor editor, @NotNull DataContext context, @NotNull Command cmd) {
|
||||
KeyHandler.executeAction(origAction, context);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -20,8 +20,6 @@ package com.maddyhome.idea.vim.helper;
|
||||
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.command.undo.UndoManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.fileEditor.FileEditor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -30,16 +28,13 @@ import org.jetbrains.annotations.NotNull;
|
||||
* @author oleg
|
||||
*/
|
||||
public class UndoRedoHelper {
|
||||
|
||||
public static boolean undo(@NotNull final DataContext context) {
|
||||
final Project project = PlatformDataKeys.PROJECT.getData(context);
|
||||
final FileEditor fileEditor = PlatformDataKeys.FILE_EDITOR.getData(context);
|
||||
final UndoManager undoManager = UndoManager.getInstance(project);
|
||||
final com.intellij.openapi.command.undo.UndoManager undoManager = com.intellij.openapi.command.undo.UndoManager.getInstance(project);
|
||||
if (fileEditor != null && undoManager.isUndoAvailable(fileEditor)) {
|
||||
undoManager.undo(fileEditor);
|
||||
final Editor editor = PlatformDataKeys.EDITOR.getData(context);
|
||||
if (editor != null) {
|
||||
editor.getSelectionModel().removeSelection();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -48,12 +43,11 @@ public class UndoRedoHelper {
|
||||
public static boolean redo(@NotNull final DataContext context) {
|
||||
final Project project = PlatformDataKeys.PROJECT.getData(context);
|
||||
final FileEditor fileEditor = PlatformDataKeys.FILE_EDITOR.getData(context);
|
||||
final UndoManager undoManager = UndoManager.getInstance(project);
|
||||
final com.intellij.openapi.command.undo.UndoManager undoManager = com.intellij.openapi.command.undo.UndoManager.getInstance(project);
|
||||
if (fileEditor != null && undoManager.isRedoAvailable(fileEditor)) {
|
||||
undoManager.redo(fileEditor);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
package com.maddyhome.idea.vim.ui;
|
||||
|
||||
import com.intellij.ide.ui.ListCellRendererWrapper;
|
||||
import com.intellij.ui.ListCellRendererWrapper;
|
||||
import com.intellij.openapi.keymap.Keymap;
|
||||
import com.intellij.openapi.keymap.KeymapManager;
|
||||
import com.intellij.openapi.keymap.impl.KeymapManagerImpl;
|
||||
@@ -53,16 +53,19 @@ public class VimKeymapPanel {
|
||||
}
|
||||
|
||||
myKeymapComboBox.setModel(new DefaultComboBoxModel(keymaps.toArray(new Keymap[keymaps.size()])));
|
||||
myKeymapComboBox.setRenderer(new ListCellRendererWrapper(myKeymapComboBox.getRenderer()) {
|
||||
final ListCellRendererWrapper<Keymap> renderer = new ListCellRendererWrapper<Keymap>() {
|
||||
@Override
|
||||
public void customize(final JList list, final Object value, final int index, final boolean selected, final boolean cellHasFocus) {
|
||||
Keymap keymap = (Keymap)value;
|
||||
if (keymap == null) {
|
||||
return;
|
||||
public void customize(final JList list,
|
||||
final Keymap value,
|
||||
final int index,
|
||||
final boolean selected,
|
||||
final boolean cellHasFocus) {
|
||||
if (value != null) {
|
||||
setText(value.getPresentableName());
|
||||
}
|
||||
setText(keymap.getPresentableName());
|
||||
}
|
||||
});
|
||||
};
|
||||
myKeymapComboBox.setRenderer(renderer);
|
||||
|
||||
final String previousKeyMap = VimPlugin.getInstance().getPreviousKeyMap();
|
||||
myKeymapComboBox.getModel().setSelectedItem(preselectedKeymap != null ? preselectedKeymap :
|
||||
|
Reference in New Issue
Block a user