Открыть приложение для редактирования текстовых файлов из командной строки.

Вопрос или проблема

При установке 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 открывать текстовые файлы из командной строки просто и эффективно. Вы можете использовать разные редакторы, настраивать свои команды и даже добавлять функциональность для редактирования конкретных строк. Убедитесь, что все изменения в конфигурационных файлах сохранены, и ваша среда настроена в соответствии с вашими предпочтениями.

Оцените материал
Добавить комментарий

Капча загружается...