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.)