GNU/Linux >> Belajar Linux >  >> Linux

Kecepatan terminal:Bergerak cepat di cangkang Anda

Saya telah menggunakan terminal setiap hari selama bertahun-tahun sekarang. Saya menggunakan shell non-default yang sangat disesuaikan. Saya menggunakan penyelesaian tab secara ekstensif dan telah menghafal flag untuk banyak perintah. Sampai sekitar setahun yang lalu, saya pikir saya telah mencapai puncak produktivitas terminal. Kemudian, saya menemukan gelombang utilitas shell yang, meskipun tidak jelas, secara mendasar mengubah cara saya berinteraksi dengan lingkungan terminal saya menjadi lebih baik.

Artikel ini adalah yang pertama dalam seri tentang utilitas baru ini (ditambah beberapa alat yang sudah saya kenal lebih lama, dan suka). Hari ini, kita akan melihat alat khusus untuk berpindah di sekitar sistem file Anda.

Melompat-lompat:z

Anda tahu bagaimana Anda bisa mengetikkan beberapa huruf pertama dari situs web yang umum digunakan ke browser Anda dan menekan Enter dengan keyakinan bahwa Anda akan dibawa ke tempat yang tepat? Bagaimana jika kami membawa pengalaman yang sama ke dalam cangkang Anda? Bayangkan Anda dapat berteleportasi ke direktori yang biasa digunakan hanya dengan mengetikkan sebagian kecil namanya. Itulah yang z tidak.

z skrip shell melacak direktori yang Anda kunjungi dan kapan Anda mengunjunginya. Ini menggabungkan frekuensi akses Anda ke direktori dengan keterkinian akses Anda untuk menentukan "frekuensi" akses Anda. Saat Anda memberikan beberapa huruf untuk nama direktori, z memilih kandidat yang berisi substring yang disediakan dengan frekuensi tertinggi. Hasilnya benar dalam jumlah waktu yang menakutkan.

Ini dia aksinya:

Fakta Singkat:

  • bash /zsh implementasi:GitHub
  • fish implementasi:GitHub
  • Lisensi (bash /zsh ):WTFPLv2
  • Lisensi (fish ):MIT
  • Bahasa:Skrip shell

Ada sejumlah alat serupa di luar sana, seperti autojump dan fasd . Coba semuanya!

Penemuan fuzzy:fzf

Terkadang, mencari hal-hal dengan ekspresi reguler berlebihan. Ada saat-saat di mana huruf yang tepat harus muncul dalam urutan yang benar. fzf utilitas memungkinkan Anda mencari kecocokan fuzzy tanpa rasa sakit. Bagaimana alat ini berhubungan dengan bergerak di sekitar sistem file Anda? Tunggu saja dan Anda akan lihat.

Secara default, fzf bekerja di stdin, jadi Anda dapat menggunakannya seperti grep :

$ fzf < long-log-file.txt

Contoh langsung:

Karena fzf berfungsi untuk memfilter stdin dan mengirimkan output pada stdout, Anda dapat melakukan lebih dari sekadar mencari file dengan alat ini. Ingin mencari direktori di bawah direktori saat ini?

$ fzf

Betul sekali. Jika stdin bukan pipa, fzf mencari semua file di bawahnya dan mengeluarkan pilihan Anda di stdout, yang memudahkan untuk menggabungkan hasilnya dengan perintah lain seperti editor.

Jika Anda ingin mencapai hal yang sama dengan kontrol lebih, Anda dapat menjalankan:

$ find . -type d | fzf

Anda dapat menggunakan fzf untuk bergerak dengan berlari:

$ cd $(find . -type d | fzf) #bash/zsh
$ cd (find . -type d | fzf) #fish

Sekarang, ada juga aplikasi seru lainnya. Anda bisa:

  • Ingat perintah dari riwayat Anda dengan:
    $ eval $(history | fzf) #bash/zsh
    $ eval (history | fzf) #fish
    
  • Edit file di bawah direktori saat ini dengan:
    $ $EDITOR $(find . | fzf) #bash/zsh
    $ $EDITOR (find . | fzf) #fish
    
  • Pilih paket untuk menginstal dengan:
    $ sudo apt install $(apt search <word> 2>/dev/null | tail -n+3 | grep '^\w' | sed 's|([^/]+)/.*|\1|' | fzf) #bash/zsh
    $ sudo apt install (apt search <word> 2>/dev/null | tail -n+3 | grep '^\w' | string split / | fzf) #fish
    
  • Buat pilihan, secara umum, berdasarkan teks yang dibatasi baris. Langit adalah batasnya!

fzf utilitas memiliki integrasi yang ada dengan bash , zsh , dan fish . Jika Anda menginstal shell tersebut, fzf secara alami menambah dan memperluas alur kerja seperti "penelusuran indeks terbalik" dan penyelesaian tab. Saya pengguna berat fish integrasi, saya sendiri.

Fakta Singkat:

  • Dapatkan fzf :GitHub
  • Lisensi:MIT
  • Bahasa:Go

Ingin lebih?

Jika alat ini terlihat berguna bagi Anda, nantikan artikel lainnya. Jika Anda tidak sabar, seri ini didasarkan pada ceramah yang saya berikan di All Things Open 2019. Anda dapat menemukan lebih banyak alat dan trik di sana.


Linux
  1. Rekam sesi terminal Anda dengan Asciinema

  2. Apa emulator terminal favorit Anda?

  3. Apa trik terminal Linux favorit Anda?

  1. Cara Mempercantik Terminal dan Shell Linux Anda

  2. Mewarnai Lingkungan Terminal dan Shell Anda?

  3. Pembersihan Konsol Shell?

  1. Apa trik terminal Linux favorit Anda?

  2. Apa emulator terminal Linux favorit Anda?

  3. Lakukan petualangan di terminal Linux Anda