Saya menjalankan Cygwin dan ingin menggunakan Notepad ++ sebagai editor shell utama, seperti apa yang saya miliki di Mac saya, di mana saya dapat mengetik mate whatever
untuk membuka instance dari TextMate. Dalam ~/.bashrc
file saya di Cygwin saya memiliki set variabel lingkungan dan alias berikut:
export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
Sebagian besar berfungsi: ketika saya mengetik np whatever
atau ketika program Cygwin memanggil $ EDITOR, Notepad ++ terbuka.
Namun, shell menunggu sampai Notepad ++ ditutup dan tidak akan membiarkan input apa pun sampai saat itu. Ini mungkin khusus untuk bash, tetapi bagaimana saya bisa membuka Notepad ++ dari Cygwin dan memberi tahu shell untuk tidak menunggu kode keluar untuk melanjutkan? Menambahkan a &
ke akhir perintah alias tidak berfungsi dengan benar — itu hanya membuka file tanpa judul dan memperingatkan filename: command not found
bukannya membuka file.
Terima kasih!
Saya menyelesaikannya dengan symlink sederhana.
Tentu saja ~ / bin ada di $ PATH saya.
Sekarang untuk membuka file saya cukup ketik "npp filename.txt" dari prompt cygwin. Saya belum harus menggunakan & di akhir perintah.
Ini juga akan membuang tab ke jendela Notepad ++ yang sedang berjalan daripada membuka yang lain - DAN jika file sudah terbuka, itu tidak akan membukanya lagi.
sumber
juga berfungsi untuk x86
sumber
Cukup tambahkan spasi dan ampersand (&) di akhir perintah Anda dan shell akan segera kembali ke mode input sambil membiarkan notepad ++ terbuka.
sedang diedit:
Saya tidak berbicara tentang menambahkannya ke alias Anda. Tambahkan ke akhir perintah Anda seperti ini:
np whatever &
sumber
.bash_profile
sehingga saya tidak perlu mengetiknya sepanjang waktu?Alias tidak mengambil argumen yang disisipkan. Gunakan fungsi sebagai gantinya.
sumber
Skrip ini memulai Notepad ++ di latar belakang, meneruskan argumen baris perintah sebelum tanda '&'
Seperti yang disarankan Doug , memiliki default
$EDITOR
yang tidak memblokir dapat menyebabkan masalah.sumber
Ada perintah khusus di cygwin untuk mencapai ini. Pastikan Anda mengunduh run.exe, dan pastikan itu ada di PATH Anda (atau PATH Anda berisi file yang dapat dieksekusi)
sumber