GNU/Linux >> Belajar Linux >  >> Linux

Cara Membuat Keybinding Makro dan Fungsi Linux di File .intputrc

Readline juga memberi Anda kemampuan untuk memetakan ikatan kunci kustom Anda sendiri dengan mengedit file konfigurasi .inputrc di direktori home Anda.

Berikut ini adalah dua jenis ikatan kunci khusus yang dapat Anda tentukan:

  1. Makro
  2. Fungsi

Makro

Anda dapat menentukan keybinding yang akan, ketika dijalankan, mengisi string karakter pada posisi kursor saat ini. Untuk melakukannya, tambahkan baris dengan format berikut ke file konfigurasi .inputrc Anda (atau buat file jika belum ada):

<key combination>: "<string of characters>"

Misalnya, saya mendapati diri saya berulang kali mengarahkan output ke file “~/debug_output.txt”. Saya dapat mendefinisikan makro di .inputrc saya dengan menambahkan baris berikut:

Control-g: " > ~/debug_output.txt"

Sekarang, setiap kali saya mengetik kombinasi tombol Control-g, pernyataan pengalihan akan ditambahkan setelah kursor saya, memungkinkan saya untuk dengan mudah menambahkannya ke akhir perintah lain.

Ingatlah hal-hal berikut saat Anda membuat makro:

  • Saya dapat mengeja kombinasi tombol dalam bahasa Inggris (Untuk informasi lebih lanjut tentang ini, lihat halaman manual untuk bash. Cari bagian “Readline Key Bindings”)
  • Urutan karakter yang akan disisipkan oleh makro harus dibungkus dengan tanda kutip ganda (“)
  • Pilihan Control-g bersifat arbitrer, Anda dapat memilih kombinasi yang lebih bermakna bagi Anda.
  • Dimungkinkan untuk mengganti ikatan kunci default (ingat hal ini saat Anda menentukan milik Anda sendiri)
  • Agar keybinding berlaku, Anda harus memulai instance shell baru (file konfigurasi .inputrc dibaca pada startup shell)

Fungsi

Anda juga dapat membuat keybinding yang akan, ketika dijalankan, memanggil suatu fungsi. Readline menyediakan sejumlah besar fungsi yang telah ditentukan sebelumnya untuk dipilih. Untuk memetakan kombinasi tombol ke fungsi yang telah ditentukan sebelumnya:

<key combination>: <function-name>

Untuk daftar fungsi yang telah ditentukan sebelumnya, lihat manual GNU Readline.

Dimungkinkan juga untuk mendefinisikan fungsi kustom Anda sendiri, tetapi ini memerlukan penulisannya dalam C dan berada di luar cakupan tutorial ini. Kami mungkin akan membahasnya sebagai tutorial terpisah nanti.

Salah satu fungsi yang telah ditentukan sebelumnya yang berguna adalah menu-complete. Ini memberikan perilaku pelengkapan otomatis alternatif.

Perilaku default untuk pelengkapan otomatis (dipetakan ke kunci TAB) adalah:

  • isi sebagian perintah/direktori/nama file jika ada satu kecocokan
  • tampilkan daftar kemungkinan kecocokan jika ada lebih dari 1

menu-complete sebagai gantinya akan menggilir daftar kemungkinan kecocokan, mengisi kemungkinan kecocokan berikutnya di setiap kali fungsi dipanggil. Perilaku ini bisa menyenangkan, terutama saat melengkapi nama file yang lebih panjang secara otomatis. Untuk memetakan kembali kunci TAB untuk menggunakan perilaku ini, tambahkan baris berikut ke file .inputrc Anda.

TAB: menu-complete

Perhatikan bahwa pengikatan kunci baru ini tidak akan berlaku di shell saat ini, Anda harus memulai instance baru untuk memuat ulang file konfigurasi .inputrc

Dalam tutorial ini kita telah mempelajari bahwa keybinding baris perintah Linux didukung oleh alat yang disebut Readline. Pengikatan kunci dapat berupa 1 dari 2 jenis:

  • Makro:memperluas urutan karakter
  • Fungsi:melakukan suatu tindakan

Readline memberi kami satu set ikatan kunci default, tetapi juga memberi kami fleksibilitas untuk membuat sendiri di file konfigurasi .inputrc. Terakhir, untuk melihat semua ikatan kunci saat ini, kita dapat menggunakan perintah 'bind'.

bind -p

Linux
  1. Cara Membuat File ZIP yang Dilindungi Kata Sandi di Linux

  2. Cara Membuat Swap di Linux

  3. Cara membuat file swap di Linux

  1. Cara Membuat Atau Menambah Ruang Swap Di Linux

  2. Cara Mengarahkan Output ke File dan Stdout di Linux

  3. Cara Mengenkripsi dan Mendekripsi File menggunakan GnuPG di Linux

  1. Apa itu NFS dan bagaimana cara menginstalnya di Linux

  2. Cara membuat dan memasang sistem file di Linux

  3. Bagaimana cara membuat file di Linux dari jendela terminal?