{"id":13596190,"url":"https://github.com/jarolrod/vim-python-ide","last_synced_at":"2025-04-09T16:31:45.943Z","repository":{"id":37734812,"uuid":"110335411","full_name":"jarolrod/vim-python-ide","owner":"jarolrod","description":"Python development config ","archived":false,"fork":true,"pushed_at":"2020-07-09T09:44:55.000Z","size":352,"stargazers_count":752,"open_issues_count":2,"forks_count":88,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-11-06T19:41:30.972Z","etag":null,"topics":["python","vim-ide","vimrc"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ets-labs/python-vimrc","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jarolrod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-11T10:04:20.000Z","updated_at":"2024-11-05T20:19:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jarolrod/vim-python-ide","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/jarolrod%2Fvim-python-ide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarolrod%2Fvim-python-ide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarolrod%2Fvim-python-ide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarolrod%2Fvim-python-ide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarolrod","download_url":"https://codeload.github.com/jarolrod/vim-python-ide/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248067782,"owners_count":21042356,"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":["python","vim-ide","vimrc"],"created_at":"2024-08-01T16:02:11.578Z","updated_at":"2025-04-09T16:31:40.931Z","avatar_url":"https://github.com/jarolrod.png","language":"Vim script","readme":"![Imgur](https://i.imgur.com/hVVulbM.png)\n\n![screenshot](https://i.imgur.com/KoKH5aA.png)\n\n\n\nTable of contents\n=================\n  * [Getting Started](#getting-started)\n    * [Bash](#bash)\n    * [Fish](#fish)\n    * [DevIcons](#devicons-optional)\n    * [Manual Install](#alternatively)\n  * [Plugins](#plugins)\n    * [Python](#python)\n    * [Code + Project Navigation](#code-and-project-navigation)\n    * [Snippets](#snippets)\n    * [Extra](#extra)\n  * [Key Bindings](#key-bindings)\n    * [Python](#python)\n    * [Switching Between Buffers](#switching-between-buffers)\n    * [Toggle Relative Numbering](#toggle-relative-numbering)\n    * [Comfortable Motion Scrolling](#comfortable-motion-scrolling)\n    * [NerdTree Toggle](#nerdtree-toggle)\n    * [Disable Arrow Keys](#disable-arrow-keys)\n  \n## Getting Started\n\nA script shell will get a copy of the vimrc up and running on your local machine for testing purposes. The script will install the vimrc and compile the YouCompleteMe plugin:\n### Bash \n```\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/jarolrod/vim-python-ide/master/setup.sh)\"\n```\n### Fish\n```\ncurl -fsSL https://raw.githubusercontent.com/jarolrod/vim-python-ide/master/setup.sh | sh       \n```\n### YouCompleteMe\nYouCompleteMe must be compiled for it to work. The install script handles the compiling, but if something goes wrong then do the following:\n\n1. Make sure the following is included in your vimrc where all the vundle plugins are placed:\n```\nPlugin 'Valloric/YouCompleteMe'\n```\n\n#### MacOS\n1. Assuming you already have MacVim installed, install Cmake through brew\n```\nbrew install cmake\n```\n2. Navigate to YouCompleteMe bundle folder and run the compile script\n```\ncd ~/.vim/bundle/YouCompleteMe\n./install.py --clang-completer\n```\n3. Reference the [YouCompleteMe](https://github.com/ycm-core/YouCompleteMe) README.md for any other configuration\n\n### Linux\nMake sure you have Cmake and Python 3 Headers, they can be downloaded through your distributions package manager. Then run:\n```\ncd ~/.vim/bundle/YouCompleteMe\npython3 ./install.py --clang-completer\n```\n\n### DevIcons (Optional)\nThis plugin is used to show file icons in NerdTree and requires additional steps to install:\n* Must install a patched font that contains required glyphs: \n    * [Arch Linux](https://aur.archlinux.org/packages/nerd-fonts-complete/)\n    * [Everyone Else](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts)\n  * Set vim encoding to UTF-8\n    ```\n    set encoding=utf8\n    ```\n  * Set vim font to NerdFont\n    ```\n    set guifont=\u003cFONT_NAME\u003e \u003cFONT_SIZE\u003e\n    ```\n  * Add glyphs to Airline\n    ```\n    let g:airline_powerline_fonts = 1\n* If you dont want this feature simply remove this plugin from your vimrc and execute :PluginUpdate in vim, for proper removal delete the devicons plugin folder\n\n### Alternatively:\n* Cherry pick the parts you like from my vimrc and add it to yours\n\n## Plugins\n* [PEP 8 Indentation](https://github.com/Vimjas/vim-python-pep8-indent) - Python Indentation\n* [Jinja](https://github.com/lepture/vim-jinja) - Syntax and Indentation\n* [Python Combined](https://github.com/mitsuhiko/vim-python-combined) - Extra handling\n\n\n### Code and Project Navigation\n* [NerdTree](https://github.com/scrooloose/nerdtree) - Project and File navigation\n* [Tagbar](https://github.com/majutsushi/tagbar) - Class outline\n* [CtrlSpace](https://github.com/vim-ctrlspace/vim-ctrlspace) - Bookmarks/Workspaces/Fuzzy Search/ File management\n* [Ack](https://github.com/mileszs/ack.vim) - Search tool\n* [Airline](https://github.com/vim-airline/vim-airline) - Tabline\n* [Powerline](https://github.com/powerline/powerline) - Used for fonts\n* [Fixed Task List](https://github.com/fisadev/FixedTaskList.vim) - Pending tasks\n* [Comfortable Motion](https://github.com/yuttie/comfortable-motion.vim) - Physics based scrolling\n* [Bookmarks](https://github.com/MattesGroeger/vim-bookmarks) - Bookmark code\n* [Indent Guides](https://github.com/nathanaelkane/vim-indent-guides) - Visual repesentation of indents\n\n### Snippets\n* [Snippets](https://github.com/honza/vim-snippets) - Snippets\n* [Snip-Mate](https://github.com/garbas/vim-snipmate) - Snippet Manager\n* [NerdCommenter](https://github.com/scrooloose/nerdcommenter) - Easy code documentation\n* [Utility Functions](https://github.com/tomtom/tlib_vim) - Add-on\n* [Add-on](https://github.com/MarcWeber/vim-addon-mw-utils) - interpret file by function\n\n### Extra \n* [Sparkup](https://github.com/rstacruz/sparkup) - Condensed HTML parser\n* [Riv](https://github.com/Rykka/riv.vim) - Take notes in RST\n* [Surround](https://github.com/tpope/vim-surround) - Add parentheses + etc. in pairs\n* [Colorscheme](https://github.com/flazz/vim-colorschemes) - Change vim colorscheme\n* [Rainbow-Parantheses](https://github.com/kien/rainbow_parentheses.vim) - Rianbow Parentheses\n* [Vim-Wiki](https://github.com/vimwiki/vimwiki) - Personal Vim wiki\n* [Vimagit](https://github.com/jreybert/vimagit) - Git operations from buffer\n* [Dev Icons](https://github.com/ryanoasis/vim-devicons) - File icons in NerdTree\n  * [DevIcons Installation](#devicons-optional)\n\n## Key-Bindings\n### Python \n```\nlet g:pymode_run_bind='\u003cF5\u003e'\nimap \u003cF5\u003e \u003cEsc\u003e:w\u003cCR\u003e:!clear;python %\u003cCR\u003e\n```\n### Switching Between Buffers\n```\nnmap \u003cF9\u003e :bprev\u003cCR\u003e\nnmap \u003cF10\u003e :bnext\u003cCR\u003e\n```\n### Toggle Relative Numbering\n```\nnnoremap \u003cF4\u003e :set relativenumber!\u003cCR\u003e\n```\n### Comfortable Motion Scrolling\n```\nlet g:comfortable_motion_scroll_down_key = \"j\"\nlet g:comfortable_motion_scroll_up_key = \"k\"  \n```\n```\nnnoremap \u003csilent\u003e \u003cC-d\u003e :call comfortable_motion#flick(g:comfortable_motion_imp    ulse_multiplier * winheight(0) * 2)\u003cCR\u003e\nnnoremap \u003csilent\u003e \u003cC-u\u003e :call comfortable_motion#flick(g:comfortable_motion_imp    ulse_multiplier * winheight(0) * -2)\u003cCR\u003e\nnnoremap \u003csilent\u003e \u003cC-f\u003e :call comfortable_motion#flick(g:comfortable_motion_imp    ulse_multiplier * winheight(0) * 4)\u003cCR\u003e\nnnoremap \u003csilent\u003e \u003cC-b\u003e :call comfortable_motion#flick(g:comfortable_motion_imp    ulse_multiplier * winheight(0) * -4)\u003cCR\u003e\n```\n\n### NerdTree Toggle\n* NerdTree wil automatically open when vim is launched in terminal without a file\n```\nnmap \" :NERDTreeToggle\u003cCR\u003e\n```\n### Disable Arrow Keys\n```\nno \u003cdown\u003e \u003cNop\u003e\nno \u003cleft\u003e \u003cNop\u003e\nno \u003cright\u003e \u003cNop\u003e\nno \u003cup\u003e \u003cNop\u003e\n\nino \u003cdown\u003e \u003cNop\u003e\nino \u003cleft\u003e \u003cNop\u003e\nino \u003cright\u003e \u003cNop\u003e\nino \u003cup\u003e \u003cNop\u003e\n                                                                               \nvno \u003cdown\u003e \u003cNop\u003e\nvno \u003cleft\u003e \u003cNop\u003e\nvno \u003cright\u003e \u003cNop\u003e\nvno \u003cup\u003e \u003cNop\u003e\n```\n\n","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarolrod%2Fvim-python-ide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarolrod%2Fvim-python-ide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarolrod%2Fvim-python-ide/lists"}