Bagaimana cara memulai TextEditor dari baris perintah?

67

Saya banyak bekerja di baris perintah di Terminal dan ingin memulai editor teks pada file tertentu. Saya dari Linux Land dan biasanya menggunakan kwrite atau gedit dari bash shell. Mencoba menemukan padanan Mac, sebagai tebakan, telah dicoba

user> textedit somefile.txt

dan

user> texteditor somefile.txt

dan

user> TextEditor somefile.txt

dan variasi lainnya. Saya tidak dapat menemukan nama yang tepat untuk aplikasi editor teks. (Tidak, vi tidak sesuai dengan kesukaan saya.) Anehnya, pria di toko Apple tidak mengetahui hal ini.

DarW
sumber
Baik Nathan maupun mipadi memberikan jawaban, tapi saya pikir itu hanya sebagian jawaban, jadi saya menambahkan satu. Saya tidak yakin apakah akan lebih baik untuk menggabungkan tanggapan mereka, dan jika demikian, bagaimana melakukannya.
Viktor Haag
@ Viktor umumnya tidak baik memposting ulang hal-hal yang sudah dikatakan orang, dan duplikat yang tepat dihapus. Karena Anda memiliki sesuatu untuk ditambahkan, cara yang baik untuk pergi akan menjadi jawaban yang mengatakan "Selain teknik Nathan dan mipadi ...", atau mengomentari jawaban tersebut dengan addendum Anda. Apa yang Anda lakukan di sini tidak apa-apa, tetapi bukan 'praktik terbaik'. Terima kasih untuk bertanya; sekarang kamu tahu untuk masa depan :-).
Nathan Greenstein

Jawaban:

105

Berikut adalah beberapa kemungkinan jawaban, semuanya menggunakan utilitas baris perintah 'terbuka'.

The -a option berarti "membuka argumen file dengan aplikasi bernama":

open -a TextEdit file.txt

The -e pilihan berarti "membuka argumen file dengan aplikasi TextEdit":

open -e file.txt

The -t pilihan berarti "membuka file dengan aplikasi default untuk mengedit file teks, sebagaimana ditentukan melalui LaunchServices". Secara default, ini akan menjadi /Applications/TextEdit.app; namun, pengaturan ini mungkin diganti:

open -t file.txt

Akhirnya, file apa pun dari jenis "teks" akan dibuka oleh aplikasi terikat ke jenis teks jika Anda hanya mengatakan open file.txt. Anda dapat menggunakan "file" perintah untuk mengungkapkan apa sistem operasi berpikir jenis file adalah: file file.txt. Jadi, misalnya, jika Anda mengganti nama "file.txt" menjadi "textfile" maka open textfilemasih akan membukanya di aplikasi pengeditan file teks default, selama file textfilemasih berpikir bahwa "textfile" sebenarnya adalah file teks.

File 'bantuan' singkat di opendapat ditemukan dengan menjalankan

open --help

Atau Anda dapat membaca seluruh manual dengan

man open
Viktor Haag
sumber
2
Saya memasukkan ini ke .bash_profile saya: "alias o = 'open -a Sublime \ Text \ 2'" "dan kemudian saya cukup mengetik di prompt perintah:" o text.txt ". Sangat mudah di jari;)
cmroanirgo
openadalah satu-satunya cara yang 'tepat' untuk melakukan ini.
CousinCocaine
13

Editor teks default adalah TextEdit. Anda dapat membuka file teks di sana dengan menggunakan open -a:

$ open -a TextEdit hi.txt

Jika Anda ingin menggunakan aplikasi lain, cukup masukkan namanya, seperti ini:

$ open -a Coda index.html
Nathan Greenstein
sumber
Ini bekerja untuk saya (OSX Mojave) dengan TextEdit dan Visual Studio Code. Terima kasih!
RJ Dunnill
8

Ada dua cara:

Jika editor teks default Anda adalah TextEdit, Anda cukup menggunakan

open -t file.txt

untuk membukanya di TextEditor.

Jika editor teks default Anda bukan TextEdit, dan Anda ingin membukanya di TextEdit secara spesifik, Anda dapat menggunakannya

/Applications/TextEdit.app/Contents/MacOS/TextEdit file.txt

Salah satu dari mereka dapat dibuat alias di file konfigurasi shell Anda, tentu saja.

mipadi
sumber
Perhatikan bahwa saya tidak yakin bahwa konvensi lewat argumen nama file langsung ke nama aplikasi pada baris perintah mungkin tidak berfungsi untuk semua aplikasi. Hanya aplikasi yang dibangun untuk menerima nama file pada baris perintah sebagai argumen yang sah untuk pembukaan yang akan bekerja dengan cara ini. Saya berpikir bahwa perintah yang lebih umum openmenggunakan metode yang lebih menyeluruh untuk mendapatkan aplikasi untuk "membuka" argumen file yang diteruskan ke perintah terbuka (yaitu itu tergantung pada fungsi yang sama dengan mana tindakan "klik dua kali untuk membuka" dari Pencari berfungsi).
Viktor Haag
@ Viktor Haag: Keduanya akan bekerja dengan TextEdit.
mipadi
6

Jika Anda mencari cara yang nyaman dengan lebih banyak "linux feel", tambahkan sesuatu seperti berikut ini ke ~/.profile:

alias textmate='open -a TextMate'

atau

alias textedit='open -a TextEdit'

tergantung pada editor Anda.

Martin
sumber
2
Meskipun .profileberfungsi, .bash_profilelebih umum di OS X.
CousinCocaine
3

Jika Anda sudah mulai menulis di terminal dan Anda ingin melanjutkan editor favorit Anda, Anda dapat menekan ctrl+ X, ctrl+ Edan terus bekerja di emacs atau editor bash default Anda.

Jika Anda ingin mengubah editor default, ubah variabel lingkungan EDITOR menjadi favorit Anda:

EDITOR=vim;export EDITOR
EDSancha
sumber
1

1) Antarmuka edit konten teks yang cepat terbuka, perhatikan bahwa file yang dihasilkan disimpan dalam /tmpdirektori:

#Input content + Enter + Ctrl+D
open -f

#open empty tempfile
echo|open -f

#alias
alias txted='echo|open -f'
txted

2) Lebih suka mengambil input standar dan output ke TextEdit

echo "input something"|open -f
cat Dockerfile|open -f

3) Cukup buka TextEdit:

open -e

Dari man open:

-e  Opens with TextEdit. 
-f  Reads input from standard input and opens with TextEdit.
Rod Terry
sumber
0

Lihat apakah Anda memiliki editor vim, saya bahkan tidak menyadari terminal saya dapat menggunakannya.

Mencoba:

user> vimtutor 

untuk mengetahui kontrolnya.

Anda dapat mengedit file dengan cukup baik dengannya. Sintaksnya terlihat seperti:

user> vim foo.txt
pengguna70580
sumber
0

TextWrangler (sekarang mati dan diganti dengan BBEdit) ketika diinstal dengan Command Line Utilities, memungkinkan Anda untuk melakukan:

edit README.txt

untuk meluncurkan TextWrangler, yang bagi saya lebih bagus daripada open -t README.txt, tapi mungkin saya hanya menderita inersia.

FYI - editadalah file biner yang dapat dieksekusi (dari paket TextWrangler), bukan hanya alias atau symlink.

Sridhar Sarnobat
sumber
0

Karena Anda ingin membuka editor teks "a". Seharusnya tidak salah jika Anda menggunakan editor teks baris perintah seperti vim atau vi. Ketik saja

user> vim filename

Melihat jawaban lain, ini mungkin tampak kontroversial. Tetapi saat Anda bekerja sebagian besar di dalam terminal. Menggunakan vim atau Gedit adalah pilihan ideal.

Himsara Gallege
sumber
-3

Gunakan geditperintah:

gedit your-file.ext
Alex Chaliy
sumber
3
gedittidak diinstal secara default pada MacOS, meskipun t dapat diinstal melalui homebrewbrew install gedit
Scot
Ini bekerja di Linux: D
Alex Chaliy
OP sedang mencari solusi MacOS, bukan Linux. Dan disebutkan mencari sesuatu untuk menggantikan gedit di Linux. Selain itu, ini adalah situs MacOS, jadi solusi Linux tidak resmi.
Scotlandia