Edit text files in linux

How to edit text files from the command line

Although you can edit text files in cPanel (if your account includes cPanel), it is often quicker and easier to do so from the command line. This article describes how to use the Nano and Vim editors to edit text files from the command line.

The Nano editor is probably easier for beginners to use initially. On the other hand, the Vim editor is in more widespread use, and has a long list of features. Try both editors, and use whichever one you feel more comfortable with.

Using the Nano editor

Editing files with the Nano text editor is easy. To open a file in Nano, type the following command at the command line:

Replace filename with the name of the file that you want to edit.

To edit the file, just start typing your changes. To navigate around the file, you can use the arrow keys on your keyboard. If the file’s contents are too long to fit on the screen, you can press Ctrl+V to move forward a page, and Ctrl+Y to move back a page.

When you are ready to save your changes, press Ctrl+O, verify the filename, and then press ENTER. To exit Nano, press Ctrl+X.

You can access Nano’s online help at any time by pressing Ctrl-G.

Using the Vim editor

To open a file for editing in Vim, type the following command at the command line:

Editing files with Vim is not as intuitive as with Nano. You can’t just start typing your changes, because Vim starts in normal mode. In normal mode, anything you type on the keyboard is interpreted as a potential command, not changes to the text.

To make changes to the text, you must enter insert mode. To do this, type i . Note that the status line at the bottom of the screen changes to —INSERT— . You can now make changes to the file. To navigate around the file while you are in insert mode, use the arrow keys and Page Up/Page Down keys.

To return to normal mode, press ESC. Note that the —INSERT— status line at the bottom of the screen goes blank. Now you can type commands to save your changes, search for text, and so on.

To write your changes without exiting Vim, type :w and then press ENTER. To exit Vim, type :q and then press ENTER. To write your changes and exit Vim at the same time, type :wq and then press ENTER.

More Information

This article is a very basic introduction to using the Nano and Vim text editors. Both of these editors, and Vim in particular, have many more features and customizations available:


How to Open, Edit, Move, and Copy a File in Linux

In this tutorial we’ll cover how to open, edit, move, and copy a file within Linux using the terminal window and a few basic commands.

Use the the table of contents below to jump to a specific section or read on to learn more!

How to Open a File in Linux

To learn how to open a file in Linux using the terminal, just follow these simple steps:

    While there are multiple ways to open a file in Linux, the easiest way to display the contents of a file is using the cat command. For example, lets say you have a text file named SampleText.txt, which contains a single string of text saying “This is a test file.” Use the cat command followed by the name of the file you want to open, like this:

You should receive an output to the terminal containing the text, “This is a test file.” If the file had contained more text than this, all of it would have been displayed.

While the example used above contains only one line of text, for large or multipage documents, it may be cumbersome to attempt to open their entire contents in the terminal at once. This is where the less command comes in handy. By using the less command, you can have Linux display the contents of your file one page at a time. Use it the same way you would use the cat command:

This command would then output the contents of the SampleLongText.txt file, one page at a time, allowing you to scroll to view more.

How to Edit a File in Linux

To learn how to edit a file in Linux using the terminal, just follow these steps:

  1. There are several different tools within Linux that can be used to edit files. The two most popular are Vi (or Vim) and Nano. While each has its advantages, the biggest differences between the two are ease-of-use and functionality. Vi is a more powerful and complicated tool, and Nano is simpler but can do less. We’ll start with Nano.
  2. To open a file in Nano, you must enter the nano command followed by the path of the file you are attempting to open. You may also first navigate to the proper directory using the cd command, then open the file for editing just using nano followed by the filename. For example:

If the file specified already exists, it will be opened for editing. If no file exists with this name at this location, a new file will be created.

  1. One of the advantages of Nano is, it features a list of shortcuts at the bottom of its interface. This allows users to use the tool without having to memorize every command, making it ideal for those who are newer to Linux. Arrow keys can be used for navigation, and the backspace key is used to delete. All-in-all, Nano works like a simplified but familiar text editor.
  • The other popular option for editing a file in Linux is to use the vi command. Like nano, vi must be followed either by a specific file path, or if you’re already within the desired directory, just the file name can be used. For example:

    The primary difference between Vi and Nano is that Vi features different modes, allowing users to interact with the document in different ways. While this gives a greater degree of control over the document, it can also be very confusing and somewhat counter-intuitive for those new to the tool.

    1. The default mode that you enter Vi in is the Command mode, used for navigation and entering commands. Like Nano, Vi uses the arrow keys for navigation. However unlike Nano, any text entered into Vi won’t be treated as a string of text being added to the document, but rather a command being relayed directly to Vi. We’ll cover some of these commands below.
    2. To add text to the document, you must first enter Insert mode. To enter Insert mode, move your cursor to the location where you’d like to enter new text, then press the i key. You’ll see the phrase “INSERT” appear in the bottom left corner of your screen. Now, any text you enter will be treated as a string of text being added to the document. To return to Command mode, hit the Esc key a few times. You’ll know you’ve exited Insert mode when the “INSERT” phrase disappears from the bottom corner.
    3. Unlike Nano, to delete a character in Vi, you must use the x key while in Command mode. This will delete whichever character is currently highlighted by the cursor.
    4. To enter a command in Vi, you must first start with a colon “:”. For example, to save (or write to) a file that you’ve made edits to, use the :w command. To quit Vi, use the :q command. To save and quit all at once, combine both commands into :wq. You can add an exclamation point “!” to any command to force it. For example, :q! would force Vi to quit, overriding any confirmation screens that may otherwise be triggered.
    5. For a list of available navigation shortcuts, check out this post on Editing Files with Vi . Scroll to the bottom for a full list of additional movement and editing options.
  • Читайте также:  Барьер эксперт картриджи описание

    How to Move a File in Linux

    To learn how to move a file in Linux using the terminal, just follow these easy steps:

    1. First, it is important to understand that moving a file in Linux and renaming it are the same action. This is because when you are moving a file to a new location within Linux, you are really renaming its filepath to include new information.
    2. To move a file in Linux, use the mv command followed by the source location and then the intended destination. For example, if you wanted to move the file SampleText.txt from it’s current location in the home directory to a new location in the /tmp directory, you would do so with the following command:

    mv SampleText.txt /var/tmp

    You can even rename the file as it’s being moved. Doing so would look similar to this:

    mv SampleText.txt /var/tmp/NewSampleText.txt

    Or, if you wanted to rename the file without moving it to a new location, you could simply repeat the above command while omitting the “/var/tmp/”.

    How to Copy a File in Linux

    To learn how to copy a file in Linux using the terminal, just follow these steps:

      To copy a file in Linux, just use the cp command followed by the name of the source file and then the new file. For example:

    cp SampleText.txt SampleText_2.txt

    The above command would generate a new file, named SampleText_2.txt, which contains all the contents of the previous file. By default, this new file will be created in the same directory as your current file, unless otherwise specified. If you’d like to copy the file to a new directory, you can use the desired filepath instead of the second file name, or include both to copy the file to a new location under a new name. For an idea of what this would look like, see the section above covering the mv command, but use the cp command instead.

    Looking for more information on Linux ? Search our Knowledge Base !

    Interested in more articles about Operating Systems ? Navigate to our Categories page using the bar on the left or check out these popular articles:

    Popular tags within this category include: Linux , Windows , Apache , CentOS , Debian , Fedora , RedHat , and more.

    Don’t see what you’re looking for? Use the search bar at the top to search our entire Knowledge Base.

    The Hivelocity Difference

    Seeking a better Dedicated Server solution? In the market for Private Cloud or Colocation services? Check out Hivelocity’s extensive list of products for great deals and offers.

    With best-in-class customer service, affordable pricing, a wide-range of fully-customizable options, and a network like no other, Hivelocity is the hosting solution you’ve been waiting for.

    Unsure which of our services is best for your particular needs? Call or live chat with one of our sales agents today and see the difference Hivelocity can make for you.


    22 Best Linux Text Editors for Programming & Coding

    Home » SysAdmin » 22 Best Linux Text Editors for Programming & Coding

    The number of Linux text editors has been steadily rising over the past two decades. All Linux distributions come with a built-in text editor. But some editors add extra features or an easy-to-use interface.

    The question remains: Which is the best text editor for Linux?

    This article provides a review of the most popular, feature-rich, and useful source-code Linux text editors. The list is ranked by how widely editors are used, and how many applications they can be used for.

    What is a Text Editor in Linux?

    A text editor, also known as a code editor, is an application designed for coding and editing in HTML, CSS, JavaScript, PHP and many other programming languages. Most editors come with features such as syntax highlighting, easy navigation, customizable interfaces, search and replace options, and so on.

    In Linux, there are two types of text editors:

    • Command-line text editors. A good example is Vim, which gives you the option of jumping into the editor from the command line. System admins will find this very useful when editing configuration files.
    • Graphical user interface (GUI) text editors. This type of text editor features a GUI but cannot be used from the command line.

    Best Text Editor Options for Programmers

    Sublime Text

    What makes Sublime Text stand out is its ability to make use of each OS’ native functionalities. That makes Sublime Text one of the more resource-efficient options.

    Pros: Sublime Text is highly customizable, both in appearance and in functionality (using plugins). In addition to having many of the basic editor features (like colored syntax and searchability), Sublime adds a Goto Anything feature. You can search inside or outside the application or open and manipulate files with a quick keystroke. It also allows multiple selections, so you can highlight multiple lines and edit them all at once.

    Cons: Sublime Text has a steep learning curve even though it’s designed to simplify workflows. You can use it free of charge, but it has a very intrusive popup system asking users to buy a license.

    How to Install

    Sublime Text is not a default application on most Linux installations. Install it with the following command:

    Almost all Linux distributions, even older versions, come with the Vim editor installed. Vim stands for Vi Improved, meaning that Vim is a modified and improved version of the old Vi text editor.

    Pros: Vim supports automatic commands, digraph inputs (useful in programming), split and session screens, tabs, colored schemes (color-coded by function), and tagging. It can be configured with plugins and comes with a tutorial (invoked with the vimtutor command). When you master the commands, Vim is very efficient.

    Cons: It does not have a GUI. The only way you can initiate Vim is from the command line. The interface is user-unfriendly, while some commands are not intuitive. Coding a file from scratch would be too complicated. The learning curve can be steep, but Vim is very popular in the Linux community.

    Note: Learn how to edit lines in a text file without a text editor using the Linux sed command.

    Nano Editor

    Nano is a revision of an older editor called Pico and comes pre-loaded on most Linux installations. Nano is an ideal lightweight editor for beginners. It’s a lot easier to use than Vim, so it’s worth learning Nano for quick configuration edits.

    Pros: It supports GNU Autoconf, interactive search-and-replace, auto-indent, and spellcheck. Nano is intuitive and easy to use. It lists the keystroke commands at the bottom of the editor, so you don’t have to memorize or look them up.

    Cons: The list of commands is short and some may be unintuitive.

    Atom is a popular open-source code/text editor that works across several platforms such as Windows, Mac, or Linux. Atom is also considered to be one of the best Python code editors.

    Pros: Atom has color-coded syntax, a smart autocomplete feature, multiple panes, and a search-and-replace feature. It also has its own package manager for plugins, so you can easily expand its functionality. You can also customize the appearance manually by using themes. A new plugin – called teletype – allows you to share workspaces with other Atom users.

    Cons: Most users will have to tweak the default configuration. Low-spec computers will struggle to run Atom, especially if you load multiple projects.

    How to Install

    Atom is not typically included in a default Linux installation. Install it with the following commands:

    For RedHat or CentOS systems, use the yum install command instead of apt-get install.


    Gedit is a text editor that comes with the GNOME desktop environment. The design emphasizes simplicity so gedit is a great editor for beginners. Even though simple in design, gedit is a powerful tool.

    Pros: The uncomplicated interface includes clipboard support, multilanguage spellchecking, undo/redo, syntax highlighting for various languages (C, C++, Java, Python, etc,), color-coded syntax, and has a flexible plugin system.

    Cons: This editor works well if you do not need too many features, or if you simply prefer a clean interface. Gedit works great with GNOME, but there are better options for other desktop environments.

    How to Install

    On older versions of Linux, or versions without GNOME, it may not come pre-installed. Install gedit with the following command:

    Note: Can’t decide between CentOS and Ubuntu? Read our CentOS vs Ubuntu comparison article.

    Visual Studio Code

    If you’ve installed Anaconda on Linux, you may be familiar with the option to install Microsoft Visual Studio Code. Even though it’s from Microsoft, VSCode is cross-platform, meaning it works on Windows, Linux, and Mac.

    Pros: Visual Studio Code is lightweight but powerful, and it offers an extensive library of add-ons. These include additional programming language support, debuggers, and commands. This text editor is an excellent choice for developing JavaScript applications and working in cross-platform environments.

    Cons: Compared to other text editors on this list, VSCode might not always run properly on Linux, especially Ubuntu. It is also known to use a lot of memory and CPU resources. Furthermore, it may run slower compared to other text editors.

    How to Install

    Install VSCode with the following command:

    GNU Emacs

    GNU Emacs is a text/code editor for Linux professionals created by Richard Stallman, the founder of the GNU project. Emacs allows you to write code, display a manual, or draft an email from the same interface.

    Pros: It has content-aware editing modes, extensive documentation and a tutorial, incredible language support, and a package manager for extensions. It also offers cross-compatibility with other GNU apps, including an organizer, mail app, calendar, and debugger.

    Cons: It’s not for everyone. You might choose Emacs if you have multiple different tasks and want a standard interface. It’s designed for the Linux power user, so if that’s you, it’s worth a try.

    How to Install

    Install GNU Emacs with the following command:


    Notepadqq is a Linux editor inspired by the Notepad++ application for Windows. Even though different developers manage the projects, Notepadqq is a fair replica of Notepad++.

    Pros: Notepadqq supports tabbed projects, color-coded syntax, syntax highlighting, auto-tabbing, and a good search-and-replace feature. It has a smart-indent feature that remembers the indentation settings of the last line typed. Another strong point is how efficiently it converts files between various types of character encoding.

    Cons: Notepadqq supports over 100 languages but if you compare it to other text editors, Notepadqq’s set of features might seems lacking. It opens any text file though it doesn’t do tag matching or auto-completion.

    How to Install

    Install Notepadqq with the following command:

    Note: Most modern Linux distributions support Snap. If you’re running CentOS (or another Linux distribution without Snap), you’ll need to install the Snap app first.


    Brackets is a Linux editor designed around HTML and web design. It’s a cross-platform editor so that you can run it on Windows, Mac, or Linux for a seamless editing experience.

    Pros: Brackets is a great choice for web developers. It includes live-preview for testing the appearance of your HTML code, plus inline editors. Like many other editors, it supports many extensions to add functionalities.

    Cons: Brackets may stutter on older computer systems. Natively, it only supports HTML, CSS, and JavaScript. You can add more with extensions, though.

    How to Install

    Install Brackets with the following command:

    Bluefish Text Editor

    The bluefish text editor is aimed at making coding more accessible. It works on most platforms so that you can use it on Linux, Mac, or Windows.

    Pros: Bluefish can be enhanced with plugins and supports standard features like color-coded syntax, auto-indent, and auto-complete for tags and classes. It also features an auto-recover option, in case of a power outage or system crash. It organizes data and code in a way that’s intuitive and easy to read.

    Cons: Bluefish is not updated regularly and is already getting a bit outdated. It is useful if you are new to writing code or editing configuration files. However, some advanced features are tough to find, and the UI is not optimized for advanced users.

    How to Install

    Install Bluefish by executing the following command:


    Geany works as a text editor, but its primary function is as an Integrated Desktop Environment (IDE). It is a lightweight GUI text editor with basic IDE features. Its primary purpose is to be tight and compact with short load times and limited dependencies on separate packages or external libraries on Linux.

    Pros: It is a compact cross-platform, flexible and powerful editor that supports most programming languages. It is customizable with plugins, and features a split window, colored syntax, line numbering, and autocomplete.

    Cons: Not everyone will need IDE features, meaning that Geany is focused on coding from scratch and debugging issues. Use Geany if you need full programming functionality, including the editor, build automation, and debugging all accessible from a single interface.

    How to Install

    Install Geany with the following command:

    The gVim text editor is an enhanced version of Vi and Vim.

    Pros: If you’re already familiar with Vi and Vim, you’ll appreciate the added functionality of gVim. The options include encryption, pop-out menus, and cross-platform compatibility. gVim handles huge files better than other text editors. Another handy feature is that gVim uses a different cursor for insert and command modes.

    Cons: The gVim editor requires a graphical interface, making it unavailable on systems that run without a GUI. Like Vi and Vim, gVim has a steep learning curve, so if you’re not familiar with the Vi/Vim editor, gVim might not be the best choice.


    As the name suggests, Neovim is another editor based on Vi/Vim. Neovim aims to update the Vim-style editor with modern features, such as compatibility with other applications.

    Pros: Like other Vi/Vim-based editors, Neovim uses the same basic commands. It adds robust support for plugins and integration with other applications. It was designed to be faster and use less memory, making it an excellent choice for resource-conscious users. Neovim also includes a terminal emulator, which allows you to run terminal commands from the interface.

    Cons: Some users report that, despite the improvements, switching between insert and command mode slows their input. It’s also not available on many older systems. Although Neovim is much more customizable, personalization can be time-consuming. Finally, like other Vi/Vim-based editors, there is a steep learning curve to use Neovim effectively.

    Pico stands for Pine Composer. It’s a text editor that comes with the Pine email application. Pico is the precursor to the Nano text editor.

    Pros: Pico displays commands on the screen, making it easier to use without memorizing key combinations. It includes most basic text-editor functions, including find/replace (in a single document). Users like Pico because it’s simple to use. Many plugins are available to add functionality and customization.

    Cons: There is no support for working with multiple files, copying/pasting between files, or searching/replacing them on multiple files.

    Lime Text

    The Lime text editor was a project designed as an alternative to the Sublime editor. Some prefer it because the Sublime text editor isn’t open-source.

    Pros: Lime aims to duplicate all the features of Sublime, in an open-source format.

    Cons: Support and development for the Lime Text project are spotty. You can install it with instructions from the Github page, but it appears to still be under development.

    Kate / Kwrite

    Kate stands for KDE Advanced Text Editor. KDE is a desktop environment (graphical interface) for Linux. The KDE desktop isn’t required to use Kate – you can install it on Windows, Linux, and Mac.

    Pros: Kate allows you to edit multiple documents at the same time. It supports color-coded syntax, customization, and plugins. Kwrite is a lighter utility, used to open and edit a single file quickly. If you use the KDE desktop environment, Kate / Kwrite is a solid editor to use.

    Cons: Not many users have complaints about the Kate editor.

    JED Editor

    JED is a command-line text editor that acts as a graphical interface. It is available on most platforms.

    Pros: JED uses drop-down menus, making it more intuitive for people familiar with word processors. It supports color-coded syntax for many different programming languages and has broad support for plugins. JED is also light on system resources, making it an excellent choice for older systems.

    Cons: Very few users have complaints about the JED editor.


    Leafpad is a Linux-based text editor designed to be simple and lightweight.

    Pros: Leafpad uses minimal system resources, making it a great choice for older systems. It provides a decent feature set sufficient for simple editing. Leafpad would make an excellent secondary editor for quick, simple jobs.

    Cons: Leafpad is not intended to be a full-featured text editor. It contains some of the more advanced features, such as multiple documents, for speed and efficiency.

    Light Table

    Light Table is an integrated desktop environment for evaluating software. It works as a text editor, but its main feature is live feedback on code. Light Table is available on most operating systems.

    Pros: Light Table’s features include in-line code evaluation, which lets you test code without compiling. It also runs the code as you’re entering it, allowing you to debug on the fly. Many plugins are available to expand Light Table’s functionality. It is also reasonably fast, even without a high-end system.

    Cons: Light Table is still in the early stages of development, meaning it doesn’t support all programming languages. It also has a moderate learning curve – the commands are not displayed on the screen. Also, Light Table is based on a web browser, which limits its usability on text-only systems.


    Medit is another open-source, cross-platform text editor designed for Windows and Linux systems.

    Pros: Medit includes common text-editor commands, such as find/replace, color-coded syntax, and plugin support. It also adds a split view for working on multiple files at once. It’s a good editor with plenty of features, but nothing unique that sets it apart.

    Cons: Medit is designed for graphical interfaces. It has a standard menu bar for commands, but it seems to lack robust documentation.

    Kakoune Code Editor

    Kakoune is a different kind of text editor for Linux. Instead of focusing on inserting/composing text, it doubles down on navigating around the existing text. In this way, it’s similar to the Vi/Vim editor, in that it uses different modes, like insertion mode and command mode.

    Pros: Kakoune includes most modern features, such as color-coding, autocomplete, and on-screen help. One key benefit is the ability to create multiple selections. Kakoune makes the workflow of creating and managing files more straightforward and intuitive.

    Cons: Kakoune is only available on Linux-based systems. Even with its enhancements, it’s still based on the Vi/Vim structure, which may be a turn off for users more accustomed to word processors.

    Micro Text Editor

    The Micro text editor is designed as an enhancement to the Nano text editor. It’s available for Windows, Linux, and Mac.

    Pros: Micro is a terminal-based text editor, which means it can run without a GUI. It also includes modern improvements, such as color-coded syntax, plugins, copy/paste, and undo/redo. When it runs in a graphical interface, it has a terminal emulator to execute commands directly.

    Cons: Micro still uses hotkeys to execute functions, which some users don’t find appealing. Also, Micro lacks some of the next-generation features that set graphical text editors apart.

    Note: You should also check out our comprehensive list of the Best Java IDEs.

    This guide should give you a good idea of which Linux editor is going to work best for your needs. Each code editor we reviewed has its strengths and weaknesses.


    Поделиться с друзьями