Giter VIP home page Giter VIP logo

unicode.vim's Introduction

Unicode plugin Say Thanks!

A Vim plugin for handling Unicode and digraphs characters

This plugin aims to make the handling of Unicode and digraphs chars in Vim easier. It serves 3 purposes:

  1. Complete Characters
  2. Identify Characters
  3. Ease the use of Digraphs

Complete Characters

A custom completion function is available to complete characters using their Unicode name or Codepoint. If a digraph exists for that character, it will be displayed in parentheses. Press Ctrl-X Ctrl-Z to trigger this completion from insert mode. Also a new custom completion for digraph chars is available. Press Ctrl-X Ctrl-G to trigger this completion. It will display all digraphs, that are reachable from the previous typed letter.

Identify Characters

The :UnicodeName command can be used to identify the character under the cursor. This works similar to the builtin ga command (in fact, the help also states a possibility to map this command to the ga builtin command), but it also displays the digraph character (if it exists) and the HTML entity.

The :UnicodeSearch command can be used to search in the Unicode character table to search for a certain Unicode character with a given name or value. Use the "!" attribute to query for result and have it inserted at the current cursor position.

The :UnicodeTable can be used to generate an Unicode table, including HTML entity names and Digraph chars. The UnicodeTable will be nicely syntax highlighted.

Ease the use of Digraphs

Use the :Digraphs command to search for an digraph with the given name (e.g. :Digraphs copy will display all digraphs that will create a character name which contains copy in its name). You can also search for the decimal value. This plugin also maps the key <F4> that will allow to transform 2 given normal chars into their digraph char.

See also the following screencast, that shows several features available: screencast of the plugin

Installation

Use the plugin manager of your choice. Or download the stable version of the plugin, edit it with Vim (vim unicode-XXX.vmb) and simply source it (:so %). Restart and take a look at the help (:h unicode-plugin)

Usage

Once installed, take a look at the help at :h unicode-plugin

Here is a short overview of the functionality provided by the plugin:

Ex commands:

:Digraphs        - Search for specific digraph char
:UnicodeSearch   - Search for specific Unicode char
:UnicodeSearch!  - Search for specific Unicode char (and add at current cursor position)
:UnicodeName     - Identify character under cursor (like ga command)
:UnicodeTable    - Print Unicode Table in new window
:DownloadUnicode - Download (or update) Unicode data
:UnicodeCache    - Create cache file

Insert mode commands:

<C-X><C-G>  - Complete Digraph char (*X<C-x><C-g> inserts ×)
<C-X><C-Z>  - Complete Unicode char (U+00d7<C-x><C-z> inserts ×)

Normal/Visual mode commands:

<F4>        - Convert selected digraphs into their corresponding characters

Scripting Functions:

unicode#FindUnicodeBy() - Find Unicode characters
unicode#FindDigraphBy() - Find Digraph char
unicode#Digraph()       - Returns digraph char
unicode#UnicodeName()   - Identifies Unicode character (by value)

Similar Work

vim-characterize Only supports identifying characters, no completion, no public functions, until recently did not detect combining chars correctly.

easydigraph Only supports easier digraph generation.

License & Copyright

© 2009-2020 by Christian Brabandt. The Vim License applies. See :h license

NO WARRANTY, EXPRESS OR IMPLIED. USE AT-YOUR-OWN-RISK

unicode.vim's People

Contributors

antonc42 avatar arp242 avatar chrisbra avatar hseg avatar inkarkat avatar jnrowe avatar juandazapata avatar masaeedu avatar mg979 avatar mhinz avatar philrunninger avatar step- avatar tredwellgit avatar vds2212 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

unicode.vim's Issues

F4 is used by too many plugins by default

I'm sure that you can put in a different default binding ( Ctrl-Shift-U comes to mind) for the combining digraph. I already have several other plugins that I have to change/comment out every time they update because of F4. This plugin is so useful without that minor function, and it's so easy to do yourself that it should be left commented out like the ga for unicode ga is.

a' <c-x><c-g> gives " Missing quote" error

a' <c-x><c-g> in insert mode gives

Error detected while processing function unicode#CompleteDigraph:
line   11:
E115: Missing quote: 'a'')>-1
Error detected while processing function unicode#CompleteDigraph:
line   11:
E116: Invalid arguments for function match(v:val, 'a'')>-1

Expected: something akin to á

[REQUEST] restrict digraph completion to a subset

Hi, thanks for this vim plugin! I use digraph completion most often, and UnicodeName mapped to ga.

With the current implementation, all characters that combine to a digraph, any digraph, are converted in a visual selection. Instead, would it be possible to restrict completion to a user-defined digraph subset? In most practical cases, this would allow visually selecting all text in the file and pressing F4 to convert all non-converted digraphs -- and those digraphs only -- in one fell swoop, instead of having to dig down the file for each unconverted digraph and change it with visual F4 one by one.

For instance, g:digraph_output_subset could be set to an array of decimal codes corresponding to the requested output digraphs, and the plugin would convert only character pairs that combined into one of those codes.

Thanks for your consideration.

P.S. I tried reproducing the Digraphs! A example found in unicode.txt help file, but nothing happens. It seems the plugin is stuck waiting for something or taking too long to complete (at least a minute). I can interrupt it and return to vim by pressing Ctrl+C. Other examples in unicode.txt seem to work.

Commands to define digraphs by hex number or character name

Hi Christian,

this is in followup to your list post the other day. I mostly use keymaps for serious multilingual work, which I do a lot of, but also use the plugin heavily to write keymaps, and to identify characters, and to look up more seldom used symbols and the like.

This is about a suggested addition to the plugin. I often define temporary digraphs for more seldom used characters and when you recently posted a trick for defining digraphs by hex number I immediately rolled that into a command. Now I got thinking that such a command might be a good addition to the unicode plugin. Thinking further about that I thought it may be possible to combine digraph definition with name completion. Another and perhaps better idea is a command to define a digraph for the character under the cursor.

That's four ideas for commands which would make it easier to define digraphs:

  • Define digraphs by hex number.
fun! s:mk_hex_digraph(digraph, hexnum)
    if a:hexnum !~ '^[[:xdigit:]]\+$'
        echoerr "HexDigraph expected hexadecimal number as second argument!"
        return
    endif
    exe printf(":dig %s %d", a:digraph, eval('0x' . a:hexnum))
endfun

com! -nargs=+ HexDigraph call s:mk_hex_digraph(<f-args>)

HexDigraph DH d0
  • Define digraphs by Unicode name.
fun! s:mk_digraph_by_name(arg)
    let matchlist = matchlist(a:arg, '^\(\S\S\)\s\+\(.\+\S\)\s*$')
    if empty(matchlist)
        echoerr "Usage: DigraphByName {char1}{char2} {Unicode name}"
    else
        let [ chars, name ] = matchlist[1:2]
        let regex = '^' . name . '$'
        let unichars = unicode#FindUnicodeBy(regex)
        if len(unichars) == 1
            exe printf(":dig %s %d", chars, unichars[0]['dec'])
        elseif len(unichars) > 1
            echoerr "Unicode name ambiguous: " . name
        else
            echoerr "Unicode name not found: " . name
        endif
    endif
endfun

com! -nargs=1 DigraphByName call s:mk_digraph_by_name(<f-args>)

" The 'second argument' can be many words and/or a pattern
DigraphByName bh latin small.*b with stroke
  • Command combining definition of temporary digraphs with Unicode name completion.

I have only the foggiest how this should be implemented...

  • Command defining temporary digraph for the character under the cursor

I have some idea how to implement this but haven't done so yet.

(Note: I began writing this issue on my phone, and submitted by accident before it was complete,
so I had to rush to a real computer to complete it. On the flip side I could include the actual functions I wrote!)

Add UnicodeData.txt and UnicodeData.vim to .gitignore

I use NeoBundle as my plugin manager. It will refuse to update the unicode.vim plugin as git reports that UnicodeData.vim and/or UnicodeData.txt are changed. These should probably be added to the project .gitignore file so that if a user does download a new version of the UnicodeData.txt which modifies the UnicodeData.vim, they are still able to update the plugin without git errors.

Support post update hook for UnicodeDownload

I'd like the download of UnicodeData.txt to happen on plugin install / update. I'm trying this with vim-plug:

function! DoUnicode(arg)
  UnicodeDownload
endfunction
Plug 'chrisbra/unicode.vim', { 'do': function('DoUnicode') }

which fails with

x Post-update hook for unicode.vim ... Vim:E492: Not an editor command:   UnicodeDownload

I also tried

function! DoUnicode(arg)
  call unicode#Download(1)
endfunction
Plug 'chrisbra/unicode.vim', { 'do': function('DoUnicode') }

which seems to run, but not actually download anything and breaks the vim-plug install process.

Command to download

Hi,

In README.md the command to download or update Unicode data is :DownloadUnicode, but looking at the following, the command is :UnicodeDownload:

call s:WarningMsg("Not downloading file. You can retry by executing :UnicodeDownload")

Anyway, using either command, the file is downloaded and placed into the proper dir correctly. But I'm wondering if it's possible to 1. download the file over https, and 2. to retain the original timestamp of the file. Using wget -N would work and this prevents unnecessary re-downloading of the same file.

Add docs/tags to .gitignore

Hi!
When installed via Pathogen, doc/tags is created when running :Helptags, where vim adds documentation tags. Please add that file to .gitignore so it doesn't show up as spurious change in git.

Thanks for the excellent vim plugin, btw :-)

Fundamental unicode problems with Vim [SOLVED]

macOS 10.13.3
FreeBSD 11.1 running under Parallels 13 for the Apple Mac
XFCE + Slim
Both standard terminal and Urxvt (latter should be unicode enabled)

Hi Chris, I've been having unicode related problems with vim. So I thought I would try out your plugin to try and investigate and better understand what's going on. I installed and tried out the :Digraphs command. It momentarily encountered a problem with a missing file, but was good enough to download the file and correct the problem, but when it tried to display the results of the command, it clearly is running into problems...

screen shot 2018-03-26 at 17 50 30

My .vimrc is as follows...

screen shot 2018-03-26 at 17 49 12

Any ideas what the problem might be?

DigraphGA is buggy in neovim

I noticed that when you <Plug>DigraphGA you get a buggy display:

screenshot 2018-12-14 at 14 00 27

This was tried on a minimal setup with unicode.vim. Basically I first executed <Plug>DigraphGA on the letter a, and then on the letter gamma.
If you erase the status line before executing it the second time, it displays correctly.

As soon as it displays wrong the first time, the information will always be displayed where in the screenshot the information for gamma is displayed.

Make :DigraphNew not verbose

At the moment, it spouts a confirmatory message, e.g.

Digraph h* == η U+03B7 GREEK SMALL LETTER ETA

upon execution. If you want to use this in your vimrc setup, this is completely impractical.

Making it quiet, would allow it to use in vimrc, instead of just interactively...

Plugin completely broken

This plugin used to work well for me. It seems that perhaps in the last update, something broke and now I can't use it at all.

For example, when I enter the command :Digraphs I get the following error

Error detected while processing function unicode#PrintDigraphs[3]..<SNR>166_DigraphsInternal[60]..<SNR>166_GetUnicodeName:
line    5:
E896: Argument of get() must be a List, Dictionary or Blob
Press ENTER or type command to continue

When I have chi and follow that with Ctrl-xCtrlg I get the following error

Error detected while processing function unicode#CompleteDigraph[29]..<SNR>166_AddDigraphCompleteEntries[8]..<SNR>166_GetUnicodeName:
line    5:
E896: Argument of get() must be a List, Dictionary or Blob
Press ENTER or type command to continue

Either my setup is broken, or the underlying code is broken. Unfortunately, I don't know enough about it to make a change.

FindUnicodeByInternal nonintuitively requires its search string to be >1 char long

When I execute :UnicodeSearch x or :UnicodeSearch 0, vim gives me the following error:

Error detected while processing function unicode#PrintUnicode..62_FindUnicodeByInternal:
line 16:
No argument was specified!

If I understand the code correctly, the problem is that FindUnicodeByInternal isn't considering the edge
cases where match is a string of length 1, consisting of a nondigit or 0.
In those cases, the guard len(a:match) > 1 && digit == 0 fails, so name isn't set and is therefore
empty, while digit will be 0, by Vim's string-to-number conversion rules.
Hence, the guard digit == 0 && empty(name) falls through, giving the non-intuitive error message that
"No argument was specified!" when clearly a nonempty argument was passed.

Fix: Replace len(a:match) > 1 by len(a:match) >= 1.
Question: Why are we forbidding the call FindUnicodeByInternal(0)? U+0000 is a perfectly valid
codepoint.

Digraph completion with ignorecase

Hi, when ignorecase is set in a buffer, completing simple digraphs like a' is difficult because unicode#CompleteDigraph() brings up a menu with the capital Á first and the lowercase á second. For me, case sensitive matching is desirable, by patching the patterns in autoload/unicode.vim to include \C in lines 390-391:

let filter1 = printf("match(v:val, '\\C%s%s')>-1",  prevchar1, prevchar)
let filter2 = printf('match(v:val, ''\\C%s\|%s'')>-1', prevchar1, prevchar)

However, perhaps it should be configurable? There are three options: always case sensitive (\C), always case insensitive (\c), or the current default: according to buffer’s ignorecase setting.

Error 734 from line 75 of unicode#GetUniChar

With the latest version I get the message

Error detected while processing function unicode#GetUniChar:
line   75:
E734: Wrong variable type for .=

I think this can be rectified by applying string() in line 390 of file autoload/unicode.vim:
let nerd = string(get(s:nerds, dec, []))

Error trying to execute :Digraphs

On both OSX and Linux, when I attempt to execute :Digraphs, I get the following errors repeated:

Error detected while processing function unicode#PrintDiagraphs:
line 9:
E716: Key not present in Dictionary: decimal)
E116: Invalid arguments for function printf(format[0].format[1], split(item.dig)[0], item.glyph, item.decimal)
E15: Invalid expression: printf(format[0].format[1], split(item.dig)[0], item.glyph, item.decimal)
line 11:
E121: Undefined variable: output
E116: Invalid arguments for function Screenwidth(output) ≥ &columns || (!empty(a:bang) && start == 0)
line 16:

These pretty much repeat until I quit out of the error list.

vim 7.4

Any thoughts?

supply :UnicodeName with vim

Hello Christian, ever thought about supplying :UnicodeName with Vim, just as the matchit plugin? I see little reason users prefer the output of ga to that of :UnicodeName (remapped to ga say), just as there's little reason users prefer the built-in % to that of matchit's %. They are simply supersets. (On top, :UnicodeName downloads the Unicode-character list only if invoked for the first time, thus there's little extra baggage coming with it).

Readme <C-x><C-g> looks like Insert mode command

I could be wrong but I have the impression that <C-x><C-g> are insert mode command and not normal mode command as stated in the readme.

The documentation state so and it seems to work like but the readme.md seems misleading.

Getting errors after update

Hi -- unicode.vim is great! I've really been enjoying it.

I did run into some errors just now after updating my Vundle plugins.

The first time I try to use :UnicodeName (which I have mapped to ga) after starting Vim, I get this error:

vim-unicode-error

After that, whenever I use :UnicodeName, it does what it's supposed to do, but I also get another error:

screen shot 2015-10-22 at 10 49 14 am

Enter Unicode character in search mode

Hi and thanks a lot for unicode.vim!

Assuming I have entered search mode with /, can I use this plugin to enter a Unicode character in order to search for it in the current file?

Let's say I wanted to search for the owl emoji 🦉 in the current file. Is there a way similar to entering "owl" in Vim's search bar at the bottom, then pressing c-x c-z, picking the emoji from the list and then searching for that emoji in the current file by hitting enter?

UnicodeDownload data is garbled by older version of links

TL;DR

When netrw prefers links to wget or curl, :UnicodeDownload saves some binary data, not the plain text UnicodeData.txt file.

I suspect that on my system links -source is saving the compressed or encrypted https data rather than the underlying content. However, file isn't able to identify what format :UnicodeDownload saved, and it's 412kB vs. 1.8MB for the uncompressed UnicodeData.txt file and the 276kB gzip-compressed result when I run links $URL -source > /tmp/unicode.txt

The plugin doesn't report an error when this happens, leading to confusing vim exceptions latter on when trying to use unicode plugin features.
I suggest that after :UnicodeDownload completes, it should call UnicodeDict() and, if there's an error, inform the user that the automatic download was unsuccessful. This may be more helpful to users than the "if this doesn't work" message prior to attempting the download, since the download might happen long before using the plugin (e.g. if installing via Plug 'chrisbra/unicode.vim', { 'do': ':UnicodeDownload' }).

Details

Vim and links versions on UbuntuLinux 18.04.5 LTS:

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Oct 13 2020 15:49:09)
Included patches: 1-1453
Package: links
Version: 2.14-5build1
Built-Using: publicsuffix (= 20180125.0922-1)

I get the following error when using most unicode features after running :UnicodeDownload.

Error detected while processing function unicode#CompleteUnicode[5]..<SNR>234_UnicodeDict:
line   16:
E684: list index out of range: 1

Line 16 of UnicodeDict is splitting a line on ; but the data file that got downloaded is a binary mess:

00000000  1f c2 8b 08 00 00 00 00  00 00 03 c2 a4 c3 bd 59  |...............Y|
00000010  c2 93 c3 a4 3a 76 25 0a  c2 bf c3 bb c2 af c2 88  |....:v%.........|
00000020  c3 87 c3 bb 3d c2 a4 5d  c3 a7 4c 5a c3 88 c3 9a  |....=..]..LZ....|
00000030  0c 24 41 77 66 c3 b8 c2  94 c3 ae c3 b4 c2 8c 13  |.$Awf...........|
…

Fetching https://www.unicode.org/Public/UNIDATA/UnicodeData.txt from that system using curl works fine, so I think this is a result of my system's netrw.vim preferring links over curl or wget, though this also produces a different output than links -source.

:UnicodeDownload
UnicodePlugin: Updating /home/tstone/.vim/plugged/unicode.vim/autoload/unicode/UnicodeData.txt
UnicodePlugin: Let's see, if we can download it.
UnicodePlugin: If this doesn't work, you should download 
UnicodePlugin: https://www.unicode.org/Public/UNIDATA/UnicodeData.txt and save it as /home/tstone/.vim/plugged/unicode.vim/autoload/unicode/UnicodeData.txt
:echo g:netrw_http_cmd
links
:echo g:netrw_http_xcmd
-source >

Lookup by html code

Hello. Would it be possible to index the Unicode data by the associated HTML entity (where defined) and allow the user to autocomplete symbols like &iff; or &vee; within the editor?

caching problems

I am trying to package this plugin for nixos, a linux distribution with the peculiarity of enforcing read-only packages once installed, which triggers an error with loading this plugin
E482: Can't open file /nix/store/qgz55005madsjvhlcjsilc6195m55mjk-vimplugin-unicode-vim-2018-12-14/share/vim-plugins/unicode-vim/autoload/unicode/UnicodeData.vim for writing: read-only file system

One possibility I have is to generate the cache before the installation, apparently I would need to run vim and call UnicodeWriteCache but with the in front, I am not sure how/if I can call it n
vim -c "call UnicodeWriteCache('toto', 'tata')"

fu! <sid>UnicodeWriteCache(data, ind) "{{{2
    " Take unicode dictionary and write it in VimL form
    " so it will be faster to load
    let list = ['" internal cache file for unicode.vim plugin',
        \ '" this file can safely be removed, it will be recreated if needed',
        \ '',
        \ 'let unicode#unicode#data = {}']
    let format = "let unicode#unicode#data[0x%04X] = '%s'"
    let list += map(copy(a:ind), 'printf(format, v:val, a:data[v:val])')
    call writefile(list, s:directory. '/UnicodeData.vim')
    unlet! list
endfu

Does the cache make a big difference (on SSD for instance) ? I wonder if I could disable it instead. It looks pretty fast here.

unicode.vim overrides my mapping

I have in my "init.vim" (neovim) the following mapping nmap <f4> <Plug>(QuickFixCurrentNumberLNext) which got overriden by unicode.vim with:

if !hasmapto('<Plug>(MakeDigraph)', 'n') || maparg('<f4>', 'n') ==# ''
    nmap <F4> <Plug>(MakeDigraph)
endif

This made me lose some data once as I did not understood that I was using digraphs (thought it was a neovim bug) instead of my :lnext mapping and messed up (my fault as well) with the undo tree.
I wish unicode.vim would not override my mappings either with an option or by replacing '||' with '&&'

Thanks for the great plugin.

issue with candidate sorting in completion menu?

In insert mode, type cat and press <c-x><c-z>, the order of listed candidate may need to be tuned. This is the output

image

The actual Unicode characters whose names contain CAT are given very low rank. Maybe Unicode characters whose names contain strings starting with cat should be ranked first in the completion menu.

Would Perl-style short names with :UnicodeSearch be a good idea?

I have separated out the code for matching Perl-style "short" script: Char names from unicode#DigraphNew() into a separate function like this:

fu! unicode#FindScriptChars(arg) abort "{{{2
    " Support for Perl-style "short" `script: Letter` and `script: letter` charnames
    if len(a:arg) == 0
        echoerr "Argument is empty or unspecified"
        return []
    endif
    let regexes = []
    " Test for a perl-style short charname i.e `^\s*(<script>)\s*:\s*(<charname>)\s*$`.
    " This is safe since actual Unicode names do not contain any colons.
    let short = matchlist(a:arg, '^\s*\(\S.\{-}\S\)\s*:\s*\(\S.*\S\@<=\)\s*$')
    if empty(short)
        " No match: search for a regex normally
        let regexes = [a:arg]
    else
        let [thescript, thename] = short[1:2]
        " If the name contains any uppercase search for "^<script> capital letter <name>"
        " else search for "^<script> small letter <name>",
        " then for "^<script> letter <name>", and return the
        " results for the first one which has any hits.
        " Note that the "short" lookups anchor to the start of the names
        " while "regular" regex lookup does not!
        let thecase = thename =~ '\u' ? 'capital' : 'small'
        " 
        call add(regexes, printf('^%s %s letter %s', thescript, thecase, thename))
        call add(regexes, printf('^%s letter %s', thescript, thename))
    endif
    " Compress whitespace in the regexes
    call map(regexes, "substitute(v:val, '\\s\\+', ' ', 'g')")
    " Loop through the regexes
    for regex in regexes
        let unichars = unicode#FindUnicodeBy(regex)
        if len(unichars)
            return unichars
        endif
    endfor
    " Found nothing. Return empty list!
    return []
endfu

Since it is now just a lookup function it returns a list of all char entries which match the regex rather than barfing if it gets other than a single match.

As yet I have only used it standalone, in the minimally changed unicode#DigraphNew() function and in my custom :UnicodeScriptChars command (and the function which powers it, using my private interpolate-by-name autoload function for formatting).

Now I wonder if you think a PR which would integrate this into :UnicodeSearch would be a good idea?

Say thanks link is broken

saythanks.io was offline for a decent while and was recently brought back up. You'll have to redo the setup again to make it work. There should be more information on the say thanks repo. BlitzKraft/saythanks.io

E325 when running ":UnicodeTable" in 2 Vim instances simultaneously

Describe the bug

When executing :UnicodeTable in multiple Vim instances, E325 is raised.

To Reproduce

Start Vim like this:

vim -Nu NORC --cmd 'set rtp^=~/.vim/plugged/unicode.vim' +'UnicodeTable'
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
                             the path may need to be adapted to point to the local installation of the plugin

Without closing the first Vim instance, start a second one by running the same shell command in a second terminal.

E325 is raised.

Expected behavior

E325 is not raised.

Environment

  • plugin version: 582b715
  • Vim version: 8.2 Included patches: 1-397
  • OS: Ubuntu 16.04.6 LTS
  • Terminal: XTerm(322)

Git repository is large (31MB)

Hi Christian,

I was able to reduce the size of the repo to 956 KB (The reason for that size is screencast.gif). If you like you can merge it from here

windows UnicodeData.txt download error

When using :UnicodeDownload command to download the Unicode data on Windows, I see the following error:

curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.

According to post here, we need to add the --ssl-no-revoke option for curl. I have verified that it works.

Based on your comment in the code, I have changed the value of variable g:netrw_http_cmd:

let g:netrw_http_cmd="curl --ssl-no-revoke -Lo"

Different completions when inside parens versus when not?

When I open an empty file and type phi and ⌃x⌃z, I see a nice long list of completions, including the one I want ("Greek small letter phi"):
screen shot 2016-05-06 at 3 26 44 pm
However, if I type (cos phi ), put my cursor right after phi and again ⌃x⌃z, I see a much shorter list of completions, not including the one I want:
screen shot 2016-05-06 at 3 26 58 pm
Any idea why there's a difference between the two situations? If I move my cursor outside the parens, phi⌃x⌃z works great again.

Optimize repo size

The repository is rather huge: .git takes over 30mb and then there's the animated gif in the worktree.

This could be optimized:

  1. Rewrite/cleanup the git history (e.g. the commits that introduced and removed the large files, #2).
  2. Move the animated gif to a gh-pages branch or similar (and link to the absolute URL from the README).

While 2. is rather trivial, 1. is pretty intrusive for forks, branches etc.
Maybe a new branch or repo could be used?

It's not a mayor problem, but there are about ~35mb to be saved for every (Neo)Bundle, pathogen etc user.

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.