Expanding on @BeloumiX's answer:
GNU Nano (named after the non-free editor it imitated, pico) is a simple curses-based text editor. Working with it is based on various (not so many) keyboard shortcuts, like Ctrl+O for writing the file, Ctrl+W for searching and Ctrl+X for quitting. It takes up the whole terminal, and has a small "menu" at the bottom presenting some shortcuts relevant for the current editing state.
It has very modest dependencies, except perhaps for one: the GNU ncurses library, version 5.x (not 6.x!). The development files for ncurses are typically not installed, so you will likely need to download some ncurses-5.x version from here.
Both the ncurses library and nano build using autotools. Also, you want to build and install to a user-specific path; and you have the dependency. Plus, the ncurses build is finicky when it comes to C++ (which you might not even have a compiler for).
So, let's suppose you want to install nano with $HOME/opt/nano
serving instead of /usr
. Here's what you do (with the current versions at the time of writing):
NANO_ROOT=$HOME/opt/nano
cd $HOME
wget ftp://ftp.invisible-island.net/ncurses/ncurses-5.9.tar.gz
tar xvf ncurses-5.9.tar.gz
rm ncurses-5.9.tar.gz
cd ncurses-5.9
./configure --prefix=${NANO_ROOT} --without-cxx
make
make install
cd ..
rm -r ncurses-5.9
wget https://www.nano-editor.org/dist/v4/nano-4.7.tar.gz
tar xvf nano-4.7.tar.gz
rm nano-4.7.tar.gz
cd nano-4.7
bash
export LDFLAGS="${NANO_ROOT}/lib:${LDFLAGS}"
export CFLAGS="-I${NANO_ROOT}/include ${CFLAGS}"
./configure --prefix=${NANO_ROOT}
make
make install
exit
cd ..
rm -r nano-4.7
Of course you could choose a different prefix (e.g. $HOME or $HOME/.local), or set different directories for different installed file (executable binaries, libraries, header files etc.)