{"id":19079000,"url":"https://github.com/tomtom/startup_profile_vim","last_synced_at":"2025-10-28T13:18:19.558Z","repository":{"id":1051545,"uuid":"883612","full_name":"tomtom/startup_profile_vim","owner":"tomtom","description":"Profile vim startup","archived":false,"fork":false,"pushed_at":"2013-10-20T14:39:02.000Z","size":99,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-02T18:48:06.835Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.vim.org/scripts/script.php?script_id=2915","language":"VimL","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/tomtom.png","metadata":{"files":{"readme":"README","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}},"created_at":"2010-09-02T15:58:48.000Z","updated_at":"2021-04-13T01:46:38.000Z","dependencies_parsed_at":"2022-08-16T11:55:13.847Z","dependency_job_id":null,"html_url":"https://github.com/tomtom/startup_profile_vim","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Fstartup_profile_vim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Fstartup_profile_vim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Fstartup_profile_vim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomtom%2Fstartup_profile_vim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomtom","download_url":"https://codeload.github.com/tomtom/startup_profile_vim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240131773,"owners_count":19752725,"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-11-09T02:13:00.026Z","updated_at":"2025-10-28T13:18:19.467Z","avatar_url":"https://github.com/tomtom.png","language":"VimL","funding_links":[],"categories":[],"sub_categories":[],"readme":"With the introduction of the autoload directory, plugins were often \nsplit into several separate files. The downside is that it isn't always \nthat obvious which files are actually loaded on startup.\n\nYou can use the :scriptnames command to get a list of files that were \nloaded during startup. This list tells you the order in which the files \nwere loaded but it doesn't tell you much about the impact of that script \non startup time. So what you actually want is a list of the scripts \nincluding certain indicators of how long it took to process a script.\n\nFrom version 7.3 on, vim has a |--startuptime| command-line option that can be \nused to achieve something similar.\n\nThis macro creates a CSV file, which included the following information:\n\n    * Number of the script\n    * Filename\n    * Number of line\n    * Number of bytes\n    * Timestamp\n    * Approximate time it took to process the script (actually the time it \n      took until the next script was loaded)\n\nYou can open this (semicolon-separated) CSV in any spreadsheet \napplication, sort the data etc.\n\nThe list can serve as a starting point for optimizing your startup time, \nfor example by delaying certain calls to functions in autoload files or \nby making use of the AsNeeded plugin\n\nIn order to activate the macro, check the value of g:startup_profile_csv \nin the source code and temporarily insert the following line(s) at the \nbeginning of your |vimrc| file: \u003e\n\n    \" Setting g:startup_profile_csv is optional.\n    let g:startup_profile_csv = \"...\"\n    runtime macros/startup_profile.vim\n\nThe list can serve as a starting point for optimizing your startup time, \ne.g. by delaying certain calls to functions in autoload files or by \nmaking use of the AsNeeded plugin (vimscript #915).\n\nDepending on your system configuration and the speed of your hard drive, \nseeking for files or, e.g., creating menu entries may prove to be costly \nwith respect to startup time.\n\nThis script itself changes startup time because it accesses every script \nin order to find out its size and the number of lines.\n\nThis script logs all files until the |VimEnter| event is triggered. It \nis assumed that any files loaded thereafter are specific to the file \nbeing edited.\n\nRelated~\n\n    * AsNeeded plugin: http://www.vim.org/scripts/script.php?script_id=915\n    * Wiki page: http://vim.wikia.com/wiki/Optimize_startup_time_by_logging_the_sourced_vimscript_files\n\n\n\n-----------------------------------------------------------------------\n\nStatus:  Works for me (there may be some minor quirks)\nInstall: See http://github.com/tomtom/vimtlib/blob/master/INSTALL.TXT\nSee http://github.com/tomtom for related plugins.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomtom%2Fstartup_profile_vim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomtom%2Fstartup_profile_vim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomtom%2Fstartup_profile_vim/lists"}