{"id":16904584,"url":"https://github.com/hackebrot/vimfiles","last_synced_at":"2026-05-15T22:33:26.446Z","repository":{"id":15538731,"uuid":"18273488","full_name":"hackebrot/vimfiles","owner":"hackebrot","description":" :coffee: My personal neovim configuration","archived":false,"fork":false,"pushed_at":"2020-04-07T14:38:21.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T05:49:06.327Z","etag":null,"topics":["neovim","vim","vimrc"],"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/hackebrot.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2014-03-30T20:49:44.000Z","updated_at":"2020-04-07T14:38:24.000Z","dependencies_parsed_at":"2022-09-14T21:51:01.156Z","dependency_job_id":null,"html_url":"https://github.com/hackebrot/vimfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hackebrot/vimfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackebrot%2Fvimfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackebrot%2Fvimfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackebrot%2Fvimfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackebrot%2Fvimfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackebrot","download_url":"https://codeload.github.com/hackebrot/vimfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackebrot%2Fvimfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33082027,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["neovim","vim","vimrc"],"created_at":"2024-10-13T18:34:26.294Z","updated_at":"2026-05-15T22:33:26.429Z","avatar_url":"https://github.com/hackebrot.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"========\nvimfiles\n========\n\nThis repo features my personal `neovim config`_ as well as a cheat sheet for\nnifty vim commands.\n\n.. _`neovim config`: config/\n\n\nCheat Sheet\n-----------\n\nChange text of next search match\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nLet's say you want to replace ``Hello World`` in the following text::\n\n    We are going to write a simple Hello World program...\n\nGiven that you searched for it via ``/Hello World``, you can simply use the\nfollowing command to change the text::\n\n    cgn\n\nOr delete the text via::\n\n    dgn\n\n\nCount number of search matches\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following will display the count, but will not change the buffer::\n\n    :%s/pattern//gn\n\nSee `Tip 860`_ by Marc Weber on the `vim wiki`_.\n\n\nFind in files\n~~~~~~~~~~~~~\n\nSearch for ``foobar`` in all python files in the current directory and all\nsubdirectories::\n\n    :noautocmd vimgrep /foobar/gj ./**/*.py\n\nDisable autocommands to increase search speed.\n\nUse ``:cw`` to open the quickfix window.\n\nSee `Tip 1543`_ by Fritzophrenic on the `vim wiki`_.\n\n\nFolding\n~~~~~~~\n\nToggle the current fold::\n\n    za\n\nSee `Tip 108`_ on the `vim wiki`_.\n\n\nMarks\n~~~~~\n\nSet mark ``a`` at current cursor location::\n\n    ma\n\nJump to position (line and column) of mark ``a``::\n\n    `a\n\nDelete mark ``a``::\n\n    :delm a\n\nSee `Tip 42`_ on the `vim wiki`_.\n\n\nMove cursor to end of match\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdd ``/e`` to your search to place the cursor at the end of the match::\n\n    /foobar/e\n\n\nRestore a visual selection\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nReselect the last block::\n\n    gv\n\nSee `Tip 1584`_ by Metacosm on the `vim wiki`_.\n\n\nRun macro on multiple windows, tabs, buffers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nRun macro ``q`` on all tabs (files are not saved to disk)::\n\n    :tabdo normal! @q\n\nYou can also write all the changed tabs to disk in a single step::\n\n    :tabdo execute \"normal! @q\" | update\n\nDepeneding on how you work with buffers you may need to choose a slightly\ndifferent command:\n\n* ``argdo`` - all files in argument list\n* ``bufdo`` - all buffers\n* ``tabdo`` - all tabs\n* ``windo`` - all windows in the current tab\n\nSee `Tip 133`_ on the `vim wiki`_.\n\n\nRun macro on visual selection\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nRun the macro from register ``q`` on each line of your selection::\n\n    :normal @q\n\nSee `Tip 398`_ on the `vim wiki`_.\n\n\nSmartcase searching\n~~~~~~~~~~~~~~~~~~~\n\nGiven that both ``ignorecase`` and ``smartcase`` are enabled, vim does a case\nsensitive search only if the pattern contains an uppercase letter.\n\nTo explicitly search for a case sensitive pattern use the following::\n\n    /foobar\\C\n\nSee `Tip 1`_ on the `vim wiki`_.\n\n\nSubstitute with ascending numbers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo replace each occurrence of *abc* with *xyz_N* where N is an ascending number\n(xyz_1, xyz_2, xyz_3, and so on)::\n\n    :let i = 1 | %s/abc/\\='xyz_' . Inc()/g\n\nWhereas ``Inc()`` is a custom function you may want to put in your vimrc::\n\n    function Inc(...)\n      let result = g:i\n      let g:i += a:0 \u003e 0 ? a:1 : 1\n      return result\n    endfunction\n\nSee `Tip 918`_ on the `vim wiki`_.\n\nYou can refer to match groups in the replacement expression via ``submatch``::\n\n    :let i = 1 | %s/\\(foo\\s*\\)\\(abc\\)\\(\\s*bar\\)/\\=submatch(1) . 'xyz_' . Inc() . submatch(3)/g\n\n\nTabs\n~~~~\n\nOpen files in tabs::\n\n    vim -p foo.py bar.py\n    vim -p *.py\n\nList all tabs::\n\n    :tabs\n\nGo to next/previous tab in normal mode::\n\n    gt\n    gT\n\nSee `Tip 1347`_ on the `vim wiki`_.\n\n\nMove a split to a new tab::\n\n    \u003cC-W\u003eT\n\n\nMove each of the opened buffers to a new tab::\n\n    :tab sball\n\n\nPlugins\n-------\n\nEunuch\n~~~~~~\n\nMove the current file relative to the its containing directory::\n\n    :Rename\n\nRun ``find`` and load the results into the quickfix list::\n\n    :Find\n\nPlugin by Tim Pope. See `vim-eunuch`_.\n\n\nExchange\n~~~~~~~~\n\nMark a word for exchange::\n\n    cxiw\n\nReplace the word under the cursor by repeating the command::\n\n    .\n\nThe same works for lines::\n\n    cxx\n\nOr in Visual mode::\n\n    X\n\nClear selection::\n\n    cxc\n\nPlugin by Tom McDonald. See `vim-exchange`_.\n\n\nFugitive\n~~~~~~~~\n\nResolve merge conflicts. Open three-way diff::\n\n    :Gdiff\n\nJump to the next/previous hunk in a diff::\n\n    ]c\n    [c\n\nWrite the current file to the index::\n\n    :Gwrite\n\nCommit the staged changes along with a message::\n\n    :Gcommit -m 'Create a settings json file and load it in the app'\n\nImagine the following scenario::\n\n    git checkout master\n    git merge feat/user-settings-panel\n\nPull over a hunk from the ``master``::\n\n    :diffget //2\n\nPull over a hunk from ``feat/user-settings-panel``::\n\n    :diffget //3\n\nCompare the current file with another branch::\n\n    :Gdiff feat/user-settings-panel\n\n\nPlugin by Tim Pope. See `vim-fugitive`_.\n\nFor a great tutorial on *Fugitive* by Drew Neil please visit `vimcasts.org`_.\n\nJedi\n~~~~\n\nCompletion::\n\n    \u003cC-Space\u003e\n\nGoto assignments::\n\n    \u003cleader\u003eg\n\nGoto definitions::\n\n     \u003cleader\u003ed\n\nRenaming::\n\n     \u003cleader\u003er\n\nUsages::\n\n     \u003cleader\u003en\n\nPlugin by Dave Halter. See `jedi-vim`_.\n\nSurround\n~~~~~~~~\n\nChange ``\"Hello world!\"`` to ``'Hello world!'``::\n\n    cs\"'\n\nRemove delimiters entirely::\n\n    ds\"\n\nAdd another pair of parentheses to ``(Fizz Buzz)``::\n\n    ysi))\n\nPlugin by Tim Pope. See `vim-surround`_.\n\n\nLicense\n-------\n\n.. image:: https://i.creativecommons.org/l/by-sa/3.0/88x31.png\n\nThis cheat sheet is licensed under a `Creative Commons Attribution-ShareAlike\n3.0 Unported License`_.\n\n\n.. _`Tip 1`: http://vim.wikia.com/wiki/Searching\n.. _`Tip 42`: http://vim.wikia.com/wiki/Using_marks\n.. _`Tip 108`: http://vim.wikia.com/wiki/Folding\n.. _`Tip 133`: http://vim.wikia.com/wiki/Run_a_command_in_multiple_buffers\n.. _`Tip 398`: http://vim.wikia.com/wiki/Macros\n.. _`Tip 860`: http://vim.wikia.com/wiki/Count_number_of_matches_of_a_pattern\n.. _`Tip 918`: http://vim.wikia.com/wiki/Making_a_list_of_numbers\n.. _`Tip 1347`: http://vim.wikia.com/wiki/Using_tab_pages\n.. _`Tip 1543`: http://vim.wikia.com/wiki/Find_in_files_within_Vim\n.. _`Tip 1584`: http://vim.wikia.com/wiki/Visual_selection\n\n.. _`Creative Commons Attribution-ShareAlike 3.0 Unported License`: http://creativecommons.org/licenses/by-sa/3.0/\n.. _`vim wiki`: http://vim.wikia.com\n\n.. _`vim-eunuch`: https://github.com/tpope/vim-eunuch\n.. _`vim-exchange`: https://github.com/tommcdo/vim-exchange\n.. _`jedi-vim`: https://github.com/davidhalter/jedi-vim\n.. _`vim-fugitive`: https://github.com/tpope/vim-fugitive\n.. _`vim-surround`: https://github.com/tpope/vim-surround\n.. _`vimcasts.org`: http://vimcasts.org/episodes/fugitive-vim---a-complement-to-command-line-git/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackebrot%2Fvimfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackebrot%2Fvimfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackebrot%2Fvimfiles/lists"}