152 lines
5.2 KiB
Org Mode
152 lines
5.2 KiB
Org Mode
|
#+TITLE: Phundrak’s nano configuration
|
|||
|
#+INCLUDE: headers.org
|
|||
|
#+OPTIONS: auto-id:t
|
|||
|
#+HTML_HEAD_EXTRA: <meta name="description" content="Phundrak's nano configuration" />
|
|||
|
#+HTML_HEAD_EXTRA: <meta property="og:title" content="Phundrak's nano configuration" />
|
|||
|
#+HTML_HEAD_EXTRA: <meta property="og:description" content="Description of the nano configuration of Phundrak" />
|
|||
|
#+PROPERTY: header-args :tangle ~/.nanorc
|
|||
|
|
|||
|
* Table of Contents :TOC_4_gh:noexport:
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-fe544a28-d8d9-49d3-b5ea-0b828148dbb5
|
|||
|
:END:
|
|||
|
- [[#introduction][Introduction]]
|
|||
|
- [[#configuration][Configuration]]
|
|||
|
- [[#keys-behavior][Keys behavior]]
|
|||
|
- [[#search][Search]]
|
|||
|
- [[#visual-settings][Visual settings]]
|
|||
|
- [[#whitespace-settings][Whitespace settings]]
|
|||
|
- [[#included-configuration-file][Included configuration file]]
|
|||
|
|
|||
|
* Introduction
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-ed3ad74a-f67a-4fc2-bb1f-b2cfb38f3ed0
|
|||
|
:END:
|
|||
|
I nowadays rarely use Nano as a text editor, since I mainly rely on Emacs for
|
|||
|
all sorts of tasks, including quick file editing. However, at times, Emacs
|
|||
|
won’t work or won’t be available, and I therefore need a lightweight, fast and
|
|||
|
reliable text editor: Nano. And despite Nano being a simple piece of software,
|
|||
|
it does offer some customization I cannot refuse. Here is how I configured it:
|
|||
|
|
|||
|
* Configuration
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-76aa0ff6-9e6a-4a35-974f-9132b08c8eb4
|
|||
|
:END:
|
|||
|
When saving a file, create a backup file by adding a tilde (=~=) to the file's
|
|||
|
name. And make and keep not just one backup file, but make and keep a uniquely
|
|||
|
numbered one every time a file is saved — when backups are enabled with =set
|
|||
|
backup= or =--backup= or =-B=. The uniquely numbered files are stored in the
|
|||
|
directory =~/.cache/nano/backups/=.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set backup
|
|||
|
set backupdir /home/phundrak/.cache/nano/backups/
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Save a file by default in Unix format. This overrides nano's default behavior
|
|||
|
of saving a file in the format that it had. (This option has no effect when
|
|||
|
you also use =set noconvert=.)
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set unix
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
** Keys behavior
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-0f092122-dd91-40e0-8e02-b732a8d5485f
|
|||
|
:END:
|
|||
|
Make the Home key smarter. When Home is pressed anywhere but at the very
|
|||
|
beginning of non-whitespace characters on a line, the cursor will jump to
|
|||
|
that beginning (either forwards or backwards). If the cursor is already at
|
|||
|
that position, it will jump to the true beginning of the line.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set smarthome
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
** Search
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-edff993e-54f5-42c6-8a45-e5a7194adf57
|
|||
|
:END:
|
|||
|
Do case-unsensitive searches by default.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
unset casesensitive
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Do regular-expression searches by default. Regular expressions in =nano= are
|
|||
|
of the extended type (ERE).
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set regexp
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
** Visual settings
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-f4d533e9-a86d-4b6e-b601-28536267f7ab
|
|||
|
:END:
|
|||
|
Use bold instead of reverse video for the title bar, status bar, key combos,
|
|||
|
function tags, line numbers, and selected text. This can be overridden by
|
|||
|
setting the options =titlecolor=, =statuscolor=, =keycolor=, =functioncolor=,
|
|||
|
=numbercolor=, and =selectedcolor=.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set boldtext
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Enable soft line wrapping for easier viewing of very long lines.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set softwrap
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
When soft line wrapping is enabled, make it wrap lines at blank characters
|
|||
|
(tabs and spaces) instead of always at the edge of the screen.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set atblanks
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Display line numbers to the left of the text area.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set linenumbers
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Constantly display the cursor position in the status bar. This overrides the
|
|||
|
option =quickblank=.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set constantshow
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
** Whitespace settings
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-24190b41-8efe-4dfd-ac4b-0f5614b8c9e0
|
|||
|
:END:
|
|||
|
Convert typed tabs to spaces. Sue me.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set tabstospaces
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Use a tab size of a certain amount of columns. The value of number must be
|
|||
|
greater than 0. The default value is 8.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set tabsize 2
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Automatically indent a newly created line to the same number of tabs and/or
|
|||
|
spaces as the previous line (or as the next line if the previous line is the
|
|||
|
beginning of a paragraph).
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set autoindent
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
Remove trailing whitespace from wrapped lines when automatic hard-wrapping
|
|||
|
occurs or when text is justified.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
set trimblanks
|
|||
|
#+END_SRC
|
|||
|
|
|||
|
** Included configuration file
|
|||
|
:PROPERTIES:
|
|||
|
:CUSTOM_ID: h-491cba80-5fa9-4b75-a9cb-2865ec39440a
|
|||
|
:END:
|
|||
|
Nano gives the opportunity to include some files located elsewhere. This is
|
|||
|
why I added [[https://github.com/scopatz/nanorc][this repo]] as a submodule of my dotfiles so I can access a lot of
|
|||
|
them at the same time. Since the submodule is cloned in =~/.config/nanorc=,
|
|||
|
we can add only one line to include all of the =.nanorc= files.
|
|||
|
#+BEGIN_SRC conf
|
|||
|
include ~/.config/nanorc/*.nanorc
|
|||
|
#+END_SRC
|