Giter Club home page Giter Club logo

droidvim's Introduction

DroidVim

DroidVim is a Vim clone for Android.
Download the DroidVim from Google Play

To build the "DroidVim" application, choose the droidvim flavor and build.
To avoid repository bloat, the latest Vim binaries are included in the build branch. If you need the latest Vim binaries, please checkout to the build branch before building.
The build branch will be rebased to the latest master branch.

This code is based on the "Terminal Emulator for Android".
By choosing the terminal flavor, you can build the "Terminal Emulator for Android" compatible application with various functions of the DroidVim.

Licensing

  • DroidVim is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
  • Terminal Emulator for Android code is used which is released under Apache 2.0 license.

droidvim's People

Contributors

adamjhogan avatar alexander-- avatar dfffffff avatar druzus avatar dstahlke avatar dvhh avatar eug89 avatar gles avatar gustav0ar avatar hyperb1iss avatar jackpal avatar jacobmllr95 avatar jspricke avatar ladios avatar maniac103 avatar mcgivergim avatar monaka avatar pelya avatar pfalcon avatar phantom10111 avatar pylersm avatar rmcc avatar robewald avatar sconosciuto avatar serjbog avatar shiftrot avatar splondike avatar steven676 avatar thiasb avatar vladislavkoldobskiy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

droidvim's Issues

segmentation fault on android 10

Screenshot_20200223_001559

the app can not work after update to android 10.

device: huawei p30
android version: 10

I love this app, any advices for me to make it work again?

new to Android (not vi) - a manual?

droidvim does everything as expected except save files. Vim was explicitly about editing files, but the files seem to have disappeared on Android. What is the alternative? Perhaps a "how to" on the front page for people who already use vim might be useful.

The version of android I am using may be the issue but surely, surely, if there is a thing called "Files" on the "desktop" it opens something that is default standard? Droidvim is not going to the same place. Is this a possible fix?

It is possible the android notion of "File" is an appropriation and there is no point thinking of files unless I have "rooted" the system. I only wanted to create a local html page that the browser could find and perhaps that is not possible either. If this is the case, a pointer in a "how to" would be useful.

Release on fdroid

what about releasing this app on f-droid?
Most vim users are fdroid users on phone.

copied text shouldn't have a new line character at the end

To reproduce do this:

  1. Start the app.
  2. Write some text in it.
  3. Do a long tap, choose Share, then current buffer in the menu and choose copy in the dialogue.
  4. Paste the the text in any other app (Google Keep or Google Docs for example) and you will see that there is a new line after pasted text though it shouldn't be here.

There is the same problem if you copy selected text instead of whole buffer.

App version is 2.2.6+DFM.

Can't write file back to other app (content provider?)

If I select a file to open in my backup app (Tresorit) and then pick DroidVim, the file data gets to DroidVim but saving it back does not work. This is possible at least in principle since KeePassDroid and QuickEdit can do it.

Terminal emulator background is not always black

I'm not sure if this is related to the DroidVim, but I have to ask.
I run it on LineageOS 16 (Android 9) on Galaxy S7 Edge.
I wanted to set the pure black terminal background, but I have noticed that the terminal window background color changes depending on the location of the cursor focus.

Related settings:

  • Terminal: screen-256color
  • Text color setting: Linux console (I have tried with other choices, the behaviour is same)
  • Customized Vim colorscheme

So, this is the screenshot when the cursor is located in one-line textbox (background is true black):
Screenshot_20191211-105933_DroidVim1

And this is the screenshot when the focus is in the terminal window, in the text (not pure black):
Screenshot_20191211-105946_DroidVim1

Other that this, I haven't encountered any problems.

Can't see it in recent task

Thanks for the great app, but I often use the Recents screen to switch task, when to Droidvim, I had to use the notification. It's a little inconvenient. So can it be fixed?

su command returns "connection reset by peer"

Phone: Xiaomi MI9
ROM: MIUI 12 (xiaomi.eu 20.8.20)
Rooted, Magisk v24.4, Magisk Manager v7.5.1

My goal is to edit system files with droidvim like wpa_supplicant etc.

I tried these steps from the F.A.Q in :shell but always get the result as in the screenshot.

busybox-setup sysbin
---
busybox-setup sysbin su
---
busybox-setup clean
busybox-setup 

Screenshot_2020-08-29-10-55-07-996_com droidvim

FR: Improve word-based input

Hi!

In word-based input there is no way to easily "submit" a vim command to VIM.

Example: If users want to switch to insert mode and type "word", they have to type "iword". This breaks recommendation, correction etc. IMHO it would be preferable if there were a way to type "i" "word" instead -- whatever this SUBMIT is.

Regards,
Tom

Where can I find ATE-mod-clipboard.vim?

Hi! Thanks for DroidVim, it's really awesome and I love it! I frequently use it to quickly prototype Vim functions and answer questions on Vi & Vim StackExchange. And with Python + Git support on the premium version I can even get UltiSnips working through vim-plug, yay!

I have one question about the clipboard scripts, such as ATE-mod-clipboard.vim. Where do the scripts come from? Can I find a source repository or vim-scripts page for them? The files I find under $VIMRUNTIME/plugin/ATE-*.vim don't seem to have any comments or headers. I didn't really find any files with such names in this repository and a Google search for the file names or function names didn't help much either...

I find the copy & paste behavior sometimes to be a bit awkward, so I was wondering if I could consider perhaps writing some fixes where possible and potentially contributing those to the upstream that is used to build this app?

Thanks again for building a wonderful product!

Function bar: Disabling "hide functionbar" is ignored

Hi!

I disabled "Hide functionbar" in Settings / Function Key. I would expect the small triangle not to show up in the function bar but it still does. It seems, disabling "Hide functionbar" has no effect.

Regards,
Tom

Soft Ctrl key stops working with soft keyboard after using a hardware keyboard

The behavior is the following (I use the character-based direct input)

  1. Press Ctrl key on the function bar
  2. The caret changes to triangular
  3. Press any letter on a soft keyboard (e.g. r to redo)
  4. Vim gets the r without Ctrl and replaces the current symbol with the next typed

I can provide any debugging info if you tell how to collect it

premium (git, curl, busybox) re-install

Thanks for creating DroidVim. I made a donation and got the extra features.

I have the extra features in one phone (main use phone), but I have another phone (rooted) where I also want the extra features to be enabled. On the 2nd phone it does not allow me to donate again saying that I already own the app ... but there is also no way to download just the extra binaries.

Can't totally trust dropbox syncing

It is a great feature, but: sometimes it is working great;
and sometimes, out of the blue, dropbox refuses to acknowledge that there is file change.

Thus, if one closes droidvim, all changes are lost.

My personal problem is that I use dVim sporadicallly, and many times I resort to it with that "trustworty memory" that "it was working great last time", which, obviously, whenever this bug happens, leads to a big frustration.

¿Anything I may be doing wrong?

¿Any tips on creating some temp file safeguard just in case things go sour?

thanks!

Running DroidVim from the CL

People,

When I reporting a different issue:

#14

on my old Galaxy Note 1, a problem I DID NOT have was running vim from the Command Line (ie connecting from my Linux box to the phone running sshDroid allowed me to use DV just like I was in an Xterm). After being forced to get a new phone (Pixel 2XL), rooting etc etc and getting things back to where I was before, I now find that running DV from the CL does not work properly . . ie the cursor is at the bottom of the screen instead of the top and all text inserted appears on the bottom line. Quitting out of the file works fine but the program is not usable obviously.

I am missing something again?

Thanks,
Phil.

Error E137: Viminfo file is not writable

Hi,

I have a strange issue resulting in the above error every time I write a file.

I have set my HOME to the directory /sdcard/mh. This is where both .vimrc and .viminfo reside.

When I delete the .viminfo file and edit a file a new .viminfo file is created in that directory without error, however whenever I edit a file with an existing .viminfo file the above Error appears - even though it seems to perfectly possible for droidvim to write to this file.

I have played around with various viminfo-settings in the .vimrc file but I cannot get rid of this error - what could be the problem here?

I am using version 1.1.65.

Many thanks!

$HOME symlinked to /storage/sdcard1/droidvim/home ?

People,

I want to so the above but I get errors on editing .vimrc and other files - I presume because of ownership permissions. However chowning and chmoding doesn't work . .

Is there a solution?

Thanks,
Phil.

Inconsistent behavior of colorscheme between two runs

Hi,

The solarized dark color is not consistent. As soon as I installed DroidVim, I activated the solarized dark colorscheme via the preferences menu, and opened a few files. I saw the beautiful colors as below:

SML
SQL

Then, I quit the app via :q and now when I am opening the files I see an uglier version of solarized dark, like:

SML
SQL

I want the color combination shown in the first set of pictures but it is visible only during first run, all subsequent runs have the latter color combo.

I have seen this issue occur on Android 4.4 and 6.0

DroidVim Premium can not run the busybox command

Hi,
I got a premium (git, curl and busybox) through Google Play.
I test several time but it can only work with this command such like
busybox ls -a
when I used only command without busybox

CANOT LINK EXECUTABLE ''ls": cannot locate symbol "OpenSSL_add_all_algorithms" referenced by"/system/lib64/libselinux.so"...

then I executed "busybox-setup sysbin" this command

the busybox command is worked ,but when I restart the vim get this error

can't open file /storage/emulated/0/Android/data/com.droidvim/cache/tmp/vWHuXd8/0

Accessing help results in tag not found

Hello, I've got a very curious issue. It's probably not a bug in droidvim but I thought you may have seen it before. So if there's any workaround you can suggest I'll be very happy to take it. The issue is that, on my old android device, I cannot access vim help.

Here is the symptom

:he 
E426:tag not found: help.txt@en

This message is returned for any legitimate help topic:

:he vimwiki
E426: tag not found: vimwiki@en

However, the tag files are all good and you can tell when you search for some other topic

:he asdf
E149: Sorry, no help for asdf

I can run helptags fine and it does regenerate. My runtime paths are all good, and I'm happy to provide more info if you have capacity to help. Here's the kicker....

This old phone is running Android OS 4.4.4 and I cannot upgrade it.
I've created a basic emulator running 4.4.4, built and ran droid vim on it, and the help system is fine on the emulator. So I think it might be about my specific phone. It is an old Motorola Droid Mini, which is different from some phones in having no sd card.

Anyhow, thanks for reading, if you have suggestions or things I should try I'm all ears. I just love this app and having a full-functioning vim is a goal. I'm also interested in enhancing it (with dropbear) so I'd be happy to take instructions for trying out things with the build (tho a lot of this android stuff is new to me).

a new file always gets .txt extension

A new file always gets .txt extension. For example you can do these steps:

  1. Do a long tap
  2. In the menu choose Storage->Storage->Create file
  3. Type custom name, for example test.py
  4. Type :ls as a command. You'll see that the file name is test.py.txt

FR: Function bar: Switch character/word based input

Hi!

If users want to switch between character and word-based input, they have to go to settings and find the respective option there. Since the preference for char/word-based input can change quickly (do I want to write text or rather change text), I think it would be preferable to have a button in the function bar that does this.

Regards,
Tom

Issue while using Hacker's Keyboard with DroidVim!

Hi Dev,

I really like your app. I love Vim so I installed this app on my phone. I am not really habitual of using H,J,K & L keys for controlling the cursor(I know it's quite odd for a daily vim user) so I use the arrow keys on my Laptop with vim. On my phone, in order to do the same, I have to use Hacker's Keyboard. Now when I press arrow keys, they start printing as text like A, B etc even when I am out of Insert Mode (when I press the arrow keys, the app enters insert mode itself which is odd). Please Fix this Issue ASAP!

Thank You!

cert.pem file missing

When I try to use extra package git, I have a problem since last update:

fatal: unable to access 'https://github.com/my-repository': error setting certificate verify locations: CAfile: /data/data/com.droidvim/files/usr/etc/tls/cert.pem CApath: none

I checked the path and this tls directory only contains an openssl.cnf file.
I tried to clean extra packages and install them again.
I also tried the busybox-setup commands I found on Droidvim site. Nothing changed.

Bugs with hebrew typing

Background

Experienced on DroidVim 1.3
Tested with fonts: System font, "Miriam Fixed" and "Elronet Monospace".
Default configuration.
AOSP keyboard with Hebrew layout.

The problem

Characters inserted in hebrew layout show up with the last letter of each word get carried along with a "space" to the beginning of the next word.

Example (in english):

Thi sI sTh eProble m

The last letter is also "carried" when several spaces are appended after a word.

With :set rightleft another symptom show up which involves the last character of a line ends up on the other edge of the screen. Example:

Anothe rSympto                                                                      m
An dAnothe rLin                                                                     e

(of course the text is in hebrew and the direction of the text is RTL)

why isn't droidvim on fdroid?

Hello. I was wondering if you could add your awesome app to fdroid, since that is (usually) the preffered way for installing open source apps on android, not through the proprietary playstore. Unless there is some kind of an issue with the fdroid requierments. But otherwise it will be well appreciated

No support for plugin managers

I am trying to use vim-plug as my plugin manager but I need git installed. A binary of git included in the app would fix the issue. Thats all.

Vim not starting

No binary is getting executed . I am getting permission denied for all binaries . The binaries have execution permission (I've tried chmod +x ).

Just noticed you are targeting android 11 (api 30).

Probably you don't know from android 10(or from any app targeting API 29) apps cannot execute native binaries in data directory of that app (/data/data/PACKAGE_NAME/) . Native binaries are only allowed in lib folder(/data/lib/PACKAGE_NAME symlinked to /data/data/PACKAGE_NAME/lib) .

I think thats the reason I'm getting all those permission denied . Can you take a look at when you have time .

This is what I see when I open the app

Screenshot_20200901-162728_DroidVim

Device model : Samsung galaxy M20
Android version : Android 10
I belive it's a arm64 device

vnoremap does not work

vnoremap does not work

vnoremap <silent> <space>c "*y

but vmap works fine

vmap <silent> <space>c "*y

Premium: cannot run any BusyBox command

Hi I made a donation and just got the premium features.

Git works but all BusyBox commands fail with the same error:

RUNTIME=$APPEXTFILES/runtime             <
 $ export VIM=$APPEXTFILES
 $ ls
CANNOT LINK EXECUTABLE "ls": cannot locate symbol "OpenSSL_add_all_algorithms" referenced by "/system/lib64/libselinux.so"...
Aborted
 $ mkdir x
CANNOT LINK EXECUTABLE "mkdir": cannot locate symbol "OpenSSL_add_all_algorithms" referenced by "/system/lib64/libselinux.so"...
Aborted

invoking vim from a shell

Assume I'm the so called "power user" or maybe an application developer, and that I want to use vim from adb shell. I sometimes need to change one or two characters in a text file, and I would not want to copy files back and forth between phone and desktop, only because I have no text editor on the phone.

Expected behaviour

I would enter the phone via adb shell and invoke vim from the CLI. Can I do this with droidvim?

Actually, I'm not really thinking of a physical phone: my use case is on a virtual machine. How can I install droidvim in such a phone image?

CTRL not working?

People,

I just found DroidVim - I'm excited!

Navigation keys are working but I can't jump to tags - I push CTRL first and then "J" but I get the normal cursor movement - what am I missing?

Thanks,
Phil.

unable to start vim and git

env and main purpose:

  • as some well known reason in China, I can not use Google Play, so I use VMOS Pro (an Android emulator on Android) to use Google Play to download DroidVim and purchase git

the issue:
image

PS: any other way to obtain the git ?

cursor changes it's form after turning off and on screen

To reproduce:

  1. launch the app;
  2. switch to insert mode with key i, cursor will change it's form from rectangle to line;
  3. turn off screen with power button and unlock your phone, cursor's shape changes back to rectangle though the app is still in insert mode.

Replace mode (key R) has the same problem.

Version: 2.2.1+DFM.

I want a button to do ...

As I understand it, android makes files belong to apps, not users. Rather than the user being untrustworthy (as in the early days of unix where a computer was shared between lots of students) the user is trusted and the apps are possibly manevolent. Rather than vim being there to let a trusted user edit any file, Droid Vim has a bunch of files it is allowed to edit. The model is then to "share" those files with other apps. Fine. I have found how to add a button to the "menu extras" tray that will "share" with juiceSSH, but that juiceSSH doesn't do what I want (scp).

However, It seems I can also write bit of shell script that DroidVim can execute? Is there a way to make DroidVim offer my script as a button in the "Menu extra" (sic) tray? It would need a variable to represent the name of the current vim file...

There may be a proper android app for scp but I can't find it and in any case, generic shell scirpt would seem more useful for anyone likely to use vi

FR: PageUp/PageDown in function bar

Hi!

Could you please add pageup & pagedown to the function bar? This would be great!

Thanks for this very useful port of vim to android.

Regards

Leader key

Hi,

To what key does DroidVim map to <leader> ?

Regards,

Iuri.

2018-10-05 started crashing on LineageOS-7.1 Droid 4

I was using it for a few months great but now after an update on 2018-10-05 on LineageOS-7.1 running on Motorola Droid 4 the DroidVim application always crashes trying to start it.

lineage-14.1-20180810-nightly-maserati-signed.zip
A-GAPPS-2.1-7.x.x-271216.zip
addonsu-14.1-arm-signed.zip

How to troubleshoot it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.