I admit that vim is slowly wining me back. But nano can be tweaked if you care to try. I made a few quick changes to the default .nanorc - I found a few gitcommit.nanorc online. I also added line wrapping, autoindent and tabs-to-spaces - and now nano is much better for me.
Since there is some bug in nano-2.2.6 that prevents it from reading both /etc/nanorc and ~/.nanorc copy nanorc to your home folder and edit that file.
me@linux ~$ cp /etc/nanorc ~/.nanorc
I ended up going with this gist by keithamus because it was simple and sufficient for what I need.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
syntax "gitcommit" "COMMIT_EDITMSG$" | |
color white "#.*" | |
color green "#.(modified|deleted).*" | |
color yellow start="# Changes.*" end="# Changed.*" | |
color cyan start="# Untracked.*" end="diff" | |
color cyan start="# Untracked.*" end="$$" | |
color brightred "^deleted file mode .*" | |
color brightgreen "^\+.*" | |
color brightred "^-.*" | |
color brightyellow "^(diff|index|---|\+\+\+).*" | |
color brightmagenta "@@.*@@" | |
color white "# (Change[ds]|Untracked) .*" | |
color white "#.*\(use .*" | |
color white "^#" |
Burried in a Github repo called dotfile by nicinabox is this nearly identical nanorc with a few additions. Another gist by koraktor is a more complex, but you can start to see common bits and pieces. There are a couple posts that might have some issues. Milian Wolff's site has a long nanorc, and void on Github is also very similar.
Append the gicommit.nanorc to the end of the nanorc file.
me@linux ~$ echo include ~/.local/share/nano/gitcommit.nanorc >> ~/.nanorc
Autoindent, mouse and tabstospaces are really nice features, but what I really needed was line-wrapping which I added by commenting out the line that says, "set nowrap." Voila, nearly as good as vim.
Here is a patch with my changes:
--- /etc/nanorc
+++ ~/.nanorc
@@ -16,7 +16,7 @@
## ", ', ), >, ], and }.
## Use auto-indentation.
-# set autoindent
+set autoindent
## Backup files to filename~.
# set backup
@@ -51,7 +51,7 @@
## If fill is 0 or less, the line length will be the screen width less
## this number.
##
-# set fill -8
+set fill -8
## Enable ~/.nano_history for saving and reading search/replace strings.
set historylog
@@ -70,7 +70,7 @@
## double click), and execute shortcuts. The mouse will work in the X
## Window System, and on the console when gpm is running.
##
-# set mouse
+set mouse
## Allow multiple file buffers (inserting a file will put it into a
## separate buffer). You must have configured with --enable-multibuffer
@@ -91,7 +91,7 @@
# set nonewlines
## Don't wrap text at all.
-set nowrap
+# set nowrap
## Set operating directory. nano will not read or write files outside
## this directory and its subdirectories. Also, the current directory
@@ -150,10 +150,10 @@
set suspend
## Use this tab size instead of the default; it must be greater than 0.
-# set tabsize 8
+set tabsize 4
## Convert typed tabs to spaces.
-# set tabstospaces
+set tabstospaces
## Save automatically on exit, don't prompt.
# set tempfile
@@ -174,7 +174,7 @@
# set undo
## Enable soft line wrapping (AKA full line display)
-# set softwrap
+set softwrap
## Color setup
@@ -297,3 +297,6 @@
## XML-type files
include "/usr/share/nano/xml.nanorc"
+
+## git commit msg
+include /home/marko/.local/share/nano/gitcommit.nanorc
No comments:
Post a Comment