OSXにTextWranglerをインストールすると、edit
コマンドラインからテキストファイルを開くことができるコマンドも表示されます。
Ubuntuで同様の機能を使用して、ターミナルでコマンドを入力し、特定のテキストエディター(Kateなど)でファイルを開くことはできますか?
OSXにTextWranglerをインストールすると、edit
コマンドラインからテキストファイルを開くことができるコマンドも表示されます。
Ubuntuで同様の機能を使用して、ターミナルでコマンドを入力し、特定のテキストエディター(Kateなど)でファイルを開くことはできますか?
回答:
を使用してファイルを開くには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 linenumber
。
$@
(である必要があります"$@"
)。つまり、スペースを含むファイル名でスクリプトが失敗します。
(私の知る限りでは)次のようなエディターを開くことができます。
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
が、それでも&
端末がデバッグ(または何でも)情報を端末に吐き出すため、端末が使用できなくなります。&
最後に完全に回避する方法はありますか?私はそうであるようにedit
TextWranglerのから?
グラフィックス環境がなく、コンソールで実行している場合は、いつでも使用できます。
vim foo.txt
nano bar.txt
pico foo.html
emacs bar.xml
...
など、最初の答えにフォールバックします。
私は時々、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または端末から。
edit filename
、全体を実行するために呼び出すことができる新しいコマンドを作成することになると思いますkate filename 2>/dev/null &
。