{"id":6739,"date":"2026-08-10T09:36:41","date_gmt":"2026-08-10T09:36:41","guid":{"rendered":"https:\/\/nokobox.com\/index.php\/item\/oreilly-scripting-vim-2017-8\/"},"modified":"2026-08-10T09:36:41","modified_gmt":"2026-08-10T09:36:41","slug":"oreilly-scripting-vim-2017-8","status":"publish","type":"digital_item","link":"https:\/\/nokobox.com\/index.php\/item\/oreilly-scripting-vim-2017-8\/","title":{"rendered":"Oreilly \u2013 Scripting Vim 2017-8"},"content":{"rendered":"<div class=\"w-post-elm post_content\">\n<h2><span style=\"vertical-align: inherit\">Description<\/span><\/h2>\n<p data-sourcepos=\"5:1-5:667\"><span style=\"vertical-align: inherit\">Vim Scripting course. Vim is a great editor, but it\u2019s definitely not perfect. Despite the wide range of built-in tools and commands, there is always one or two vital features missing. Unfortunately, the critical missing features and how they are presented are different for each Vim user. Fortunately, Vim provides a way for any Vim user to modify, enhance, and extend Vim using its built-in scripting language. Developers are only as good as their tools, and a developer\u2019s most essential tool is their editor. Designed for beginner to intermediate developers with some Vim scripting experience, this course teaches you how to make Vim scripting much more powerful and much easier to use.<\/span><\/p>\n<h3 data-sourcepos=\"7:1-7:24\"><span style=\"vertical-align: inherit\">What you will learn<\/span><\/h3>\n<ul data-sourcepos=\"9:1-16:0\">\n<li data-sourcepos=\"9:1-9:49\"><span style=\"vertical-align: inherit\">Understanding the features and syntax of Vim\u2019s built-in scripting language<\/span><\/li>\n<li data-sourcepos=\"10:1-10:94\"><span style=\"vertical-align: inherit\">Learn to connect your scripts to Vim\u2019s user interface through shortcuts, mappings, and automated commands<\/span><\/li>\n<li data-sourcepos=\"11:1-11:74\"><span style=\"vertical-align: inherit\">Explore the limitations and pitfalls of the Vimscript language and learn how to avoid them<\/span><\/li>\n<li data-sourcepos=\"12:1-12:45\"><span style=\"vertical-align: inherit\">Master the ability to use the Vimscript debugger<\/span><\/li>\n<li data-sourcepos=\"13:1-13:62\"><span style=\"vertical-align: inherit\">Explore dozens of the most useful built-in functions that Vim has to offer<\/span><\/li>\n<li data-sourcepos=\"14:1-14:35\"><span style=\"vertical-align: inherit\">Understanding how to implement your own Vim functions<\/span><\/li>\n<li data-sourcepos=\"15:1-16:0\"><span style=\"vertical-align: inherit\">See how Vim is scripted in other scripting languages, so you can reuse functions you\u2019ve invented<\/span><\/li>\n<\/ul>\n<h3 data-sourcepos=\"19:1-19:30\"><span style=\"vertical-align: inherit\">This course is suitable for people who<\/span><\/h3>\n<ul data-sourcepos=\"21:1-24:0\">\n<li data-sourcepos=\"21:1-21:64\"><span style=\"vertical-align: inherit\">Beginner to intermediate developers with some Vim scripting experience<\/span><\/li>\n<li data-sourcepos=\"22:1-22:66\"><span style=\"vertical-align: inherit\">People who want to use Vim more effectively and efficiently<\/span><\/li>\n<li data-sourcepos=\"23:1-24:0\"><span style=\"vertical-align: inherit\">Those who want to extend and customize Vim\u2019s capabilities<\/span><\/li>\n<li data-sourcepos=\"23:1-24:0\"><span style=\"vertical-align: inherit\">Real tasks of Linux administration<\/span><\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Vim Scripting course specifications<\/span><\/h3>\n<ul>\n<li><span style=\"vertical-align: inherit\">Publisher: <\/span><a href=\"https:\/\/href.li\/?https:\/\/www.oreilly.com\/library\/view\/scripting-vim\/9781491996287\/?_gl=1*nrvptj*_ga*MTU4NjE0OTc3OC4xNzEyMjIyNDU3*_ga_092EL089CH*MTczMDgwMDAxNi4yMS4xLjE3MzA4MDAwMjcuNDkuMC4w\" target=\"_blank\" rel=\"noopener\"><span style=\"vertical-align: inherit\">Oreilly<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Lecturer: <\/span><a class=\"author-name\" href=\"https:\/\/downloadlynet.ir\/tag\/damian-conway\/\"><span style=\"vertical-align: inherit\">Damian Conway<\/span><\/a><\/li>\n<li><span style=\"vertical-align: inherit\">Training level: beginner to advanced<\/span><\/li>\n<li><span style=\"vertical-align: inherit\">Training duration: 6 hours and 25 minutes<\/span><\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Course headings<\/span><\/h3>\n<ul>\n<li dir=\"ltr\" style=\"text-align: left\">Extending Vim Without Coding<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Introduction<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Abbreviations<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Restrictions on the LHS<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Expanding Abbreviations<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Reviewing Your Abbreviations<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Targeted Abbreviations<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Computed Abbreviations<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Maps<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Insertion Maps<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Normal Maps<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Command-Line Maps<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Other Kinds of Maps<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Unremappable Maps<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">The VimScript Language<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Vim Scripting Basics<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Running Vim Scripts<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Statements<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Values<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Comments<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Variables<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Expressions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Control Structures<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Built-In Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">String Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Pattern Matching and Transformation<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Input and Output Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Buffer Interaction Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Cursor Control Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">System and Filesystem Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Code Execution Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Data Structures in VimScript<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Lists<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">List Creation and Access<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Sublists<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Nested Lists<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">List Assignment<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Sublist Assignment<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">List Identity<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">List Unpacking<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Other List-Related Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Other List-Related Procedures<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Dictionaries<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Accessing Dictionary Entries<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">List-Processing of Dictionaries<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Assignments and Identities<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Additions and Subtractions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Other Dictionary-Related Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">How to Use Dictionaries<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Scripting Vim<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">User-Defined Functions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Functions and Maps<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Variadic Argument Lists<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Function References<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">A Useful Example<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Another Useful Example<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Exceptions<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Debugging<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Autocommands<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">A Skeletal Example<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Timeouts<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Tidying Your Files<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Removing Autocommands<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Autocommand Groups<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Using Embedded Languages<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Perl<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Perl API<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Filtering with Perl<\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Python<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Python API<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\"><span style=\"vertical-align: inherit\">Python 3<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Other Languages<\/li>\n<li dir=\"ltr\" style=\"text-align: left\">Conclusion<\/li>\n<\/ul>\n<h3><span style=\"vertical-align: inherit\">Vim Scripting course images<\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-940735 size-full\" src=\"https:\/\/downloadly.ir\/wp-content\/uploads\/2024\/11\/Scripting-Vim.jpg\" alt=\"Scripting Vim\" width=\"1263\" height=\"377\"><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"vertical-align: inherit\">Sample video of the course<\/span><\/h3>\n<div style=\"width: 640px;\" class=\"wp-video\"><span class=\"mejs-offscreen\">Video Player<\/span><\/p>\n<div id=\"mep_0\" class=\"mejs-container mejs-container-keyboard-inactive wp-video-shortcode mejs-video\" tabindex=\"0\" role=\"application\" aria-label=\"Video Player\" style=\"width: 640px; height: 360px; min-width: 217px;\">\n<div class=\"mejs-inner\">\n<div class=\"mejs-mediaelement\"><mediaelementwrapper id=\"video-144841-1\"><video class=\"wp-video-shortcode\" id=\"video-144841-1_html5\" width=\"640\" height=\"360\" preload=\"metadata\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Scripting_Vim.mp4?_=1\" style=\"width: 640px; height: 360px;\"><source type=\"video\/mp4\" src=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Scripting_Vim.mp4?_=1\"><a href=\"https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Scripting_Vim.mp4?nocache=1786107965515\">https:\/\/dl.downloadly.ir\/Files\/Elearning\/Sample\/Scripting_Vim.mp4<\/a><\/video><\/mediaelementwrapper><\/div>\n<div class=\"mejs-layers\">\n<div class=\"mejs-poster mejs-layer\" style=\"display: none; width: 100%; height: 100%;\"><\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-loading\"><span class=\"mejs-overlay-loading-bg-img\"><\/span><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer\" style=\"display: none; width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-error\"><\/div>\n<\/div>\n<div class=\"mejs-overlay mejs-layer mejs-overlay-play\" style=\"width: 100%; height: 100%;\">\n<div class=\"mejs-overlay-button\" role=\"button\" tabindex=\"0\" aria-label=\"Play\" aria-pressed=\"false\"><\/div>\n<\/div>\n<\/div>\n<div class=\"mejs-controls\">\n<div class=\"mejs-button mejs-playpause-button mejs-play\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Play\" aria-label=\"Play\" tabindex=\"0\"><\/button><\/div>\n<div class=\"mejs-time mejs-currenttime-container\" role=\"timer\" aria-live=\"off\"><span class=\"mejs-currenttime\">00:00<\/span><\/div>\n<div class=\"mejs-time-rail\"><span class=\"mejs-time-total mejs-time-slider\" role=\"slider\" tabindex=\"0\" aria-label=\"Time Slider\" aria-valuemin=\"0\" aria-valuemax=\"0\" aria-valuenow=\"0\" aria-valuetext=\"00:00\"><span class=\"mejs-time-buffering\" style=\"display: none;\"><\/span><span class=\"mejs-time-loaded\"><\/span><span class=\"mejs-time-current\"><\/span><span class=\"mejs-time-hovered no-hover\"><\/span><span class=\"mejs-time-handle\"><span class=\"mejs-time-handle-content\"><\/span><\/span><span class=\"mejs-time-float\"><span class=\"mejs-time-float-current\">00:00<\/span><span class=\"mejs-time-float-corner\"><\/span><\/span><\/span><\/div>\n<div class=\"mejs-time mejs-duration-container\"><span class=\"mejs-duration\">00:00<\/span><\/div>\n<div class=\"mejs-button mejs-volume-button mejs-mute\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Mute\" aria-label=\"Mute\" tabindex=\"0\"><\/button><a href=\"javascript:void(0);\" class=\"mejs-volume-slider\" aria-label=\"Volume Slider\" aria-valuemin=\"0\" aria-valuemax=\"100\" role=\"slider\" aria-orientation=\"vertical\"><span class=\"mejs-offscreen\">Use Up\/Down Arrow keys to increase or decrease volume.<\/span><\/p>\n<div class=\"mejs-volume-total\">\n<div class=\"mejs-volume-current\" style=\"bottom: 0px; height: 100%;\"><\/div>\n<div class=\"mejs-volume-handle\" style=\"bottom: 100%; margin-bottom: -3px;\"><\/div>\n<\/div>\n<p><\/a><\/div>\n<div class=\"mejs-button mejs-fullscreen-button\"><button type=\"button\" aria-controls=\"mep_0\" title=\"Fullscreen\" aria-label=\"Fullscreen\" tabindex=\"0\"><\/button><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<h3><span style=\"vertical-align: inherit\">Installation guide<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">After Extract, view with your favorite Player.<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Subtitle: English<\/span><\/p>\n<p><span style=\"vertical-align: inherit\">Quality: 720p<\/span><\/p>\n<\/div>\n<h3><span style=\"vertical-align: inherit\">download link<\/span><\/h3>\n<p><a href=\"https:\/\/dl2.downloadly.ir\/Files\/Elearning\/Oreilly_Scripting_Vim_2017-8.part1.rar?nocache=1786107964\"><span style=\"vertical-align: inherit\">Download part 1 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl2.downloadly.ir\/Files\/Elearning\/Oreilly_Scripting_Vim_2017-8.part2.rar?nocache=1786107964\"><span style=\"vertical-align: inherit\">Download part 2 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl2.downloadly.ir\/Files\/Elearning\/Oreilly_Scripting_Vim_2017-8.part3.rar?nocache=1786107964\"><span style=\"vertical-align: inherit\">Download part 3 \u2013 1 GB<\/span><\/a><\/p>\n<p><a href=\"https:\/\/dl2.downloadly.ir\/Files\/Elearning\/Oreilly_Scripting_Vim_2017-8.part4.rar?nocache=1786107964\"><span style=\"vertical-align: inherit\">Download part 4 \u2013 935 MB<\/span><\/a><\/p>\n<p><span style=\"vertical-align: inherit\">File(s) password: www.downloadly.ir<\/span><\/p>\n<h3><span style=\"vertical-align: inherit\">File size<\/span><\/h3>\n<p><span style=\"vertical-align: inherit\">3.9 GB<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Description Vim Scripting course. Vim is a great editor, but it\u2019s definitely not perfect. Despite the wide range of built-in tools and commands, there is always<\/p>\n","protected":false},"author":1,"template":"","dgi_category":[10458],"dgi_tag":[63247,63248,63249,63250,63251,63252],"class_list":["post-6739","digital_item","type-digital_item","status-publish","has-post-thumbnail","hentry","dgi_category-video-tutorials","dgi_tag-course-scripting-vim","dgi_tag-damian-conway","dgi_tag-download-course-scripting-vim","dgi_tag-download-scripting-vim","dgi_tag-free-download-scripting-vim","dgi_tag-free-scripting-vim"],"_links":{"self":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/6739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item"}],"about":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/types\/digital_item"}],"author":[{"embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/digital_item\/6739\/revisions"}],"wp:attachment":[{"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/media?parent=6739"}],"wp:term":[{"taxonomy":"dgi_category","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_category?post=6739"},{"taxonomy":"dgi_tag","embeddable":true,"href":"https:\/\/nokobox.com\/index.php\/wp-json\/wp\/v2\/dgi_tag?post=6739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}