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

7

При установке TextWrangler в OSX вы также получаете команду edit , которая позволяет вам открыть любой текстовый файл из командной строки.

Возможно ли иметь аналогичную функциональность в Ubuntu, чтобы набрать некоторую команду на терминале, чтобы открыть файл в определенном текстовом редакторе (скажем, Кейт)?

    
задан Juan A. Navarro 07.04.2011 в 13:47
источник

6 ответов

9

Чтобы открыть файл, используя 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 & }
    
ответ дан Lekensteyn 07.04.2011 в 13:59
источник
14

Вы можете открыть (насколько мне известно) любой из таких редакторов:

NAME_OF_EDITOR FILENAME

gedit filename (Ubuntu)
kate filename (Kubuntu)
bluefish filename
kwrite filename
libreoffice filename

Вы даже можете открыть веб-страницу таким же образом
firefox filename.html
chrome filename.html
banshee filename.ogg или .mp3

Здесь вы можете увидеть тенденцию.

    
ответ дан Luis Alvarado 07.04.2011 в 13:59
источник
3

Если вы предпочитаете использовать команду edit в Ubuntu также потому, что вы привыкли к этому, вы также можете определить псевдоним для своего любимого редактора, например, для Kate:

alias edit='kate'

Чтобы сделать этот псевдоним, просто добавьте эту строку в ~/.bash_aliases .

    
ответ дан Takkat 07.04.2011 в 14:33
источник
2

Если у вас нет графической среды, и вы работаете на консоли, вы всегда можете использовать:

vim foo.txt
nano bar.txt
pico foo.html
emacs bar.xml
...

и т. д. возвращается к первому ответу.

    
ответ дан topless 07.04.2011 в 14:11
источник
1

Вы можете использовать команду CLI для нужного редактора, чтобы открывать и редактировать файлы. Например, gedit в gnome или kate в KDE.

Просто введите:

kate filename

, чтобы открыть файл в kate.

    
ответ дан Pedram 07.04.2011 в 13:51
источник
1

Я иногда использую классический терминал, где 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 
        else if [ $# -eq 2 ]; then
#           echo "edit invoked\t/usr/bin/mcedit + " >> /tmp/edit.log
            /usr/bin/mcedit + 
            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 
            else if [ $# -eq 2 ]; then
#               echo "edit invoked\t/usr/bin/scite -open: -goto:" >> /tmp/edit.log
                # $Xedit -open: -goto:
                $Xedit +  
                else if [ $# -eq 0 ]; then
                    $Xedit
                fi
            fi
        fi
    fi
fi

Используйте старые инструкции отладки, когда я использовал scite, а не gedit, в качестве графического редактора.

Что-то, что не работает таким образом, открывает несколько файлов вроде этого:

 edit *.html

, если имеется более одного html-файла, поэтому шаблон расширяется до нескольких файлов.

Действительные вызовы:

 edit 
 edit foofile 
 edit foofile 123

из X или терминала.

    
ответ дан user unknown 07.04.2011 в 16:50
источник

Ознакомьтесь с другими вопросами по меткам