FreeBSD Install VIM Editor Without X11 GUI

Posted on in Categories , , , , last updated January 16, 2009

Q. I’m running FreBSD on an old PC and find that all the visual bells and whistles in FreeBSD X11 are really slowing things down. How do I install vim text editor under FreeBSD without using GUI (gvim) version? How do I build vim port without X11 GUI?

A. You can easily build VIM without X11 under FreeBSD. First, update your ports tree, using portsnap command, enter:
# portsnap fetch update
Install vim without X11, enter:
# cd /usr/ports/editors/vim
# make WITHOUT_X11=yes install clean

Optional: vim configuration

Copy /usr/local/share/vim/vimXY/vimrc_example.vim to /usr/local/share/vimrc, enter:
# cp /usr/local/share/vim/vim72/vimrc_example.vim /usr/local/share/vimrc
Create your ~/.vimrc file, enter:
$ vi ~/.vimrc
Add customization:

set nocompatible 
filetype on
filetype indent on
filetype plugin on
set laststatus=2
syntax on

Save and close the file. Set bash alias, enter:
$ echo "alias vi='vim'" >> ~/.bashrc
Setup INPUTRC for bash, enter:
# echo 'export INPUTRC=/usr/local/etc/inputrc' >> /etc/profile
Finally, create /usr/local/etc/inputrc, enter:
# cat >> /usr/local/etc/inputrc
Append config:

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

5 comment

  1. I was having troubles pasting text via PuTTY (by using the right mouse button), it turns it out it’s because the mouse is enabled. I commented out the following code in /usr/local/share/vim/vimrc:

    if has('mouse')
     set mouse=a
    endif
    

    Should be:

    " if has('mouse')
    "  set mouse=a
    " endif
    

Leave a Comment