Change default Linux / UNIX text editor from VI to Pico

Q. I find vi hard to use. How do I change my default text editor from vim / vi to Pico under Debian Linux?

A. To use and change an editor to edit your text message, set the variable EDITOR to the pathname of the vi / vim binary file. You need to use export or set command for the same purpose.

Many Linux / UNIX command read shell EDITOR environment variable to determine which editor to use for editing a text file.

Set default text editor to pico

Type the command as follows:
$ which pico


Now setup a new text editor:
export EDITOR=/usr/bin/pico
export EDITOR=pico

Add above line to ~/.bashrc file:
$ vi ~/.bashrc
Append text as follows:
export EDITOR=pico
Close and save the file. There is no no need to reboot system.

Also you can add alias if you want:
alias vi=/usr/bin/pico

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 16 comments so far... add one

CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
16 comments… add one
  • soraver May 6, 2008 @ 12:38

    just a small suggestion:
    alias pico=’nano -w’

    thats because not every distro has pico symlinked to nano (nano is the open source pico) and because nano by default wraps long lines (-w).

    also someone might be interested in seting TERM to linux
    export TERM=linux
    so he can use home/end/delete and numpad correctly in nano and also in shell

    hope im not too much offtopic (a)

    • Ray Mar 3, 2013 @ 17:23

      Nice tips :)

  • Dan Jul 6, 2008 @ 18:58

    Thanks for the handy reference!

  • John Aug 6, 2008 @ 8:48

    Thanks for the help. Very useful and concise explanation.

  • Stan Jul 8, 2011 @ 19:52

    “alias vi=/usr/bin/pico”


    But thanks… I needed the editor variable info :).

  • Slobo Jan 26, 2012 @ 20:57

    Thanks a hundred thousand times! I hate vim !!!

  • FOppe Feb 29, 2012 @ 23:18

    export EDITOR=$(which nano)
    in /home/$USER/.profile
    .profile is the last of the shell initialisation files to be loaded. The $(which nano) – or whatever editor of your taste- is a bash trick. everything in $(…) will be evaluated, so `which nano` will be evaluated to /usr/bin/nano or herever it’s located.

  • Jose Jun 17, 2012 @ 22:32

    Thanks a thousand times!

    I hate vim too !!!

  • test Jun 26, 2012 @ 16:19

    Need to change the default editor (that opens files) from EMACS to VIM.

    The $EDITOR env variable doesn’t help (this is already vi). If anyone knows, can they help?


  • test Jun 26, 2012 @ 16:21

    Need to change the default editor (that opens files) from EMACS to VIM.

    The $EDITOR env variable doesn’t help (this is already vi). If anyone knows, can they help?


    Update: Solved. No need for follow-up

  • adeel Sep 26, 2012 @ 7:15

    I used same procedure to set default editor = kate but its not working. can anybody tell?

  • al1reza Feb 27, 2013 @ 19:54

    just vim I love vim

  • Jarod Chiang Apr 8, 2013 @ 8:21

    for Ubuntu user:
    sudo update-alternatives –config editor
    # Type the number which corresponds to Vim here (after installing it) then press Enter.

  • Whyvi Jul 2, 2013 @ 17:53

    Why set an alias of vi as pico.

    That is pure evil.

  • Anonymouse Sep 4, 2013 @ 16:19

    Because VI is not an editor as people commonly refer to, it’s a manipulator. Nano is a powerful yet simple editor.

  • Tanker Mar 1, 2015 @ 22:00

    Thanks guys! :D
    Keep on linuxin in the free world – Neil Young.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Problem posting comment? Email me @