Apakah ada cara untuk menyimpan makro keyboard di bash?


11

Saya ingin menyimpan makro keyboard secara permanen yang telah saya rekam menggunakan C-x (dan C-x ). Apakah ada cara mudah untuk "melihat sumber" untuk makro saya yang baru direkam sehingga saya dapat mengikatnya ke pintasan keyboard di ~ / .inputrc?

Saya pikir dump-macrosakan melakukannya, tetapi sepertinya tidak ...


Yah, aku akan terkutuk. Saya tidak tahu tentang fitur ini.
Charlie Martin

Saya menggunakan gnome-terminal dan gconf-editor untuk mengkonfigurasi pintasan keyboard.
saeedgnu

Jawaban:


3

Ternyata itu benar-benar tidak mungkin, yaitu, itu tidak mungkin sampai malam ini!

Karena saya penasaran untuk menggali kode sumber bash lagian saya pergi ke depan dan menambahkan fitur ini :). Kami akan melihat apakah pengelola bash menerapkan tambalan saya .


1

Yang terbaik yang bisa saya pikirkan adalah mencoba:

echo >>.inputrc '<ctrl-x e>'

Atau jika makro memiliki beberapa baris coba:

echo >>.inputrc <<EOF
<ctrl-x e>
EOF

Jika Anda telah menggunakan karakter kontrol, Anda mungkin ingin menempatkan sed di sana untuk menggantinya dengan kode escape yang tepat untuk inputrc.

Lalu masuk dan edit baris terakhir untuk memiliki awalan dan akhiran yang tepat untuk apa yang ingin Anda capai ...


simpan langkah, edit .inputrc, posisikan ke mana pun Anda ingin makro dan Cx e untuk 'mengetikkannya'. Tapi ya, saya akan mengatakan ini adalah cara terbaik, tentu saja, Anda bisa meletakkannya di mana saja yang Anda inginkan, itu hanya sekelompok penekanan tombol. Jika Anda tidak berada di 'mode / tempat / program' yang benar, Anda mungkin akan mendapatkan input yang salah dipahami. Tetapi orang akan berharap bahwa jika Anda tidak menggunakan makro di tempat yang tepat, bukan?
lornix

0

Tambahkan baris ini ke .inputrc:

alias macro

oh, terima kasih sudah memperbaiki itu,
salahku

0

Tampaknya .inputrc memungkinkan Anda untuk hanya mengedit perintah Anda. Saya mencoba menggunakan dump-macrosjuga tetapi tidak bisa berfungsi juga tidak ada banyak dokumentasi tentang hal itu. Mungkin itu tidak berfungsi atau sudah usang.

Jika ada perintah seperti xevuntuk binding emacs, itu akan sangat membantu. Bagaimanapun, saya pikir taruhan terbaik Anda adalah mengedit inputrc menggunakan pedoman pada tautan pertama di bawah di bagian bawah halaman. Ini cukup mudah dilakukan.

Tautan kedua adalah contoh file inputrc untuk bantuan mencari tahu cara mengatur makro.

Selain itu, ada juga perintah keren yang disebut bind -Pyang akan mencantumkan semua makro Anda.

http://www.gnu.org/software/bash/manual/html_node/Miscellaneous-Commands.html#Miscellaneous-Commands

Berikut ini contoh file inputrc:

http://www.gnu.org/software/bash/manual/html_node/Sample-Init-File.html#Sample-Init-File


Ya, intinya adalah tidak harus menulis makro dengan tangan, tetapi mencetak yang baru saja saya rekam ...
mgalgs

ternyata dump-macroshanya mencetak apa yang akan didefinisikan oleh makro Anda saat ini.
mgalgs
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.