Abra o aplicativo para editar arquivos de texto na linha de comando

7

Ao instalar o TextWrangler no OSX, você também recebe um comando edit , que permite abrir qualquer arquivo de texto da linha de comando.

É possível ter uma funcionalidade semelhante no Ubuntu para digitar algum comando no terminal para abrir um arquivo em um editor de texto específico (digamos, Kate)?

    
por Juan A. Navarro 07.04.2011 / 15:47

6 respostas

9

Para abrir um arquivo usando kate , você pode executar algo como:

kate filename

Isso pode mostrar algumas mensagens como:

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

Para remover essas mensagens, redirecione o fluxo de saída de erro para /dev/null :

kate filename 2>/dev/null

Se você quiser continuar usando o mesmo terminal, adicione um & após o comando:

kate filename 2>/dev/null &

Se você quiser executar edit filename para abri-lo, poderá criar uma função bash no seu arquivo ~/.bashrc . Adicione o próximo código ao seu arquivo ~/.bashrc :

edit() { kate "$@" 2>/dev/null & }
    
por Lekensteyn 07.04.2011 / 15:59
14

Você pode abrir (até o meu conhecimento) qualquer um dos editores como este:

NAME_OF_EDITOR FILENAME

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

Você pode até abrir uma página da Web da mesma forma que firefox filename.html e chrome filename.html e banshee filename.ogg ou .mp3

Você pode ver a tendência aqui ...

    
por Luis Alvarado 07.04.2011 / 15:59
3

Se você preferir usar o comando edit no Ubuntu, também porque você está acostumado a fazer isso, você também pode definir um alias para o seu editor favorito, como o Kate:

alias edit='kate'

Para tornar esse alias permant, basta adicionar essa linha a ~/.bash_aliases .

    
por Takkat 07.04.2011 / 16:33
2

Se você não tiver nenhum ambiente gráfico e estiver executando no console, poderá usar sempre:

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

e assim por diante cai de volta para a primeira resposta ..

    
por topless 07.04.2011 / 16:11
1

Você pode usar o comando da CLI para o editor desejado para abrir e editar arquivos. Por exemplo, gedit no gnome ou kate no KDE.

Basta digitar:

kate filename

para abrir o arquivo no kate.

    
por Pedram 07.04.2011 / 15:51
1

Por vezes, utilizo um terminal clássico em que o mcedit é o meu editor preferido e, muitas vezes, gosto de passar um número de linha para corrigir um programa / script.

Para chamá-los uniformemente edit source.sh 123 , escrevi esse 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 
        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

Use as instruções antigas de depuração de quando eu usei scite, não gedit, como editor gráfico.

Algo, que não funciona assim, é a abertura de vários arquivos como este:

 edit *.html

se houver mais de um arquivo html, o padrão será expandido para vários arquivos.

Invocações válidas são:

 edit 
 edit foofile 
 edit foofile 123

do X ou terminal.

    
por user unknown 07.04.2011 / 18:50