Preface xiii About the Author xix Part I: Command Line 1 Chapter 1: Basics 3 1.1 Introduction 5 1.2 Running a Terminal 6 1.3 Our First Command 10 1.4 Man Pages 15 1.5 Editing the Line 20 1.6 Cleaning Up 23 1.7 Summary 24 Chapter 2: Manipulating Files 25 2.
1 Redirecting and Appending 26 2.2 Listing 30 2.3 Renaming, Copying, Deleting 35 2.4 Summary 40 Chapter 3: Inspecting Files 43 3.1 Downloading a File 43 3.2 Making Heads and Tails of It 46 3.3 Less Is More 49 3.4 Grepping 52 3.
5 Summary 58 Chapter 4: Directories 61 4.1 Directory Structure 61 4.2 Making Directories 64 4.3 Navigating Directories 66 4.4 Renaming, Copying, and Deleting Directories 70 4.5 Summary 74 4.6 Conclusion 75 Part II: Text Editor 77 Chapter 5: Introduction to Text Editors 79 5.1 Minimum Viable Vim 84 5.
2 Starting Vim 85 5.3 Editing Small Files 89 5.4 Saving and Quitting Files 91 5.5 Deleting Content 96 5.6 Editing Large Files 97 5.7 Summary 101 Chapter 6: Modern Text Editors 103 6.1 Choosing a Text Editor 104 6.2 Opening 106 6.
3 Moving 117 6.4 Selecting Text 119 6.5 Cut, Copy, Paste 127 6.6 Deleting and Undoing 132 6.7 Saving 135 6.8 Finding and Replacing 138 6.9 Summary 143 Chapter 7: Advanced Text Editing 145 7.1 Autocomplete and Tab Triggers 145 7.
2 Writing Source Code 152 7.3 Writing an Executable Script 166 7.4 Editing Projects 175 7.5 Customization 188 7.6 Summary 191 7.7 Conclusion 193 Part III: Git 195 Chapter 8: Getting Started with Git 197 8.1 Installation and Setup 200 8.2 Initializing the Repo 203 8.
3 Our First Commit 204 8.4 Viewing the Diff 208 8.5 Adding an HTML Tag 210 8.6 Adding HTML Structure 216 8.7 Summary 220 Chapter 9: Backing Up and Sharing 221 9.1 Signing Up for GitHub 221 9.2 Remote Repo 222 9.3 Adding a README 227 9.
4 Summary 234 Chapter 10: Intermediate Workflow 235 10.1 Commit, Push, Repeat 235 10.2 Ignoring Files 241 10.3 Branching and Merging 243 10.4 Recovering from Errors 252 10.5 Summary 258 Chapter 11: Collaborating 259 11.1 Clone, Push, Pull 260 11.2 Pulling and Merge Conflicts 269 11.
3 Pushing Branches 283 11.4 A Surprise Bonus 292 11.5 Summary 295 11.6 Advanced Setup 296 11.7 Conclusion 302 Appendix: Development Environment 305 A.1 Dev Environment Options 306 A.2 Cloud IDE 307 A.3 Native OS Setup 312 A.
4 Conclusion 322 Index 323.