Apakah Bash memiliki fitur serupa seperti sugesti dan sorotan Fish?


37

Saya baru-baru ini memperhatikan 2 fitur di Fish dan bertanya-tanya apakah ada yang tahu apakah ini juga tersedia di Bash?

Penyorotan sintaksis

ss # 1

Spesifik:

  • Anda akan segera melihat bahwa ikan melakukan penyorotan sintaks saat Anda mengetik. Perintah yang tidak valid berwarna merah secara default:
  • Perintah mungkin tidak valid karena tidak ada, atau merujuk ke file yang tidak dapat Anda jalankan. Ketika perintah menjadi valid, itu ditampilkan dalam warna yang berbeda
  • ikan akan menggarisbawahi jalur file yang valid saat Anda mengetiknya
  • Ini memberitahu Anda bahwa ada file yang dimulai dengan 'somefi', yang merupakan umpan balik yang berguna saat Anda mengetik.

Saran otomatis

ss # 2

Spesifik:

  • ikan menyarankan perintah saat Anda mengetik, dan menunjukkan saran di sebelah kanan kursor, berwarna abu-abu.
  • Ia tahu tentang jalur dan opsi
  • Untuk menerima sugesti otomatis, tekan panah kanan atau Control-F. Jika saran otomatis bukan yang Anda inginkan, abaikan saja.

4
Tentang analog terdekat yang bashdimiliki adalah pelengkapan otomatis. Sayangnya, fishskrip sangat mendasar sehingga merupakan pengganti yang sangat buruk untuk hal-hal yang saya lakukan secara rutin bash.
DopeGhoti

1
@DopeGhoti - maka saya meminta Q 8-)
slm

2
Cobalah menggunakan tautan ssh latensi tinggi, Anda akan membenci fitur inline dengan cukup cepat.
llua

1
@slm Sebagian besar adalah kasus sudut, beberapa nastier daripada yang lain, tetapi bisa sangat buruk ketika Anda ditempatkan di banyak lingkungan. "Fitur pembunuh" untuk 4.3 adalah cd -@, wait -n, globasciiranges, dan $BASH_COMPAT, yang banyak orang inginkan. Hampir semua sisanya hanya pemadam kebakaran.
Chris Down

1
@ Strugee, ada highlighter sintaks zsh - github.com/zsh-users/zsh-syntax-highlighting , saya menemukannya melalui oh-my-zsh yang sangat keren.
Joe Block

Jawaban:


2

Saya tidak yakin tentang penyorotan Bash tetapi fitur Lengkapi-Otomatis Bash cenderung untuk Menyarankan Otomatis seperti yang Anda sebutkan.

Meskipun Bash's Auto-Complete tidak dapat menampilkan saran seperti yang Anda inginkan, tetapi Bash sebenarnya mengisi konten saat Anda menekan [TAB]. Jika ada banyak pilihan untuk menyelesaikan konten, Anda menekan [TAB] dua kali dan itu menunjukkan semua opsi.

Sebagai contoh:

$ cat /etc/pa[TAB]

=> tidak ada yang terjadi

$ cat /etc/pa[TAB][TAB]
pam.d/       passwd       paths        paths.d/

=> menunjukkan semua file / dir mulai dengan "/ etc / pa"

Anda dapat mengonfigurasi untuk membuat pelengkapan otomatis dengan perintah, parameter, file / direktori apa pun ..., atau bermain dengannya seperti pemrograman
Informasi lebih lanjut di: http://www.linuxjournal.com/content/more-using-bash-complete -perintah

Jika Anda ingin melompat ke perintah yang lalu, tekan ^ R lalu ketik beberapa karakter:

(reverse-i-search)`cd': cd ..

=> lompat ke perintah terakhir mulai dengan "cd"

Saya tahu ini bukan yang Anda inginkan tetapi hampir melakukan hal yang sama dan cukup membantu Anda.


8
Terima kasih telah meluangkan waktu untuk menjawab ini dan menawarkan saran ini. Saya akrab dengan fitur ini dan menggunakannya setiap hari, fitur yang saya inginkan adalah ia akan melakukannya secara dinamis tanpa perlu menekan [TAB] [TAB] untuk memulainya.
slm

2

Sayangnya tidak. Tapi saya perkirakan, bash itu akan melambat secara besar-besaran jika Anda mencoba mengimplementasikan fitur-fitur ini. Mungkin itu sebabnya belum ada yang "mem-porting" fitur-fitur ini.

Yang paling dekat yang saya temukan adalah https://github.com/dvorka/hstr , kotak saran shell


selain bash:

Saya tidak mengujinya, tetapi satu-satunya "alternatif porting" yang saya temukan ditulis untuk zsh: https://github.com/zsh-users/zsh-autosuggestions

Beberapa qwant'ing juga menuntun saya ke https://websetnet.com/shell-packs-power-python-bash/ dan https://github.com/xonsh/xonsh alias http://xon.sh , mungkin juga mendukung itu di luar kotak

... tapi, saya cukup yakin Anda tidak tertarik dengan alternatif lain untuk bash, karena dengan begitu Anda bisa beralih ke ikan;)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.