Giter VIP home page Giter VIP logo

terrychou / ivim Goto Github PK

View Code? Open in Web Editor NEW
582.0 29.0 35.0 23.02 MB

A vim port to iOS.

Swift 0.84% Objective-C 0.93% Vim Script 44.19% Makefile 1.37% NSIS 0.48% Shell 0.13% C 46.89% Roff 1.86% Awk 0.07% Perl 0.22% Batchfile 0.03% PostScript 0.23% Smalltalk 0.09% Emacs Lisp 0.11% JavaScript 0.10% NewLisp 0.13% Ruby 0.13% SystemVerilog 0.10% C++ 1.90% Module Management System 0.18%
vim ios port ivim editor

ivim's People

Contributors

tbodt avatar terrychou 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  avatar

ivim's Issues

Improve external keyboard support

Vim, of course, works best with a hardware keyboard. Mostly it works well, but special keys like <Ctrl> and <Esc> are not recognized properly.

  • <Esc> doesn't seem to work at all: I must use the software keyboard to enter this.
  • <Ctrl> seems to register (so that <C-a> is different from a), but <C-a> seems to do nothing. For example, if in normal mode I type <C-a> over a number, nothing happens, though typing just a does what's expected.

I should add that I normally use the Dvorak layout on my external keyboard, but the problem remains if I switch back to the standard US keyboard. (Incidentally, one issue with other iOS apps with Dvorak keyboards is that entering codes ignores the Dvorak layout. For example, hitting the s key when in Dvorak layout will enter o, but holding down the Ctrl key while hitting the s key wrongly enters <C-s> when it should enter <C-o>.)

support elixir files

Please enable more file type to be able to open document picker,
I recently developing elixir files with .exs and .ex file extension.
It is grayed out in the document picker currently

Feature Request: Autocomplete in extended keyboard

Hi,
it would make programming on the iPad without a keyboard much faster if the top n autocomplete options could be displayed and selectable in the line above the keyboard, where the extended keyboard buttons are right now. Similar to what one gets for natural language for example when writing text messages. Also, with iOS 11 most special characters are directly accessible from the on-screen keyboard, making most of the extended keyboard buttons somewhat redundant and possibly freeing up space.

I have no idea how hard this would be to implement, just wanted to write down the idea somewhere.

Best,
Bob

I am getting this error:

Every time I press i for 'insert mode', the following message appears:

Error detected while processing function InsertStatuslineColor:
E254: Cannot allocate colour DarkYellow
Press ENTER or type command to continue

I, then pressed something and I can continue to edit as normal. The colour of the -- INSERT -- indicator is blue instead of DarkYellow. Everything else runs smoothly.

For your info. Note I am using 'salarized' colorscheme.

Open-in-place and iOS11 document support

Would it be possible to have "open-in-place", so iVim can edit documents inside the cloud, or inside the sandbox of other apps? This really makes the editor more useful.

$MYVIMRC environment variable is not set

The $MYVIMRC and $MYGVIMRC do not get set set when ivim starts up. One of them should be set depending on which init file is found.

I’ll look at the code over the weekend and submit a patch if it's an easy solution.

Crash with long global variable names

From the command line, enter

 let g:a_very_long_global_variable_name = 1

iVim instantly crashes. Any global variable name with 30 or more characters will make iVim crash.

Note that this is particularly problematic when a global variable name is defined in .vimrc or a plugin or any other file sourced on launch: iVim immediately crashes, leaving the user no choice (as far as I can see) but to delete the iVim app (and so all user files), re-download it, and recreate everything in the .vim folder.

Set working directory using idoc?

I’m using Working Copy, and can open files using idoc perfectly, but is it possible to set the working directory to a Working Copy repo base directory? I often need to jump between numerous files, and while I haven’t tried installing any plugins yet (I use ctrl+p on my laptop), being able to browse to files using :e rather than through the idoc UI all the time would be a huge timesaver.

I am hesitant to import files to the iVim workspace as this will require exporting back to Working Copy in order to commit / sync / etc.

:idoc can not open .c files?

using :idoc files picker, most file formats are greyed out and can thus not be opened.
Is there a workaround/ is it an iOS restriction?

thanks

User Fonts Install Properly but Can’t Be Selected

I have attempted to install and use the following fonts in iVim:

The first one (Camino Code) works as expected. The other two (I have tried the versions with and without ligatures) install properly and are listed when I call the :ifont command but when I try to switch to them nothing happens.

I have also tried setting the fonts in the .vimrc file but those changes will accept the font height I select :h17 but will use CamingoCode instead of the option I attempted to set.

Can you give me some guidance to troubleshoot this further? Pragmata Pro is a TrueType font. Pitch is an .otf font. According to :help both file types are supported. I can use these fonts in Vim on the terminal and nvim-qt on the desktop.

I have attempted to uninstall all fonts and only install one (without CamingoCode) to see if that made a difference. It didn’t.

p.s. Thank you for creating iVim. It is the best port of Vim I have found for iOS and I use it every day. I’m starting to become “one of those Vim people” in part because this app exists.

Cannot load taglist.vim plugin

Looks like taglist.vim plugin couldn't be loaded. Is it because system() is not supported? Would be great if it can be supported.
Another issue, looks like tags are not supported if opened from iOS document picker. Is this true/solvable?
Thank you.

Is it possible to close the on screen keyboard?

In the Applidium port, using a two finger drag to scroll would cause iOS's on screen keyboard to close, which, on a phone, was much nicer for reading long segments of text.

This port doesn't seem to do that. Is there another method of closing the soft keyboard, and, if not, is it possible to create one, or reinstate the old behaviour?

Support for white background

Hi, is there a way to use a white background instead of black while keep using the default color theme? Would be great if this can be added.

When iVim crashes on startup: need for `vim -u NONE`

I mentioned in #8 that long global variable names will crash iVim immediately. When this happens on startup because the variable name is in .vimrc, iVim becomes unusable and must be re-installed, and any customizations in .vim must be recreated.

It would be nice, therefore, to have the possibility of something equivalent to vim -u NONE so that the user can recover without starting over. One possibility here would be to have an option in iVim's entry in the Settings.app such that when toggled iVim will launch without .vimrc or plugins on the next launch: the equivalent of vim -u NONE.

:idoc not identifying tagged folders

In Files.app I have some files and some folders marked with tags, and I can successfully access them through the Browse panel.
In iVim, :idoc allows browsing of files much like in Files.app. However, selecting a tag in the Browse panel will display only a list of files with that tag, and will not display any folders that have that tag.

Autocorrect

iVim does not appear to support iOS autocorrect functionality. Or, if it does, there is a setting I haven't found. I can certainly understand not wanting autocorrect on when writing code, but I use iVim for writing prose of varying kinds (and I suspect many on iOS do, or would) and it is very useful for a careless touch typist like me. I have come to rely on it both on iOS and on my desktop iMac.

Any chance this will be supported in the future? Perhaps with a setting to enable/disable?

Other comments:

As a serious Vim user for over 30 years, this port is really useful and complete. The use of the extended keyboard row for ESC is perfect with my Smart Keyboard. The implementation of :idocuments is the best I have seen on iOS. The only real limitation of the port is the fact that iOS doesn't allow keys to repeat, so I have to move around using arrow keys if I am going very far.

Thanks for a great piece of software.

Settings.app section is a bit cryptic

The new section in the Settings app is fairly sparse. I know what the Arguments setting is for because I've been following developments here on github, but I wouldn't have been confident in guessing what it did if I hadn't. Without having tried it, I'm also pretty unclear on what the Always toggle does.

I think some descriptive labels would be helpful. For Arguments I'd suggest something like:

Command line options to pass to Vim. See :help startup-options for possible values.

I think you can implement this with the FooterText key of PSGroupSpecifier.

<Ctrl> key is too sticky

I understand the stickiness of the <Ctrl> key, but for my uses it's too sticky. Most of the time, when I enter a command, I do it once and then go back no non- commands. So for me, at least, it is annoying to have to swipe the <Ctrl> key, hit a normal key, re-swipe the <Ctrl> key, and get on with my editing. Would it be better to "release" the <Ctrl> key after the first code has been entered? (This is what other iOS apps I'm familiar with do.)

Of course, this is largely a matter of personal preference, so feel free to just say "no".

Dropbox support

One of the main issues I have with iVim is simply this:

I keep a bunch of text files in my Dropbox. I'd like to be able to edit those with iVim when I'm offline out for an assignment. Then, when I get back within wifi coverage, iVim would need to sync them.

This is a very simple and common workflow, but on iOS I find it excruciatingly difficult to implement.

Do you think iVim could possible do this at some point?

Suggest Extended Keyboard default to hidden when hardware keyboard is attached.

Extended Keyboard is great paired with the software keyboard, but I find I rarely use it when I have hardware keyboard attached (especially since caps lock can be remapped). I usually end up starting every session with the long press to dismiss the extended keyboard.

What do you think about defaulting the keyboard extension to off when an external keyboard is attached?

Extended keyboard covers iOS11 Files picker

When opening the Files document picker with :idocuments while the extended keyboard is active, the keyboard line covers the bottom of the picker (where the "Browse" and "Recent" tabs are), see screenshot below:

img_0119

This makes it impossible to navigate the documents picker.

vimrc and ctrl-A (to select all)

Greetings. Congratulations on porting to the iOS vim, which I consider the best Editor out there! 😄

I began using vimrc to set up my ivim and noticed what appears to be a problem. Specifically, when I make ivim read the vimrc, I cannot use ctrl-A to select all the text in the file that is being edited. I use ctrl-A together with ctrl-C to copy text from ivim into other iOS apps. However, if I do not read vimrc when starting ivim, then ctrl-A works just fine.

Is this is a ‘bug’ or am I overlooking something?

Thanks!

Why not Vim 8?

This is not a problem for me — I'm actually still running Vim 7.4 on all my computers — I'm just curious: why is iVim Vim 7 and not Vim 8?

vimrc

Is it possible to have a vimrc?

I used :set num but it was reset after a restart

Multi-key mappings don't register

In my vimrc, I have single-character mappings that work just fine. But no multi-key mapping seems to work at all, which includes all <Leader> mappings: the first key gets ignored, and subsequent keys are taken as if the first key were not pressed. For example:

nmap <Leader>m :messages<CR>

When I type my <Leader> key (currently set to ,, but changing it doesn't seem to matter), nothing happens; when I then type m, Vim waits for another key so that it can set a mark.

Am I missing something?

I should add: This is a fantastic project, which greatly improves previous efforts. idoc and ishare work brilliantly. Congratulations on your work this far!

Using shift-space in key mapping

For many years, I have mapped ‘s-space’ to PageUp, but I can’t seem to get any combination of lower and upper case lettering to work in iVim. I can get ‘space’ to map to PageDown just fine, though. What’s the magic combination in iVim?

(And thanks again for helping me through some basics a few days ago - iVim is absolutely AWESOME on the iPad!)

copy paste and iOS 11

iVIm is great! Just wondering whether it will work OK in IOS 11?

Also, is there a way to copy text to and from iVim and other apps via the clipboard?

User Font not supporting Ligatures

When I installed Fira Code ttf and otf fonts ligatures are not displaying when the font is selected via .vimrc nor via :ifont selection.

not saving files on exit

I use the appstore version of iVim and most of the time the files are not saved on exit using: ":q!".

I tried with the virtual keyboard and also with an external keyboard. Same problem!

support Working Copy integration

Working Copy is a (fantastic) git client for iOS. The combination of solid git + iVim would make for a great local development environment.

Working Copy supports two approaches:

The latter is more powerful (and supports a full suite of git commands, but also includes simple read file/write file/list files), the former might be more generic.

It would be great if iVim supported one of these approaches -- integrating a simple webdav client should make it possible to tie things in to netrw.

Is there a good way of detecting iVim/iOS from Vimscript?

I currently share my vimrc across many devices, and, although sharing it will not be possible with iVim, I'd still like to be able to just copy it in whenever I make meaningful changes. I therefore need a way of detecting that I'm running in iOS.

I've come up with the following, which just catches the error thrown when running my usual OS detection code, but is there a better way?

if has("unix")
  try
    let s:uname = system("uname")
    echom "NOT iVim"
  catch /^Vim\%((\a\+)\)\=:E484/
    echom "This is iVim"
  endtry
endif

can't import font

when I use iOS11 file to open a ttf font to iVim using the share extension, it displays an error says the
"failed to import font [font name]". I tried serval different fonts and it won't work.

Some external keyboard events are not sent to the app

The new external keyboard support is great. It make iVim really easier to use.

However, I found that some events are not forwarded to the app. <D-R> is sent, and triggers the nmap associated, but <D-V> is not sent (it never arrives into input_special_name and input_special_key).

As far as I can tell, the missing keys are: <D-V>, <D-C>, <D-X> and <D-Z>

iTunes File Sharing

I do not see iVim listed among the apps in iTunes file sharing. I recall that the old Vim app had that feature. Is there a plan to add iTunes file sharing to iVim?

On a related note, what is the best way to transfer my .vim folder to iVim? With :idocuments command I seem to be able to import a single file at a time.

Would be nice to expose the version #

It would be useful to be able to see the iVim version number in the intro page and with the version command. Probably on the settings page as well. I have multiple copies of ivim on my system and sometimes get confused which is which.

Dark Theme

Vim allows many different colorschemes, but the software keyboard displayed is currently always a light one.

Ideally, I'd like Vim to auto-adjust the keyboard colour (with UIKeyboardAppearance) based on the background setting, but any method of setting the keyboard colour would work for me.

Amazing!

This is not actually an issue, but I can't find any other way of contacting you on your github profile.

This port is awesome. This fixes all the issues I had with the Applidium port that made it unusable for me.

Thanks!

General questions on usage/configuration

Sorry for the intrusion in this fashion, but I'm not sure what the best way to ask general support questions is. If this isn't appropriate, I'd really appreciate knowing the right approach.

Is there a way to add key mappings to iVim? If so, what would be the correct way to map something like
nnoremap <Ctrl-t> i<C-R>=strftime('%Y-%m-%d %H:%M:%S')<CR><Tab> in iOS? I use this "Windows-version of a timestamp" key mapping a lot in editing logs, data files for research projects, etc.

Voice keyboard crashes iVim

Hitting the dictation button on the soft keyboard causes iVim to crash. Once the dictation keyboard appears pressing either the keyboard or mute icons triggers the crash.

Turning off dictation in the settings app works around the problem.

Is it possible to delete a directory?

I created a directory which I no longer require. Deleting files in netrw by pressing D works fine, but attempting to delete this directory results in the message Cannot fork followed by a string of errors.

I'm guessing this is because netrw somehow deletes files directly (perhaps with delete()?) but deletes directories by attempting to shell out, which fails because this is not supported in iVim.

IIRC I could delete the directory via iTunes File Sharing (once that's available in the App Store version!) but is there any way of deleting it from iVim itself?

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.