The VimL Primer


Book Description

Build on your editor's capabilities and tailor your editing experience with VimL, the powerful scripting language built into Vim. With VimL you can configure basic settings or add entirely new functionality. Use this quick and easy introduction to create your own Vim plugin while learning the concepts and syntax of VimL. VimL is the scripting language of the Vim editor. If you've ever edited or saved a vimrc file, you've written VimL. And VimL can do much more than simply configure settings and specify option values--you can write entire plugins in VimL. But without a background in scripting Vim, it can be hard to know where to start. The VimL Primer gives you the tools and confidence you need. It gets you comfortable in VimL quickly, walking you through creating a working plugin that you can run yourself as you write it in Vim. You'll learn how to script common commands and buffer interaction, work with windows and buffers from within a plugin script, and how to use autocommands to have Vim recognize entirely new filetypes. You'll discover how to declare filetype-specific settings and define your own syntax elements for use with Vim's syntax highlighting. And you'll see how you can write your own command-line commands and define new mappings to call them. With this introduction to scripting Vim, your own Vim extensions are only plugins away. Take control of your editor! What You Need:: Vim version 7 or later is required, and it's available on any of the major operating systems. This book uses the "Huge" version of Vim 7.4.




Modern Vim


Book Description

Turn Vim into a full-blown development environment using Vim 8's new features and this sequel to the beloved bestseller Practical Vim. Integrate your editor with tools for building, testing, linting, indexing, and searching your codebase. Discover the future of Vim with Neovim: a fork of Vim that includes a built-in terminal emulator that will transform your workflow. Whether you choose to switch to Neovim or stick with Vim 8, you'll be a better developer. A serious tool for programmers and web developers, no other text editor comes close to Vim for speed and efficiency. Make Vim the centerpiece of a Unix-based IDE as you discover new ways to work with Vim 8 and Neovim in more than 20 hands-on tips. Execute tasks asynchronously, allowing you to continue in Vim while linting, grepping, building a project, or running a test suite. Install plugins to be loaded on startup - or on-demand when you need them - with Vim 8's new package support. Save and restore sessions, enabling you to quit Vim and restart again while preserving your window layout and undo history. Use Neovim as a drop-in replacement for Vim - it supports all of the features Vim 8 offers and more, including an integrated terminal that lets you quickly perform interactive commands. And if you enjoy using tmux and Vim together, you'll love Neovim's terminal emulator, which lets you run an interactive shell in a buffer. The terminal buffers fit naturally with Vim's split windows, and you can use Normal mode commands to scroll, search, copy, and paste. On top of all that: Neovim's terminal buffers are scriptable. With Vim at the core of your development environment, you'll become a faster and more efficient developer. What You Need: You'll need a Unix-based environment and an up-to-date release of Vim (8.0 or newer). For the tips about running a terminal emulator, you'll need to install Neovim.




Digital Typography Pocket Primer


Book Description







Mining the Social Web


Book Description

Facebook, Twitter, and LinkedIn generate a tremendous amount of valuable social data, but how can you find out who's making connections with social media, what they’re talking about, or where they’re located? This concise and practical book shows you how to answer these questions and more. You'll learn how to combine social web data, analysis techniques, and visualization to help you find what you've been looking for in the social haystack, as well as useful information you didn't know existed. Each standalone chapter introduces techniques for mining data in different areas of the social Web, including blogs and email. All you need to get started is a programming background and a willingness to learn basic Python tools. Get a straightforward synopsis of the social web landscape Use adaptable scripts on GitHub to harvest data from social network APIs such as Twitter, Facebook, and LinkedIn Learn how to employ easy-to-use Python tools to slice and dice the data you collect Explore social connections in microformats with the XHTML Friends Network Apply advanced mining techniques such as TF-IDF, cosine similarity, collocation analysis, document summarization, and clique detection Build interactive visualizations with web technologies based upon HTML5 and JavaScript toolkits "Let Matthew Russell serve as your guide to working with social data sets old (email, blogs) and new (Twitter, LinkedIn, Facebook). Mining the Social Web is a natural successor to Programming Collective Intelligence: a practical, hands-on approach to hacking on data from the social Web with Python." --Jeff Hammerbacher, Chief Scientist, Cloudera "A rich, compact, useful, practical introduction to a galaxy of tools, techniques, and theories for exploring structured and unstructured data." --Alex Martelli, Senior Staff Engineer, Google




Learning the Vi and Vim Editors


Book Description

There's nothing that hard-core Unix and Linux users are more fanatical about than their text editor. Editors are the subject of adoration and worship, or of scorn and ridicule, depending upon whether the topic of discussion is your editor or someone else's. vi has been the standard editor for close to 30 years. Popular on Unix and Linux, it has a growing following on Windows systems, too. Most experienced system administrators cite vi as their tool of choice. And since 1986, this book has been the guide for vi. However, Unix systems are not what they were 30 years ago, and neither is this book. While retaining all the valuable features of previous editions, the 7th edition of Learning the vi and vim Editors has been expanded to include detailed information on vim, the leading vi clone. vim is the default version of vi on most Linux systems and on Mac OS X, and is available for many other operating systems too. With this guide, you learn text editing basics and advanced tools for both editors, such as multi-window editing, how to write both interactive macros and scripts to extend the editor, and power tools for programmers -- all in the easy-to-follow style that has made this book a classic. Learning the vi and vim Editors includes: A complete introduction to text editing with vi: How to move around vi in a hurry Beyond the basics, such as using buffers vi's global search and replacement Advanced editing, including customizing vi and executing Unix commands How to make full use of vim: Extended text objects and more powerful regular expressions Multi-window editing and powerful vim scripts How to make full use of the GUI version of vim, called gvim vim's enhancements for programmers, such as syntax highlighting, folding and extended tags Coverage of three other popular vi clones -- nvi, elvis, and vile -- is also included. You'll find several valuable appendixes, including an alphabetical quick reference to both vi and ex mode commands for regular vi and for vim, plus an updated appendix on vi and the Internet. Learning either vi or vim is required knowledge if you use Linux or Unix, and in either case, reading this book is essential. After reading this book, the choice of editor will be obvious for you too.




Pro Vim


Book Description

Pro Vim teaches you the real-world workflows, tips, and tricks of this powerful, terminal-based text editor. This book covers all the essentials, as well as lesser-known but equally powerful features that will ensure you become a top-level performant and professional user, able to jump between multiple sessions while manipulating and controlling with ease many different documents and programming files. With easy-to-digest chapters on all the areas you need to learn, this book is a key addition to your library that will enable you to become a fast, efficient user of Vim. Using this book, you will learn how to properly configure your terminal environment and work without even touching the mouse. You will become an expert in how Vim actually works: how buffers and sessions work, automation through Macros and shell scripting, real-world workflows, and how to work efficiently and fast with plugins and different themes. You will also learn practical, real-world tips on how to best utilize Vim alongside the terminal multiplexer tmux; helping you to manage files across multiple servers and terminal sessions. Avoid common pitfalls and work with best practice ways to efficiently edit and control your files and sessions from the terminal interface. Vim is an advanced power tool that is commonly recognized as being difficult to learn, even for experienced developers. This book shows you how to become an expert by focusing on not only the fundamentals of how Vim works, but also by distilling the author's own experiences learning Vim into an easy-to-understand and follow guide. It's time to bring your programming, editing, and workflow skills up to the professional level - use Pro Vim today.




Practical Vim


Book Description

Vim is a fast and efficient text editor that will make you a faster and more efficient developer. It's available on almost every OS, and if you master the techniques in this book, you'll never need another text editor. In more than 120 Vim tips, you'll quickly learn the editor's core functionality and tackle your trickiest editing and writing tasks. This beloved bestseller has been revised and updated to Vim 7.4 and includes three brand-new tips and five fully revised tips. A highly configurable, cross-platform text editor, Vim is a serious tool for programmers, web developers, and sysadmins who want to raise their game. No other text editor comes close to Vim for speed and efficiency; it runs on almost every system imaginable and supports most coding and markup languages. Learn how to edit text the "Vim way": complete a series of repetitive changes with The Dot Formula using one keystroke to strike the target, followed by one keystroke to execute the change. Automate complex tasks by recording your keystrokes as a macro. Discover the "very magic" switch that makes Vim's regular expression syntax more like Perl's. Build complex patterns by iterating on your search history. Search inside multiple files, then run Vim's substitute command on the result set for a project-wide search and replace. All without installing a single plugin! Three new tips explain how to run multiple ex commands as a batch, autocomplete sequences of words, and operate on a complete search match. Practical Vim, Second Edition will show you new ways to work with Vim 7.4 more efficiently, whether you're a beginner or an intermediate Vim user. All this, without having to touch the mouse. What You Need: Vim version 7.4




Practices of the Python Pro


Book Description

Summary Professional developers know the many benefits of writing application code that’s clean, well-organized, and easy to maintain. By learning and following established patterns and best practices, you can take your code and your career to a new level. With Practices of the Python Pro, you’ll learn to design professional-level, clean, easily maintainable software at scale using the incredibly popular programming language, Python. You’ll find easy-to-grok examples that use pseudocode and Python to introduce software development best practices, along with dozens of instantly useful techniques that will help you code like a pro. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Professional-quality code does more than just run without bugs. It’s clean, readable, and easy to maintain. To step up from a capable Python coder to a professional developer, you need to learn industry standards for coding style, application design, and development process. That’s where this book is indispensable. About the book Practices of the Python Pro teaches you to design and write professional-quality software that’s understandable, maintainable, and extensible. Dane Hillard is a Python pro who has helped many dozens of developers make this step, and he knows what it takes. With helpful examples and exercises, he teaches you when, why, and how to modularize your code, how to improve quality by reducing complexity, and much more. Embrace these core principles, and your code will become easier for you and others to read, maintain, and reuse. What's inside Organizing large Python projects Achieving the right levels of abstraction Writing clean, reusable code Inheritance and composition Considerations for testing and performance About the reader For readers familiar with the basics of Python, or another OO language. About the author Dane Hillard has spent the majority of his development career using Python to build web applications. Table of Contents: PART 1 WHY IT ALL MATTERS 1 ¦ The bigger picture PART 2 FOUNDATIONS OF DESIGN 2 ¦ Separation of concerns 3 ¦ Abstraction and encapsulation 4 ¦ Designing for high performance 5 ¦ Testing your software PART 3 NAILING DOWN LARGE SYSTEMS 6 ¦ Separation of concerns in practice 7 ¦ Extensibility and flexibility 8 ¦ The rules (and exceptions) of inheritance 9 ¦ Keeping things lightweight 10 ¦ Achieving loose coupling PART 4 WHAT’S NEXT? 11 ¦ Onward and upward




The AWK Programming Language


Book Description

Awk was developed in 1977 at Bell Labs, and it's still a remarkably useful tool for solving a wide variety of problems quickly and efficiently. In this update of the classic Awk book, the creators of the language show you what Awk can do and teach you how to use it effectively. Here's what programmers today are saying: "I love Awk." "Awk is amazing." "It is just so damn good." "Awk is just right." "Awk is awesome." "Awk has always been a language that I loved." It's easy: "Simple, fast and lightweight." "Absolutely efficient to learn because there isn't much to learn." "3-4 hours to learn the language from start to finish." "I can teach it to new engineers in less than 2 hours." It's productive: "Whenever I need to do a complex analysis of a semi-structured text file in less than a minute, Awk is my tool." "Learning Awk was the best bang for buck investment of time in my entire career." "Designed to chew through lines of text files with ease, with great defaults that minimize the amount of code you actually have to write to do anything." It's always available: "AWK runs everywhere." "A reliable Swiss Army knife that is always there when you need it." "Many systems lack Perl or Python, but include Awk." Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.