35 books like Practical Vim

By Drew Neil,

Here are 35 books that Practical Vim fans have personally recommended if you like Practical Vim. Shepherd is a community of 11,000+ authors and super readers sharing their favorite books with the world.

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

Book cover of The Mythical Man-Month: Essays on Software Engineering

Paolo Perrotta Author Of Programming Machine Learning: From Coding to Deep Learning

From my list on classic software that are still worth reading.

Why am I passionate about this?

You know what ages like milk? Programming books. I always cringe when someone glances at my programming bookshelf. Some of those books are so dated, they make me appear out of touch by association. Sometimes, I feel compelled to justify myself. “Yes, that's the first edition of Thinking in Java I keep it for nostalgic reasons, you know!” Yesterday’s software book is today’s fish and chip wrapper. However, there are exceptions. A few classics stay relevant for years, or even decades. This is a shortlist of software books that might be older than you, but are still very much worth reading.

Paolo's book list on classic software that are still worth reading

Paolo Perrotta Why did Paolo love this book?

In my consulting gigs, I come across plenty of clueless remarks. Here's a classic one: “We're falling behind schedule, so let's hire more coders.” Or a more recent gem: “We'll be ten times more productive if we generate code with AI.”

When I encounter such nonsense, I don't facepalm or cringe. Instead, I put on my poker face and drop a quote from The Mythical Man-Month.

In an industry where last year’s book is already outdated, Fred Brooks' collection of essays has been a guiding light for nearly half a century. His aphorisms have become legendary. “The bearing of a child takes nine months, no matter how many women are assigned.” “Adding manpower to a late software project makes it later.” “There is no silver bullet.” The list goes on and on.

John Carmack, one of the greatest programmers of our times, used to revisit this book every year or…

By Frederick P. Brooks Jr,

Why should I read it?

5 authors picked The Mythical Man-Month as one of their favorite books, and they share why you should read it.

What is this book about?

Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.



The added chapters…


Book cover of Python Testing with Pytest: Simple, Rapid, Effective, and Scalable

Jaime Buelta Author Of Python Automation Cookbook

From my list on for Python and non-Python developers.

Why am I passionate about this?

Since I was a kid, I’ve been passionate about technology and had a clear vocation to work with computers. I’ve been a developer for more than 20 years now, spending half of them mainly in the Python environment, and I’ve always been interested in improving my skills. While it’s true that software development is a field that changes constantly and technology evolves at great speed, there are some elements that remain relatively unchanged and can be used to compound knowledge and ability. In particular, the elements that are closer to the human element, teamwork, coordination, etc. are quite stable over time.

Jaime's book list on for Python and non-Python developers

Jaime Buelta Why did Jaime love this book?

While this is a Python-specific book, it’s a fantastic description of all the possibilities for testing with a powerful module like Pytest offers. Testing is one of the basic experiences for a programmer, as it should be included as a core part of the development process. Understanding all the different options available like mark groups of tests, parametric tests, building your own extensions, or test coverage, to name only a few details, expands the understanding of how to design better tests and run them more efficiently.

By Brian Okken,

Why should I read it?

1 author picked Python Testing with Pytest as one of their favorite books, and they share why you should read it.

What is this book about?

Do less work when testing your Python code, but be just as expressive, just as elegant, and just as readable. The pytest testing framework helps you write tests quickly and keep them readable and maintainable - with no boilerplate code. Using a robust yet simple fixture model, it's just as easy to write small tests with pytest as it is to scale up to complex functional testing for applications, packages, and libraries. This book shows you how. For Python-based projects, pytest is the undeniable choice to test your code if you're looking for a full-featured, API-independent, flexible, and extensible testing…


Book cover of The Pragmatic Programmer: Your Journey to Mastery

Chris Zimmerman Author Of The Rules of Programming: How to Write Better Code

From my list on programming for people who want to be good at it.

Why am I passionate about this?

I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.

Chris' book list on programming for people who want to be good at it

Chris Zimmerman Why did Chris love this book?

This book’s title is absolutely perfect! There’s no agenda here other than identifying things that will make you a more effective and productive programmer.

That leads to a book packed with solid advice, whether it’s about how to write code or how to think about your career. The authors are consultants, so there are plenty of clear and interesting examples drawn from many different problem domains. That’s super fun for someone like me who’s hyper-focused on a single kind of programming.

By David Thomas, Andrew Hunt,

Why should I read it?

4 authors picked The Pragmatic Programmer as one of their favorite books, and they share why you should read it.

What is this book about?

"One of the most significant books in my life." -Obie Fernandez, Author, The Rails Way

"Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours." -Mike Cohn, Author of Succeeding with Agile , Agile Estimating and Planning , and User Stories Applied

". . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come." -Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks

". . . lightning does strike twice, and this book is proof." -VM…


Book cover of Managing Humans: Biting and Humorous Tales of a Software Engineering Manager

Jaime Buelta Author Of Python Automation Cookbook

From my list on for Python and non-Python developers.

Why am I passionate about this?

Since I was a kid, I’ve been passionate about technology and had a clear vocation to work with computers. I’ve been a developer for more than 20 years now, spending half of them mainly in the Python environment, and I’ve always been interested in improving my skills. While it’s true that software development is a field that changes constantly and technology evolves at great speed, there are some elements that remain relatively unchanged and can be used to compound knowledge and ability. In particular, the elements that are closer to the human element, teamwork, coordination, etc. are quite stable over time.

Jaime's book list on for Python and non-Python developers

Jaime Buelta Why did Jaime love this book?

Michael Lopp, or Rands, as he is commonly known online, has been sharing his knowledge as a software manager for years, mainly through his blog. He is one of the most insightful voices about the art of management in a software environment, and even if you are not a manager yourself (and don’t want to become one), will make you understand and better collaborate with your own manager, and be ready when you need to lead a team or understand how it is to work with other humans.

By Michael Lopp,

Why should I read it?

1 author picked Managing Humans as one of their favorite books, and they share why you should read it.

What is this book about?

Managing Humans is a selection of the best essays from Michael Lopp's popular website Rands in Repose(www.randsinrepose.com). Lopp is one of the most sought-after IT managers in Silicon Valley, and draws on his experiences at Apple, Netscape, Symantec, and Borland. This book reveals a variety of different approaches for creating innovative, happy development teams. It covers handling conflict, managing wildly differing personality types, infusing innovation into insane product schedules, and figuring out how to build lasting and useful engineering culture. The essays are biting, hilarious, and always informative.


Book cover of Practical Vim

Ian Miell Author Of Learn Bash the Hard Way: Master Bash Using The Only Method That Works

From my list on becoming a Linux command line ninja.

Why am I passionate about this?

Like most geeks, I've always loved efficiency and productivity. Coming from a Windows-dominated world, the command line I was faced with in my CompSci degree was Initially mystifying, but over time I have come to see it as the most powerful human-computer interface out there. After spending years wresting with the command line at work, I decided to write a book on bash, and have blogged extensively on this and related topics. I also run live courses on bash and the command line for O'Reilly. There's nothing I enjoy more than opening people's eyes to the power of the shell!   

Ian's book list on becoming a Linux command line ninja

Ian Miell Why did Ian love this book?

In 2001, when I was young and everything was possible I asked my CTO what Interactive Development Environment (IDE) I should use.

'vim' was the response, so I went away and learned it. To this day, I use vim by default for almost all my programming needs. The learning curve is very steep, but the rewards are great, not least because it's hard to find a platform that cannot run it.

This book reinforces the learning you can do elsewhere through walkthroughs and tips and lets you know what's possible, so that when you really need to do things like search and replace, or run a macro, you can look it up again and get it under your fingers.

By Drew Neil,

Why should I read it?

1 author picked Practical Vim as one of their favorite books, and they share why you should read it.

What is this book about?

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 two 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…


Book cover of Python for Everybody: Exploring Data in Python 3

Daniel Zingaro Author Of Learn to Code by Solving Problems: A Python Programming Primer

From my list on for a rock solid python programming foundation.

Why am I passionate about this?

Some programmers learn through online articles, videos, and blog posts. Not me. I need a throughline—a consistent, expert distillation of the material to take me from where I am to where I want to be. I am not good at patching together information from disparate sources. I need a great book. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.

Daniel's book list on for a rock solid python programming foundation

Daniel Zingaro Why did Daniel love this book?

Learning to program is hard. We need teachers who remember this, who are patient, who support the learning process, who not only know how to teach but also know how to learn from their teaching. Severance is all of these things. I like the breezy but precise writing, sections on debugging, glossaries and exercises in each chapter, and discussion of common learner errors. Bonus feature: regular expressions.

By Charles R. Severance,

Why should I read it?

1 author picked Python for Everybody as one of their favorite books, and they share why you should read it.

What is this book about?

Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet.

Python is an easy to use and easy to learn programming language that is freely available on Macintosh, Windows, or Linux computers. So once you learn Python you can use it for the rest of your career without needing to purchase any software.

This book uses the Python 3 language. The earlier Python 2 version of this book…


Book cover of Programming Perl: Unmatched Power for Text Processing and Scripting

Charlie Hodgman Author Of BIOS Instant Notes in Bioinformatics

From my list on the intersection of Bioinformatics and Systems Biology.

Why am I passionate about this?

Mathematics and chemistry were my strongest subjects at school, and I started programming computers when I was 16, but life seemed most important. Hence I studied biochemistry in university but moved into molecular biology with programming to assist the data analysis. My track record in successfully predicting new biology through computing led to a pharmaceutical company recruiting me to do bioinformatics for them. However, not content with studying genes and proteins, I pushed for bioinformatics to move up into metabolism, anatomy, and physiology. That’s when I discovered systems biology. My international reputation lies at this interface and includes discoveries in microbial physiology, botany, agriculture, animal biology, and antenatal diseases.

Charlie's book list on the intersection of Bioinformatics and Systems Biology

Charlie Hodgman Why did Charlie love this book?

This book has been a companion for almost three decades.

Any bona fide bioinformatician will write some program scripts if only to reformat data in new and useful ways. Perl is not the most efficient or widespread scripting language, but it has the advantage of being highly flexible. It offers many ways to write a program to carry out a given task, so even computationally naive programmers can generate effective code.

Even though I am no longer actively developing software, I still have occasions when it is quicker to script something in Perl than do battle with larger apps.

By Tom Christiansen, Larry Wall, Jon Orwant , Brian d Foy

Why should I read it?

1 author picked Programming Perl as one of their favorite books, and they share why you should read it.

What is this book about?

When it comes to learning Perl, programmers consider this book to be the undisputed bible. You not only learn every nuance of this language, you also get a unique perspective on the evolution of Perl and its future direction. The 4th edition has been thoroughly updated for version 5.14, with details on regular expressions, support for UNICODE, threads, and many other features. Many Perl books explain typeglobs, pseudohashes, and closures, but only this one shows the motivations behind these features and why they work the way they do. It's exactly what you'd expect from its prominent authors: Larry Wall is…


Book cover of Cleaning Data for Effective Data Science: Doing the other 80% of the work with Python, R, and command-line tools

Naomi R. Ceder Author Of The Quick Python Book

From my list on to level up your Python skills.

Why am I passionate about this?

I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together. 

Naomi's book list on to level up your Python skills

Naomi R. Ceder Why did Naomi love this book?

I like this book not just because it’s a complete guide to the many ins and outs of data cleaning with Python, but also because David lays out the types of problems and the issues behind them. There are always trade-offs in data cleaning and this book lays out those trade-offs better than any other I’ve seen. This is one of the few books that as I go through it, I struggle to think of anything that could have been said better. 

By David Mertz,

Why should I read it?

1 author picked Cleaning Data for Effective Data Science as one of their favorite books, and they share why you should read it.

What is this book about?

Think about your data intelligently and ask the right questions

Key Features Master data cleaning techniques necessary to perform real-world data science and machine learning tasks Spot common problems with dirty data and develop flexible solutions from first principles Test and refine your newly acquired skills through detailed exercises at the end of each chapterBook Description

Data cleaning is the all-important first step to successful data science, data analysis, and machine learning. If you work with any kind of data, this book is your go-to resource, arming you with the insights and heuristics experienced data scientists had to learn the…


Book cover of High Performance Django

Arun Ravindran Author Of Django Design Patterns and Modern Best Practices

From my list on Django for building solid web apps in Python.

Why am I passionate about this?

I’ve been dabbling in Python for the last 22 years. I am a regular speaker at Pycon India ever since its inception. Most of my talks are related to Django. I host arunrocks.com where I write tutorials, and articles and publish screencasts on several Django and Python topics. My initial screencast titled "Building a blog in 30 mins with Django" is one of the most popular screencasts for beginners in Django. I’m a developer member of the Django Software Foundation.

Arun's book list on Django for building solid web apps in Python

Arun Ravindran Why did Arun love this book?

Building scalable and performant web applications is both an art and a science. This book focused on such techniques and hence goes beyond what most books on Django try to cover. Anyone running a Django site under heavy load will definitely learn a few tips from this book. However, it is light on explanations and expects you to figure out many things from reading the examples.

By Peter Baumgartner, Yann Malet,

Why should I read it?

1 author picked High Performance Django as one of their favorite books, and they share why you should read it.


Book cover of Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code

Naomi R. Ceder Author Of The Quick Python Book

From my list on to level up your Python skills.

Why am I passionate about this?

I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together. 

Naomi's book list on to level up your Python skills

Naomi R. Ceder Why did Naomi love this book?

Al is one of the clearest writers on Python that I know. Here he distills his experience as both a working software engineer and a successful author to take coders from advanced beginner/intermediate level on to all of the “extra” knowledge one needs to write good code for practical use. When I read this book I find myself wishing I could write with such simplicity.

By Al Sweigart,

Why should I read it?

1 author picked Beyond the Basic Stuff with Python as one of their favorite books, and they share why you should read it.

What is this book about?

You're a student who wants to jumpstart their career with practical skills, or you're a self-taught beginner who has learned all you can from beginner programmer books and coding bootcamps. Now you're looking for the next step to becoming a real-world professional programmer so you can create your own apps and get started with your career. If that fits, then this book is for you! This book is perfect for self-taught programmers looking for the stuff intro books don't teach you and students wanting to get practical information before getting started with applying their new programming skills.


5 book lists we think you will like!

Interested in python, machine learning, and computer programming?

Python 30 books
Machine Learning 53 books