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


9

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

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

回答:


11

を使用してファイルを開くには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 & }

これは私が探していたものに近づきます。コマンドを実際に実行していただきありがとうございます。最も明白な解決策で発生する問題を確認してください。私はedit filename、全体を実行するために呼び出すことができる新しいコマンドを作成することになると思いますkate filename 2>/dev/null &
ファンA.ナバロ

1
@フアン:私はそのための例を追加しました。これ$@は、行番号などの追加オプションを渡す必要がある場合に必要です。別の方法として、この関数を調整してをサポートすることができますedit filename linenumber
Lekensteyn

回答にバグがあり、編集できないようです。引用符を忘れた$@(である必要があります"$@")。つまり、スペースを含むファイル名でスクリプトが失敗します。
Scott Severance

18

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

NAME_OF_EDITOR FILENAME

gedit filename(ウブントゥ)
kate filename(クブントゥ)
bluefish filename
kwrite filename
libreoffice filename

同じ方法
firefox filename.html
chrome filename.html
banshee filename.oggまたは.mp3で Webページを開くこともできます

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


実際には、gedit filename &そうでなければ端末は使用できません。同じことが起こりますkateが、それでも&端末がデバッグ(または何でも)情報を端末に吐き出すため、端末が使用できなくなります。&最後に完全に回避する方法はありますか?私はそうであるようにeditTextWranglerのから?
ファンA.ナバロ

気にしないでくださいLekensteynからの答えは、私が探していたものに(少なくとも)より近いです。
ファンA.ナバロ

1
確かに、それを使い続ける場合は、または2> / dev / nullを追加して、コンソールにエラーなどを出力しないようにすることができます。
Luis Alvarado

3

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

alias edit='kate'

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


2

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

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

など、最初の答えにフォールバックします。


1
ウィンドウ環境でもVT100(x)emacsが必要な場合は、「emacs -nw」または「xemacs -nw」。
バリーカーター2011

1

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

入力するだけです:

kate filename

ケイトでファイルを開く。


1

私は時々、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-Fileがある場合、パターンは複数のファイルに拡張されます。

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

 edit 
 edit foofile 
 edit foofile 123

Xまたは端末から。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.