Я иногда использую классический терминал, где mcedit - мой предпочтительный редактор, и часто люблю передавать номер строки, чтобы исправить программу / скрипт.
Для их равномерного вызова edit source.sh 123
я написал этот скрипт, который я поместил как «edit» в путь:
#!/bin/bash
# - edit a file using mcedit or gedit, depending on X11 or console invoking.
# - jump to specified line, if any.
Xedit=/usr/bin/gedit
if [[ $TERM = "linux" ]]; then
if [ $# -eq 1 ]; then
mcedit $1
else if [ $# -eq 2 ]; then
# echo "edit invoked\t/usr/bin/mcedit +$2 $1" >> /tmp/edit.log
/usr/bin/mcedit +$2 $1
else if [ $# -eq 0 ]; then
/usr/bin/mcedit
fi
fi
fi
else if [[ $TERM = "xterm" ]]; then
# scheint nicht zu helfen
# LANGUAGE=C
export LC_ALL=C
if [ $# -eq 1 ]; then
$Xedit $1
else if [ $# -eq 2 ]; then
# echo "edit invoked\t/usr/bin/scite -open:$1 -goto:$2" >> /tmp/edit.log
# $Xedit -open:$1 -goto:$2
$Xedit +$2 $1
else if [ $# -eq 0 ]; then
$Xedit
fi
fi
fi
fi
fi
Используйте см. Старые инструкции по отладке, когда я использовал scite, а не gedit, в качестве графического редактора.
Что-то, что не работает таким образом, - это открытие нескольких файлов, например:
edit *.html
если существует более одного html-файла, шаблон расширяется до нескольких файлов.
Допустимые вызовы:
edit
edit foofile
edit foofile 123
от Х или терминала.
edit filename
чтобы запустить целоеkate filename 2>/dev/null &
.