Às vezes, uso um terminal clássico em que mcedit é o meu editor preferido e geralmente gosto de passar um número de linha para corrigir um programa / script.
Para chamá-los de maneira uniforme, edit source.sh 123
escrevi este script, que coloquei como 'edit' no caminho:
#!/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
Use as instruções de depuração antigas de quando usei scite, não o gedit, como editor gráfico.
Algo, que não funciona dessa maneira, está abrindo vários arquivos como este:
edit *.html
se houver mais de um arquivo html, o padrão será expandido para vários arquivos.
As invocações válidas são:
edit
edit foofile
edit foofile 123
do X ou terminal.
edit filename
para executar o todokate filename 2>/dev/null &
.