При установке TextWrangler в OSX вы также получаете команду edit
, которая позволяет открывать любой текстовый файл из командной строки.
Возможно ли иметь подобную функциональность в Ubuntu для ввода какой-либо команды на терминале, чтобы открыть файл в определенном текстовом редакторе (скажем, Кейт)?
Чтобы открыть файл с помощью kate
, вы можете запустить что-то вроде:
kate filename
Это может показать некоторые сообщения, такие как:
kate(3702)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing "/usr/share/mime/magic"
kate(3702)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing "/home/user/.local/share/mime/magic"
Bus::open: Can not get ibus-daemon's address.
IBusInputContext::createInputContext: no connection to ibus-daemon
Чтобы удалить эти сообщения, перенаправьте поток вывода ошибок в /dev/null
:
kate filename 2>/dev/null
Если вы хотите продолжить использовать тот же терминал, добавьте &
после команды:
kate filename 2>/dev/null &
Если вы Если вы хотите запустить edit filename
, чтобы открыть его, вы можете создать функцию bash в вашем файле ~/.bashrc
. Добавьте следующий код в ваш файл ~/.bashrc
:
edit() { kate "$@" 2>/dev/null & }
Если вы предпочитаете использовать команду edit
в Ubuntu также потому, что вы привыкли делать это, вы также можете определить псевдоним для вашего любимого редактора, например для Kate:
alias edit='kate'
Чтобы сделать этот псевдоним Пермант просто добавьте эту строку в ~/.bash_aliases
.
Можно открыть (До моего знания) любого из редакторов как это:
ИМЯ ФАЙЛА NAME_OF_EDITOR
gedit filename
(Ubuntu)
kate filename
(Kubuntu)
bluefish filename
kwrite filename
libreoffice filename
Можно даже открыть веб-страницу тот же путь
firefox filename.html
chrome filename.html
banshee filename.ogg
или .mp3
Вы видите тенденцию здесь..
Если у вас нет графического окружения и вы работаете в консоли, вы всегда можете использовать:
vim foo.txt
nano bar.txt
pico foo.html
emacs bar.xml
...
и т. Д. Возвращаются к первому ответу.
Я иногда использую классический терминал, где 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, а не Гедит, как графический редактор.
Что-то, что не работает таким образом, - это открытие нескольких файлов, например:
edit *.html
, если существует более одного html-файла, поэтому шаблон расширяется до нескольких файлы.
Допустимые вызовы:
edit
edit foofile
edit foofile 123
из X или терминала.
Вы можете использовать команду CLI для нужного редактора, чтобы открывать и редактировать файлы. Например, gedit
в gnome или kate
в KDE.
Просто наберите:
kate filename
, чтобы открыть файл в kate.