{"id":25977584,"url":"https://github.com/nylander/vim","last_synced_at":"2026-02-26T18:02:04.753Z","repository":{"id":146538778,"uuid":"306066464","full_name":"nylander/vim","owner":"nylander","description":"My setup for vim","archived":false,"fork":false,"pushed_at":"2024-03-20T09:13:18.000Z","size":116,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-05T04:38:33.401Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nylander.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-10-21T15:20:14.000Z","updated_at":"2022-10-26T13:59:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"3b436388-2333-40b5-89a9-f3350054fea4","html_url":"https://github.com/nylander/vim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nylander/vim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylander%2Fvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylander%2Fvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylander%2Fvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylander%2Fvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nylander","download_url":"https://codeload.github.com/nylander/vim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylander%2Fvim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260606471,"owners_count":23035350,"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":"2025-03-05T04:38:35.181Z","updated_at":"2025-11-01T04:04:26.504Z","avatar_url":"https://github.com/nylander.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My .vim folder\n\n- Last modified: 2025-10-31 11:27:56\n- Sign: Johan Nylander\n\n---\n\n*Vim isn't an editor designed to hold its users' hands. It is a tool, the use\nof which must be learned.*\n\n---Bram Moolenaar (author of vim)\n\n---\n\n## Description\n\nReasonable setup for efficient work with the [VIM - Vi IMproved text\neditor](https://www.vim.org/). In particular, I use settings for the\n\"graphical vim\" (`gvim`).\n\nOct 2025: I'm using **gvim v.9.1**\n\n## Current file structure\n\n    vim/\n       ├── pack\n       │   └── plugins\n       │       ├── opt\n       │       │   └── vim-game-code-break\n       │       └── start\n       │           ├── copilot.vim\n       │           ├── csv.vim\n       │           ├── editorconfig-vim\n       │           ├── LargeFile.vim\n       │           ├── sketch.vim\n       │           ├── taglist.vim\n       │           ├── vim-instant-markdown\n       │           ├── vim-snakemake\n       │           ├── vim-template\n       │           └── vimwiki\n       ├── README.md\n       └── vimrc\n\n\nTo setup on a new machine, see the [Replication...\nsection](#replicating-the-repository-on-a-new-machine) below.\n\n## Notes\n\n### File `vimrc`\n\n`~/.vimrc` is a symbolic link to `~/.vim/vimrc`.\n\nThere are also a lot of *comments* in the [vimrc](vimrc) worth reading.\n\n### Additions and plugins/submodules\n\n1. Clone a plugin directory in `~/.vim/vimrc/pack/plugins/start`, or in\n   `~/.vim/vimrc/pack/plugins/opt`.\n\n   For example:\n\n       $ git clone https://github.com/vim-scripts/taglist.vim.git \\\n           ~/.vim/pack/plugins/start/taglist.vim\n\n2. Open `vim` and execute\n\n        :helptags ~/.vim/pack/plugins/start/taglist.vim\n\nIf you put the plugin (say, `foo`) in `~/.vim/vimrc/pack/plugins/opt`, it is\n*not* loaded at runtime but can be added by using the command `:packadd foo`.\n\n- Remove submodule\n\n        $ git submodule deinit pack/plugins/start/foo\n        $ git rm -r pack/plugins/start/foo\n        $ rm -rf .git/modules/pack/plugins/start/foo\n\n- Update submodules\n\n        $ git submodule update --recursive --remote\n\nThen add and commit any new changes, followed by push.  If I need to make\nchanges in submodule files, I do it from my own fork of the submodule (adding\nsubmodule as examples below).\n\n#### Submodules used\n\n\\footnotesize\n\n    mkdir -p $HOME/.vim/pack/plugins/{start,opt}\n    cd $HOME/.vim\n    git submodule add https://github.com/chrisbra/csv.vim.git pack/plugins/start/csv.vim\n    git submodule add https://github.com/suan/vim-instant-markdown.git pack/plugins/start/vim-instant-markdown\n    git submodule add https://github.com/ivan-krukov/vim-snakemake.git pack/plugins/start/vim-snakemake\n    git submodule add https://github.com/vim-scripts/sketch.vim.git pack/plugins/start/sketch.vim\n    git submodule add https://github.com/Maxlufs/LargeFile.vim.git pack/plugins/start/LargeFile.vim\n    git submodule add https://github.com/vim-scripts/taglist.vim.git pack/plugins/start/taglist.vim\n    git submodule add https://github.com/nylander/vim-template.git pack/plugins/start/vim-template\n    git submodule add https://github.com/vim-scripts/vimwiki.git pack/plugins/start/vimwiki\n    git submodule add https://github.com/johngrib/vim-game-code-break.git pack/plugins/opt/vim-game-code-break\n    git submodule add https://github.com/github/copilot.vim.git pack/plugins/start/copilot.vim\n    git submodule add https://github.com/editorconfig/editorconfig-vim.git pack/plugins/start/editorconfig-vim\n\n\\normalsize\n\n## Replicating the repository on a new machine\n\n(Note: partly untested!)\n\nWe will clone the vim directory and then symlink to `$HOME/.vim` (and\n`$HOME/.vim/vimrc` to `$HOME/.vimrc`).  One alternative is to clone the repo\ndirectly to `$HOME/.vim`, and link/copy the `.vim/vimrc` to `$HOME/.vimrc`.\n\n1. Install prerequisites (see also step 5.)\n\n        $ sudo apt install vim-gui-common exuberant-ctags\n\n2. Clone the repository (recursively to clone plugins as well).\n\n        $ git clone --recurse-submodules -j8 https://github.com/nylander/vim.git\n        $ cd vim\n\n3. Generate helptags for plugins:\n\n        $ vim\n        :helptags ALL\n\n4. Symlink to .vim and .vimrc:\n\n        $ ln -sf $PWD/vim $HOME/.vim\n        $ ln -sf $PWD/vim/vimrc $HOME/.vimrc\n\n5. See the file [vimrc](vimrc) for *additional programs* required for full\n   functionality. This involves both installing using package managers or\n   manually installing from the internet (github).\n\n6. Specific changes (work in progress)\n    - [ ] Need to override automatic filetype recognignition made by the CSV plugin (remove `*.dat`, add `*.tsv`)\n    - [ ] Make sure I use my own [templates](myfiles/templates/)\n    - [ ] ...\n\n### Links\n\n- \u003chttps://github.com/vim/vim/blob/03c3bd9fd094c1aede2e8fe3ad8fd25b9f033053/runtime/doc/repeat.txt#L515\u003e\n- \u003chttps://gist.github.com/manasthakur/d4dc9a610884c60d944a4dd97f0b3560\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnylander%2Fvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnylander%2Fvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnylander%2Fvim/lists"}