web-dev-qa-db-ja.com

コマンドラインからテキストファイルを編集するためのアプリケーションを開く

OSXに TextWrangler をインストールすると、コマンドラインからテキストファイルを開くことができるeditコマンドも取得します。

Ubuntuで同様の機能を使用して端末でコマンドを入力し、特定のテキストエディター(Kateなど)でファイルを開くことは可能ですか?

9
Juan A. Navarro

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を実行して開く場合は、~/.bashrcファイルにbash関数を作成できます。次のコードを~/.bashrcファイルに追加します。

edit() { kate "$@" 2>/dev/null & }
10
Lekensteyn

次のようなエディターを開くことができます(私の知る限り)。

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

ここで傾向を見ることができます。

17
Luis Alvarado

Ubuntuでコマンドeditを使用したい場合は、Kateのようにお気に入りのエディターのエイリアスを定義することもできます。

alias edit='kate'

このエイリアスを永続化するには、この行を~/.bash_aliasesに追加するだけです。

3
Takkat

グラフィック環境がなく、コンソールで実行している場合は、いつでも使用できます。

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

などは最初の答えに戻ります。

2
topless

目的のエディターのCLIコマンドを使用して、ファイルを開いて編集できます。たとえば、gnomeではgedit、KDEではkateです。

次のように入力します:

kate filename

ケイトでファイルを開きます。

1
Pedram

私は時々、mceditが私の好みのエディターである古典的な端末を使用します。プログラム/スクリプトを修正するために、行番号を渡すことがよくあります。

一様にそれらをedit source.sh 123と呼ぶために、パスに「編集」として配置したこのスクリプトを書きました。

#!/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

グラフィカルエディタとしてgeditではなくsciteを使用したときの古いデバッグ手順を参照してください。

この方法で機能しないものは、次のような複数のファイルを開くことです。

 edit *.html

複数のhtmlファイルがある場合、パターンは複数のファイルに展開されます。

有効な呼び出しは次のとおりです。

 edit 
 edit foofile 
 edit foofile 123

xまたは端末から。

1
user unknown