Я щойно спробував nano
, і що мене найбільше дивує, це навіть не попереджає, що файл читається лише тоді, коли ви починаєте редагувати файл. ( ОНОВЛЕННЯ: Мабуть, нано 2.2 попереджає; 2.0 ні. )
Ось (базовий) сценарій, який робить це.
Він перевіряє, чи можете ви редагувати файл, а якщо ви не можете, замість цього він виконує "nano" як root.
/ usr / local / bin / edit (або ~ / bin / edit )
sudo= # empty is false, non-empty is true
editor=nano # XXX check $EDITOR and $VISUAL
if test -e "$1" && test ! -w "$1"; then
if test -t 0 && test -t 2; then
printf "%s is not writable. Edit with sudo? [y/n] " "$1" 1>&2
read -n 1
case $REPLY in
y|Y)
sudo=true
;;
n|N)
sudo=
;;
*)
printf "\nExpected y or n. Exiting.\n" 1>&2
exit 1
;;
esac
else
printf "%s is not writable. Fix the permissions or run \"view\" instead." "$1" 1>&2
exit 1
fi
fi
${sudo:+sudo} "$editor" "$1"
І команду, яку я зателефонував, view
щоб ви могли уникнути підказки, якщо знаєте, що не збираєтесь робити якісь зміни.
/ usr / local / bin / view (або ~ / bin / view )
editor=nano
readonlyflag=-v
"$editor" $readonlyflag "$1"
Уже є програма, яка називається view
частиною Vi / Vim, тому сміливо пропонуйте краще ім'я.
(Я думаю, що повне реалізація цієї програми зробить Ві view
зайвим.)
Повні версії
vim
. Я розглядаю питання про злиття ... хоча я також розглядаю той факт, що конкретні інструкції vim не працюватимутьnano
.