{"id":28376,"date":"2018-02-11T15:29:28","date_gmt":"2018-02-11T13:29:28","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=28376"},"modified":"2018-02-11T15:30:44","modified_gmt":"2018-02-11T13:30:44","slug":"zeal-vim-offline-cakephp-and-other-documentation","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/11\/zeal-vim-offline-cakephp-and-other-documentation\/","title":{"rendered":"Zeal + Vim = offline CakePHP (and other) documentation"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"28378\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/11\/zeal-vim-offline-cakephp-and-other-documentation\/zeal-cakephp-inflector\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?fit=1920%2C1017&amp;ssl=1\" data-orig-size=\"1920,1017\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Zeal &amp;#8211; CakePHP &amp;#8211; Inflector\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?fit=660%2C349&amp;ssl=1\" class=\"aligncenter size-medium wp-image-28378\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector-500x265.png?resize=500%2C265&#038;ssl=1\" alt=\"\" width=\"500\" height=\"265\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?resize=500%2C265&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?resize=768%2C407&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?resize=1024%2C542&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?w=1920&amp;ssl=1 1920w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-CakePHP-Inflector.png?w=1320 1320w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>As any long time <a href=\"http:\/\/www.vim.org\/\">Vim<\/a> user, I&#8217;m constantly looking for ways to tweak and improve my text editor configuration, and make me even more efficient.\u00a0 Today, I came across a very handy addition &#8211; <a href=\"https:\/\/zealdocs.org\/\">Zeal<\/a>\u00a0&#8211; an offline documentation browser for developers. (Thanks to <a href=\"https:\/\/nickjanetakis.com\/blog\/access-documentation-from-your-code-editor-with-dash-or-zeal\">this blog post<\/a>, which also mentions <a href=\"https:\/\/kapeli.com\/dash\">Dash<\/a> as an alternative for those of you on the MacOS.)<\/p>\n<p>With Zeal, you can download a whole lot of documentation sets for pretty much any web development technology out there &#8211; programming languages, frameworks, libraries, tools, and more.\u00a0 And then you can easily integrate Zeal with whatever text editor or IDE you are using.<\/p>\n<p>For Vim, there are, as always, several options.\u00a0 Some of them are listed <a href=\"https:\/\/zealdocs.org\/usage.html\">here<\/a>. I personally opted for the <a href=\"https:\/\/github.com\/KabbAmine\/zeavim.vim\">Zeavim plugin<\/a>.\u00a0 The installation is straight forward and everything works out of the box.\u00a0 After giving a quick try, I decided to adjust my .vimrc file to use CakePHP framework documentation together with the PHP programming language documentation whenever I&#8217;m working with any PHP file.\u00a0 Here&#8217;s what I had to add:<\/p>\n<pre class=\"brush: plain; light: true; title: ; notranslate\" title=\"\">\r\n&quot; Zeal offline documentation\r\nlet g:zv_file_types = {\r\n       \\ 'php': 'cakephp,php',\r\n       \\ }\r\n<\/pre>\n<p>Now, whenever I edit a PHP file and hit &#8220;<em>,z<\/em>&#8221; (I use comma as a leader, by the way), Zeal window pops up with the relevant documentation search.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"28379\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/11\/zeal-vim-offline-cakephp-and-other-documentation\/zeal-vim-cakephp\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?fit=1920%2C1080&amp;ssl=1\" data-orig-size=\"1920,1080\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Zeal &amp;#8211; Vim &amp;#8211; CakePHP\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?fit=660%2C371&amp;ssl=1\" class=\"aligncenter size-medium wp-image-28379\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP-500x281.png?resize=500%2C281&#038;ssl=1\" alt=\"\" width=\"500\" height=\"281\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?resize=500%2C281&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?w=1920&amp;ssl=1 1920w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/Zeal-Vim-CakePHP.png?w=1320 1320w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>It&#8217;s super fast. It works offline, and it&#8217;s awesome!<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>As any long time Vim user, I&#8217;m constantly looking for ways to tweak and improve my text editor configuration, and make me even more efficient.\u00a0 Today, I came across a very handy addition &#8211; Zeal\u00a0&#8211; an offline documentation browser for developers. (Thanks to this blog post, which also mentions Dash as an alternative for those &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/11\/zeal-vim-offline-cakephp-and-other-documentation\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Zeal + Vim = offline CakePHP (and other) documentation<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Zeal + Vim = offline CakePHP (and other) documentation #WebDev #Vim #Zeal #CakePHP #documentation #IDE #productivity","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,6,18,62,1334],"tags":[65,78,1079,2297,3094,1330,3568],"keyring_services":[],"class_list":["post-28376","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-programming","category-technology","category-web-work","tag-desktop","tag-documentation","tag-productivity","tag-text-editors","tag-vim","tag-web-development","tag-zeal"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":29247,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/23\/spacevim-extended-vim-configuration-bundle\/","url_meta":{"origin":28376,"position":0},"title":"SpaceVim &#8211; extended Vim configuration bundle","author":"Leonid Mamchenkov","date":"January 23, 2019","format":false,"excerpt":"There are many different configuration bundles for Vim, which easy the discovery, installation, configuration, and documentation of different plugins and features of this powerful text editor. SpaceVim is yet another one of these. If you are new to Vim, or have grown tired of trying to tweak it to your\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/01\/spacevim.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/01\/spacevim.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/01\/spacevim.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/01\/spacevim.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/01\/spacevim.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":28823,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/09\/29\/vim-tweaks-and-updates\/","url_meta":{"origin":28376,"position":1},"title":"Vim tweaks and updates","author":"Leonid Mamchenkov","date":"September 29, 2018","format":false,"excerpt":"Over the last few weeks, I have significantly changed and updated my Vim configuration.\u00a0 I've been using the editor for decades, and yet I every time I revisit my setup, I am amazed at how far the editor progressed and how wisdom the Vim community shares via themes, plugins, configuration\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/09\/vim-500x265.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28184,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/11\/06\/turning-vim-into-an-ide-through-vim-plugins\/","url_meta":{"origin":28376,"position":2},"title":"Turning vim into an IDE through vim plugins","author":"Leonid Mamchenkov","date":"November 6, 2017","format":false,"excerpt":"\"Turning vim into an IDE through vim plugins\" is yet another take on customizing the Vim text editor and making it into a full featured IDE.\u00a0 Most of these things were possible for years (I even had my own blog post on the subject), but with every version of Vim\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/11\/vim-ide-500x318.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27348,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/12\/vim-setup-for-php-development\/","url_meta":{"origin":28376,"position":3},"title":"Vim setup for PHP development","author":"Leonid Mamchenkov","date":"February 12, 2017","format":false,"excerpt":"Robert Basic shares his \"current Vim setup for PHP development\". \u00a0He shows how setup the Gutentags plugin, jump to definitions with CtrlP plugin, display of the current file and method in the status line, add support for PHP namespaces, improve linting with Asynchronous Lint Engine, and add support for PHPStan.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27355,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/18\/wordpress-vim-vim-plugin-for-wordpress-development\/","url_meta":{"origin":28376,"position":4},"title":"WordPress.vim &#8211; Vim Plugin for WordPress Development","author":"Leonid Mamchenkov","date":"February 18, 2017","format":false,"excerpt":"If Vim is your editor of choice, and WordPress is something you work with on a regular basis, then check out WordPress.vim - a Vim plugin for WordPress development. Some of the features are: Auto-Completion for the WordPress API WordPress Hooks Integration WP-CLI Integration Jump to Definition in WordPress Core\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/wordpress-500x243.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28350,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/01\/29\/vim-as-a-php-ide-the-complete-guide\/","url_meta":{"origin":28376,"position":5},"title":"Vim as a PHP IDE &#8211; the complete guide","author":"Leonid Mamchenkov","date":"January 29, 2018","format":false,"excerpt":"\"Vim as a PHP IDE - the complete guide\" is yet another one of those lengthy articles on how to setup Vim as an IDE (Integrated Development Environment), specifically so for PHP developers. Over the years, it's interesting to see how with more powerful Vim, such guides become more and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=28376"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28376\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=28376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=28376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=28376"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=28376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}