5 tools to improve Linux development efficiency _linux

Source: Internet
Author: User
Tags git commands dotfiles

We often need to sit in front of the computer for a long time to do a specific job just to be able to optimize the workflow. This includes selecting and configuring the tools that allow you to work most efficiently. In the long run, simple and easy to learn tools are not always good, and those who can fully personalize and seamlessly integrate into the unique workflow are the real good tools.

In this article, I would like to introduce 5 free and open source tools, and they have played an important role in my software development career.

1.Zsh and Oh-my-zsh

Zsh is a shell designed primarily for interactivity and customization. I often work with oh-my-zsh, Oh-my-zsh is a community-supported framework that provides countless plug-ins and themes.

Some great features:

    • It's better than the implementation in bash, because it's an interactive list that repeats itself, rather than a static text that is printed every time you press the TAB key.
    • You can extend a partially matched path. For example, work/tom<tab> can become my_work/apache-tomcat-8.0.23.
    • Powerful git support: the implementation of a visual indicator that provides GIT commands and hints at the state of the Git warehouse in the working directory.
    • Customizable themes that support left and right hints.


It can be used as a substitute for bash, and it's easy to use, and it's recommended that you try it.

2.Less

When I first started using Linux, I used the built-in features of midnight Commander to view files in terminals and various GUI-based applications.

Midnight Commander View mode, Mcview, not only easy to use but also easy to learn, but less more advantages than it (as well as many other text browsers), so I chose less for general text viewing:

    • By default, there is no mouse support when booting, so it does not overwhelm mouse events, so you can easily select and copy text at the terminal. (Although the MC plus-D option can also be completed.) )
    • can easily handle large files. The main reason I chose to switch to less is if I want to check for large log files, and when I navigate around, for example, checking the end of a file, Mcview won't cut it completely. Less quickly, just press "G" on the line, and then press "G" can return to the starting point.
    • The default is installed.
    • Use VIM for navigation so that it fits well into the conventions of other tools. Easy to search, using the "/", "?", "N" and "n" Keys to have a highlight effect, using "J" and "K" navigation. Of course, it also supports arrow keys and Pgdn/pgup keys.
    • It is used by many tools. For example, both the Man and Git diff tools use less to render information, so you should already be familiar with it.


Less is easy to get started because you know it and it's already on your system.

3. Vim

I've written some posts about vim, so I'm going to make it short. This is a very great general-purpose text editor with many plug-ins and a lot of customization that can help us complete various tasks from working simple text editing to programming.

It also has a number of very good alternatives, such as kate,gedit, or even a fully fledged IDE (when it comes to programming), but VIM provides a unique way of interacting with it, making it a very interesting editor.

In addition, I think you also need to pay attention to:

    • There are many plug-ins.
    • Most repetitive tasks can be automated or easily resolved.
    • You can operate from a terminal. Use CTRL + Z in normal mode to send to the background, which is very convenient.
    • It takes a small number of keystrokes to perform various operations and further combinations of navigation, which makes it both efficient and work together, even in high latency connections to remote servers.


It takes time to learn vim, but if you do it right, you can definitely do it with less effort.

4. Xmonad

Xmonad is a tiled window manager written in Haskell. Xmonad offers a variety of automatic layouts and easy to learn shortcuts that make it very natural to operate the desktop from the keyboard. And there are most activity-based terminals and keyboard-oriented tools that are really good.

Some of its important features:

    • Minimalist and highly configurable. There are few window decorations and toolbars in the default configuration and can be customized on a large scale.
    • The keyboard-oriented, user-friendly user experience.
    • Tile. You do not have to manually arrange windows.
    • If you use the mouse, the window where the cursor is located automatically receives the focus.


Xmonad is easy to install and get started with, but it requires some tweaking to make customizations, because many of the features you wont use in other environments are not the default. It's so simple, so it's recommended that you look at the default shortcut here before you use it, because by default it only gives the user a blank screen and nothing else.

Since it's just a window manager, I'll use it with KDE software.

5.Konsole

A great terminal application is the necessity of using a command-line application. Because I prefer KDE in my desktop environment, I mostly use konsole, and I'm really happy with its functionality:

    • Search/Highlight feature. The highlight match is refreshed in real time, which is really handy for trailing log files.
    • Easy to select and copy blocks of text.
    • Simply select the screen scrolling and use CTRL + SHIFT + K to clean the buffer.
    • Can be customized to hide most of the unnecessary details (tab bar, menu), default to provide many color themes.


It also provides tab, but I don't have to, I have a more convenient way to open a new instance. The only place I don't like is when I don't need a scroll bar, I can't hide it automatically.

I believe there are a lot of good alternatives to konsole, and my idea is to just make sure that the terminal simulator you're using has the functionality you need, so you can use everything OK. No matter black cat, White cat, can catch a mouse is a good cat.

Using Dotfiles repository Management

Each workflow is unique to some extent, so we can use personalized configuration to strengthen the tools used. However, this leads to a new problem: you either manage the configuration in some way or repeat it manually each time.

If you choose to automate, then dotfiles git repository is a handy way to save your configuration. The basic idea is that the configuration file resides in a git repository and the symbol links to its correct location. Even a smart foot would have done the job automatically. I'm using the dotfiles repo of Zach Holman, and there's a lot of that in GitHub.

These are all common tools, but if you spend a lot of time on Linux machines, these tools are really worth it. By the way, which is your true love, let's talk about it.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.