{"id":13487270,"url":"https://github.com/skywind3000/vim-auto-popmenu","last_synced_at":"2025-03-27T21:32:16.733Z","repository":{"id":50628214,"uuid":"244946265","full_name":"skywind3000/vim-auto-popmenu","owner":"skywind3000","description":" :sunglasses: Display the Completion Menu Automantically (next AutoComplPop) !! ","archived":false,"fork":false,"pushed_at":"2023-08-05T19:37:02.000Z","size":417,"stargazers_count":275,"open_issues_count":9,"forks_count":36,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-30T22:40:00.655Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skywind3000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-03-04T16:15:05.000Z","updated_at":"2024-10-22T18:01:28.000Z","dependencies_parsed_at":"2024-01-16T09:01:16.788Z","dependency_job_id":"76bfba0f-663b-4500-ab3e-09bb873ae56f","html_url":"https://github.com/skywind3000/vim-auto-popmenu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-auto-popmenu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-auto-popmenu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-auto-popmenu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-auto-popmenu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skywind3000","download_url":"https://codeload.github.com/skywind3000/vim-auto-popmenu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245927396,"owners_count":20695227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T18:00:57.258Z","updated_at":"2025-03-27T21:32:16.247Z","avatar_url":"https://github.com/skywind3000.png","language":"Vim Script","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"readme":"# vim-auto-popmenu\n\nA tiny and portable script (169 lines) to provide you `YouCompleteMe` like experience for `buffer`, `dictionary` and `tags` completion without installing heavy completion engines and building background servers.\n\n## What Is It ?\n\nSemantic completion is great, but sometimes, when you are coding in an obscure laguange which is lack of LSP support, or you are working in a temporary system and you don't want waste time to set up a heavyweight completion engine and build a background server.\n\nIn these circumstances, vim's built-in completion system is good enough for you, it can collect keywords from buffers and dictionary or ctag files, but requires you to press `\u003cc-n\u003e` or `\u003cc-x\u003e\u003cc-k\u003e` manually.\n\nThis tiny little script will help you to trigger the completion menu when you have entered 1 or 2 alphabets and provide you exact the same experience like `YouCompleteMe`:\n\n![](https://skywind3000.github.io/images/p/auto-popmenu/demo.gif)\n\n## Features\n\n- Popup the completion menu automatically.\n- `Tab` or `shift`+`TAB` to cycle keywords, `\u003cc-e\u003e` to cancel.\n- Same experience like `YouCompleteMe` for `buffer`, `dict` and `tags` completion.\n- Green, everything is local to buffer, will not pollute your vim or disturb other plugins.\n- Capable to co-exist with other completion plugins.\n- No heavy engines, no need to build background servers.\n- Faster and more handy than the old famous `AutoComplPop`.\n- Portable, just a simple `apc.vim` script, easy to be distributed.\n- Only **169 lines**, you can even copy it to your `vimrc`.\n- Convenience as a backup way for big completion plugins.\n\n## Usage\n\nThat's all you need:\n\n```VimL\nPlug 'skywind3000/vim-auto-popmenu'\n\n\" enable this plugin for filetypes, '*' for all files.\nlet g:apc_enable_ft = {'text':1, 'markdown':1, 'php':1}\n\n\" source for dictionary, current or other loaded buffers, see ':help cpt'\nset cpt=.,k,w,b\n\n\" don't select the first item.\nset completeopt=menu,menuone,noselect\n\n\" suppress annoy messages.\nset shortmess+=c\n```\n\nAnd perhaps a dictionary database plugin for many languages:\n\n```\nPlug 'skywind3000/vim-dict'\n```\n\nThen you go.\n\n## Commands\n\n### ApcEnable\n\nEnable plugin for the current buffer manually. Useful when you didn't set `g:apc_enable_ft`.\n\n### ApcDisable\n\nDisable plugin for the current buffer.\n\n## Cooperative\n\nIf you are using `YouCompleteMe`, disable it for certain filetypes:\n\n```VimL\nlet g:ycm_filetype_blacklist = {'text':1, 'markdown':1, 'php':1}\n```\n\nand enable this plugin for these files:\n\n```VimL\nlet g:apc_enable_ft = {'text':1, 'markdown':1, 'php':1}\n```\n\n## Configuration\n\n1\\) `g:apc_enable`\n\nDefault: 1\nSet to 0 to disable this plugin.\n\n2\\) `b:apc_enable`\n\nDefault: unset\nSet to 0 to disable this plugin for certain buffer.\n\n3\\) `g:apc_min_length`\n\nDefault: 2\nMinimal characters to trigger the completion popup menu.\n\n4\\) `g:apc_trigger`\n\nDefault: `\"\\\u003cc-n\u003e\"`\nKey to trigger the completion popup menu.\nSet to `\"\\\u003cc-x\u003e\\\u003cc-o\u003e\"` to trigger omni completion.\n\n5\\) `b:apc_trigger`\n\nDefault: unset\nSpecify trigger key for certain buffer, will override `g:apc_trigger` for certain buffer.\n\n6\\) `g:apc_cr_confirm`\n\nDefault: 0\n\nSet to 1 to allow you choose the current keyword by ENTER.\n\n## Credit\n\n- https://github.com/othree/vim-autocomplpop.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskywind3000%2Fvim-auto-popmenu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskywind3000%2Fvim-auto-popmenu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskywind3000%2Fvim-auto-popmenu/lists"}