Saat memasukkan perintah yang mencakup beberapa baris di Bash, bagaimana cara mengedit baris sebelumnya? Saya pengguna Linux Mint (Lisa) menggunakan Terminal GNOME.
Sebagai contoh, katakanlah saya mengetik:
$ echo "foo bar
> baz
>
Dan kemudian ketika saya akan mengetik baris ketiga dari perintah, tiba-tiba menyadari saya ingin "foo" dan "bar" berada di baris yang terpisah. Bagaimana saya mengubah posisi kursor antara "foo" dan "bar" sehingga saya bisa menekan enter dan meletakkannya di baris yang berbeda?
(Ini tidak mudah seperti yang Anda kira. Panah atas tidak berfungsi, begitu juga Ctrl-P. Jadi tolong, coba sebelum memposting! Terima kasih!)
linux
bash
gnome
gnome-terminal
Asher Walther
sumber
sumber
Jawaban:
Sayangnya, itu terserah
bash
, bukan ke terminal. Pilihan Anda adalah:Gunakan titik koma alih-alih baris baru, meskipun meskipun demikian Anda tidak dapat naik satu baris layar pada satu waktu tetapi harus menggunakan perintah karakter atau gerakan kata. (Anehnya,
zsh
setidaknya memungkinkan Anda bergerak dalam perintah majemuk saat mengedit riwayat, tidak hanya dalam perintah saat ini .) Kadang-kadangfc
(yang melemparkan Anda ke editor Anda dengan perintah sebelumnya) adalah cara termudah untuk menangani perintah majemuk.Jika Anda menggunakan Bash, gunakan kombinasi tombol berikut:
Ini akan membuka perintah yang sedang Anda kerjakan menggunakan editor teks Anda. Simpan file dan keluar. (Saya menemukan perintah pada presentasi Shell Hater .) Pengguna Zsh memiliki alternatif ini .
sumber
Solusinya adalah jangan pernah memasukkan perintah sampai multi-line benar, cukup ketik: CtrlvCtrlj ketika Anda ingin pergi ke baris berikutnya. Metabuntuk kembali kata.
kredit untuk jawaban @ rici
sumber
Lucunya, Ctrl+Citulah yang Anda cari.
ketika Anda aktif
cukup tekan Ctrl+C(baris perintah yang diedit akan ditangguhkan) dan tekan Up(riwayat sebelumnya). Permintaan Anda akan: (perhatikan tidak adanya>)
Sekarang Anda dapat bergerak dengan Left Rightbahkan melalui lompatan garis.
Hanya ada satu kekhasan, Anda harus berada pada karakter terakhir untuk menambahkan baris lain, jadi bergeraklah untuk mengedit baris yang ada (mulai dengan Ctrl+A) pers Enter jika itu cukup atau akhir goto ( Ctrl+E) untuk menambahkan lebih banyak baris Enter. Kelemahan lainnya adalah Ctrl+_(undo) hanya mengembalikan perubahan dari yang terakhirCtrl+C
sumber
Salin perintah dan tempel di notepad lalu format dari sana. Setelah itu Anda dapat menyalin perintah Anda kembali ke terminal.
sumber