Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Plugins development => Topic started by: arthurzmj on May 16, 2014, 04:03:38 pm
-
Hi, guys, I've developed a VIM like plugin for Code::Blocks. It's based on the origin keybinder plugin. And the first prototype was developed by ayheos. I improved it and retains the name. You can find the previous discussion at http://forums.codeblocks.org/index.php/topic,6214.msg106074.html#msg106074 (http://forums.codeblocks.org/index.php/topic,6214.msg106074.html#msg106074)
Features
- Mode Convertion such as NORMAL, INSERT
- General VIM key shortcuts
- Regular expression searching
- Some commands start with ':'
- An embedded status bar showing commands and status
Download
You can find the repository and detail description at https://github.com/zmj64351508/cbvike (https://github.com/zmj64351508/cbvike)
Demonstration
(http://i1288.photobucket.com/albums/b482/nxpzmj/test2_zps080f3fb0.gif)
Change Log
v0.2.1 2014-05-31
--Support Motion with Operator and duplicate number.
--Fix bugs
v0.2.0 2014-05-23
--Add support to split window edit.
--Fix bugs
v0.1.1 2014-05-17
--Add an embedded status bar.
v0.1.0 2014-05-17
--The first release
Any feedback is welcome
-
This is really cool. I like it.
And I did some improvement for it. I like to use :w and :q so, I add 2 command for it.
Thanks for create this project.
-
This is really cool. I like it.
And I did some improvement for it. I like to use :w and :q so, I add 2 command for it.
Thanks for create this project.
Hi, where is your project that people test your contribution?
-
This is really cool. I like it.
And I did some improvement for it. I like to use :w and :q so, I add 2 command for it.
Thanks for create this project.
Hi, where is your project that people test your contribution?
Hi, Ollydbg
Thanks for asking, here is the source code:
https://github.com/jwis/cbvike
-
Are you aware of Neovim ? it is a fork of vim aiming at decoupling the backend from the User Interface (UI) in order to allow IDEs to embed vim? There are already some examples such as nyaovim https://github.com/rhysd/NyaoVim
In the long term, it should prove a better choice then reimplementing vim keystrokes in each and every IDE.
-
Are you aware of Neovim ? it is a fork of vim aiming at decoupling the backend from the User Interface (UI) in order to allow IDEs to embed vim? There are already some examples such as nyaovim https://github.com/rhysd/NyaoVim
In the long term, it should prove a better choice then reimplementing vim keystrokes in each and every IDE.
It's cool!! but how to use it with Codeblocks?
I just add "J" function for cbvike. So far, it works as what I expected. But I would like to see more mature solution for that.
Actually, I have did an POC to use eclim as backend, and node.js as the server to build an web based IDE. It works, I can create project, coding with CodeComplete features and compile/run the project. but I need to rebuild the UI by myself. that's too many investment for me.
-
Are you aware of Neovim ? it is a fork of vim aiming at decoupling the backend from the User Interface (UI) in order to allow IDEs to embed vim? There are already some examples such as nyaovim https://github.com/rhysd/NyaoVim
In the long term, it should prove a better choice then reimplementing vim keystrokes in each and every IDE.
It's cool!! but how to use it with Codeblocks?
I have the same question.
-
I've been using neovim for the past 2 years and I believe it's already a lot better than vim.
As for how to embed into an IDE, I don't know how mature it is yet. I just know Neovim relies on msgpack-rpc for communications between the server and the UI but one can get more info from their irc or this page:
https://github.com/neovim/neovim/wiki/Related-projects
The atom integration https://github.com/carlosdcastillo/vim-mode created a bit of a buzz back then.
The idea is that one can use (neo)vim with his very own configuration/plugins.
There are some ideas to improve the integration as well:
https://tarruda.github.io/articles/neovim-smart-ui-protocol/
-
a few more pointers of interest, the first one explaining how neovim embedding works:
https://github.com/neovim/neovim/wiki/Plugin-UI-architecture
https://github.com/equalsraf/neovim-qt and https://github.com/oakes/SolidOak are examples of such embedding
-
So, I packaged this for Arch Linux: https://aur.archlinux.org/packages/cbvike/
Mods: can you add this information to the OP?
-
Is anyone still looking for information how to use cbvike?