Apa itu "<Esc> Kv" di bash


13

Ketika saya di bash dan tekan Esc, Shift+ K, V, bash api sampai $EDITORdengan nama file yang mirip dengan /tmp/bash-fc-186566385.

Mengapa demikian dan apa tujuannya?

Saya mungkin perlu menyebutkan bahwa saya menjalankan bash dengan set -o vi.

Jawaban:


10

Ini memungkinkan Anda membuat perintah dengan pengeditan penuh Vi. Jika Anda mengetik beberapa perintah dan menyimpan keluar :wq, perintah akan dijalankan.

CLARIFICATION: ini memungkinkan Anda untuk membangun perintah di editor apa pun yang telah Anda atur $EDITORdan ketika Anda menyimpan dan keluar darinya, konten akan dijalankan. (Mengklarifikasi bahwa itu bukan hanya Vi!)

JUGA, sebagaimana dicatat oleh RealSkeptic , kombinasi shift+ Ktidak diperlukan untuk membuka editor. Cukup esc, Vakan.


Harap dicatat bahwa beberapa keyboard memiliki kunci yang berlabel v. Menekan tombol (atau tombol yang lebih baik) untuk mendapatkan Kbiasanya ditandai sebagai <kbd>Shift</kbd>+<kbd>K</kbd>dan menekan tombol untuk mendapatkan (huruf kecil) vsebagai<kbd>V</kbd>
Anthon

Tidak, tetapi hasil edit Anda pada pos OPs memang salah.
Anthon

2
Bukankah mode editor dapat dijangkau hanya dengan escape-V? "Shift-K" tampaknya hanya voodoo.
RealSkeptic

@RealSkeptic Anda benar, informasi tambahan yang baik
forquare

3
Juga Ctrl-x + e (jika Anda tidak dalam mode vi)
Iacchus

12

Anda tidak perlu Shift+ k. Menggunakan Esc+ vakan berfungsi karena Anda mengizinkan pengeditan baris perintah shell menggunakan editor vi bawaan set -o vi(hal yang sama dapat dicapai dengan Ctrl+ x+ e). Ini sama dengan mengeksekusi fcperintah builtin yang berguna untuk memanipulasi daftar histori dan file histori. Ini akan memanggil editor apa pun yang diatur dalam Anda $EDITOR(jika tidak, editor default shell Anda) untuk menulis perintah yang panjang, rumit atau kompleks dan kemudian jalankan setelah menyimpan dan menutup editor. Lihat di sini untuk detail tentang fcperintah: Bash history builtins .

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.