- Вопрос или проблема
- Ответ или решение
- Использование текстовых редакторов в Ubuntu
- Устранение ошибок при запуске графических редакторов
- Создание пользовательской команды edit
- Использование алиаса для команды edit
- Редакторы без графической оболочки
- Пример скрипта для более функциональной команды edit
- Заключение
Вопрос или проблема
При установке TextWrangler в OSX вы также получаете команду edit
, которая позволяет открывать любой текстовый файл из командной строки.
Можно ли получить аналогичную функциональность в Ubuntu, чтобы ввести какую-либо команду в терминале для открытия файла в конкретном текстовом редакторе (например, Kate)?
Вы можете открыть (насколько мне известно) любой из редакторов так:
ИМЯ_РЕДАКТОРА НАЗВАНИЕ_ФАЙЛА
gedit filename
(Ubuntu)
kate filename
(Kubuntu)
bluefish filename
kwrite filename
libreoffice filename
Вы даже можете открыть веб-страницу таким же образом
firefox filename.html
chrome filename.html
banshee filename.ogg
или .mp3
Вы можете увидеть тенденцию здесь..
Чтобы открыть файл с помощью kate
, вы можете выполнить что-то вроде:
kate filename
Это может показать некоторые сообщения, такие как:
kate(3702)/kdecore (services) KMimeTypeFactory::parseMagic: Теперь парсим "/usr/share/mime/magic"
kate(3702)/kdecore (services) KMimeTypeFactory::parseMagic: Теперь парсим "/home/user/.local/share/mime/magic"
Bus::open: Не удается получить адрес ibus-daemon.
IBusInputContext::createInputContext: нет соединения с 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
.
Если у вас нет графической среды и вы работаете в консоли, вы всегда можете использовать:
vim foo.txt
nano bar.txt
pico foo.html
emacs bar.xml
...
и так далее, возвращаясь к первому ответу..
Вы можете использовать CLI-команду для желаемого редактора, чтобы открывать и редактировать файлы. Например, gedit
в gnome или kate
в KDE.
Просто введите:
kate filename
чтобы открыть файл в kate.
Я иногда использую классический терминал, где mcedit — мой предпочтительный редактор, и часто хочу передать номер строки, чтобы исправить программу/скрипт.
Чтобы унифицированно вызывать их edit source.sh 123
, я написал этот скрипт, который я поместил как ‘edit’ в путь:
#!/bin/bash
# - редактировать файл с помощью mcedit или gedit, в зависимости от того, вызывается ли X11 или консоль.
# - перейти на указанную строку, если есть.
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
# кажется, не помогает
# 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
из X или терминала.
На моей системе это gnome-text-editor
. Вы можете использовать его так:
gnome-text-editor filename
Ответ или решение
Чтобы открыть текстовые файлы из командной строки в Ubuntu, можно использовать различные текстовые редакторы, такие как gedit
, kate
, vim
и другие. В данной статье мы рассмотрим, как можно настроить простую команду для открытия файлов с помощью текстового редактора, а также приведём примеры использования.
Использование текстовых редакторов в Ubuntu
В Ubuntu вы можете открыть текстовые файлы с помощью следующих команд:
-
Для открытия файла в редакторе
gedit
:gedit filename
-
Для открытия файла в редакторе
kate
(обычно используется в KDE):kate filename
-
Для использования других редакторов, таких как
nano
,vim
,emacs
и т.д.:vim filename nano filename emacs filename
Кроме того, вы можете открывать HTML-файлы в браузерах:
firefox filename.html
chrome filename.html
Устранение ошибок при запуске графических редакторов
При запуске некоторых графических редакторов могут появляться сообщения об ошибках в терминале. Чтобы избавиться от этих сообщений, вы можете перенаправить поток ошибок в /dev/null
:
kate filename 2>/dev/null
Если вы хотите продолжить работу в терминале после открытия файла, добавьте &
в конце команды:
kate filename 2>/dev/null &
Создание пользовательской команды edit
Если вам привычно использовать команду edit
, как это делается в таких приложениях, как TextWrangler на OSX, вы можете создать функцию в вашем файле ~/.bashrc
.
Добавьте следующую функцию:
edit() { kate "$@" 2>/dev/null & }
После этого вы можете открывать файлы, используя команду:
edit filename
Использование алиаса для команды edit
Если вы предпочитаете пользоваться алиасами, вы можете сделать следующее. Откройте файл ~/.bash_aliases
и добавьте строку:
alias edit="kate"
Эта команда позволит вам запускать edit filename
, и при этом файл будет открыт в редакторе kate
. Не забудьте перезагрузить ваш терминал или выполнить команду source ~/.bashrc
, чтобы изменения вступили в силу.
Редакторы без графической оболочки
Если вы работаете в терминале без графического интерфейса, доступны более простые текстовые редакторы, такие как:
vim foo.txt
nano bar.txt
pico foo.html
Пример скрипта для более функциональной команды edit
Если вам нужно добавить возможность указывать номер строки для редактирования, вы можете создать скрипт edit
следующим образом:
#!/bin/bash
Xedit=/usr/bin/gedit
if [[ $TERM = "linux" ]]; then
if [ $# -eq 1 ]; then
mcedit "$1"
elif [ $# -eq 2 ]; then
mcedit +$2 "$1"
else
mcedit
fi
else
if [ $# -eq 1 ]; then
$Xedit "$1"
elif [ $# -eq 2 ]; then
$Xedit +$2 "$1"
else
$Xedit
fi
fi
Заключение
В Ubuntu открывать текстовые файлы из командной строки просто и эффективно. Вы можете использовать разные редакторы, настраивать свои команды и даже добавлять функциональность для редактирования конкретных строк. Убедитесь, что все изменения в конфигурационных файлах сохранены, и ваша среда настроена в соответствии с вашими предпочтениями.