Bagaimana cara menggunakan tab Cmd autocomplete secara efektif?

45

Saya telah menggunakan Bash shell di Linux selama bertahun-tahun dan saya sangat cepat menggunakannya. Dengan sering memohon pelengkapan otomatis dengan menekan tombol tab, saya dapat menulis perintah panjang dalam beberapa penekanan tombol.

Baru-baru ini di pekerjaan saya, saya mulai menggunakan Windows Command Prompt dan Cmd. Saya sangat lambat dalam Cmd. Ini memiliki fitur pelengkapan otomatis, tetapi berfungsi berbeda. Saya pikir saya mengerti cara kerjanya, tetapi saya tidak mengerti bagaimana menggunakannya secara efektif, bahkan sering memperlambat saya. Jadi saya bertanya, bagaimana cara menggunakan autocomplete Cmd secara efektif?


Izinkan saya memberi contoh. Pertama saya akan menjelaskan bagaimana saya menggunakan Bash, lalu bagaimana saya mencoba menggunakan Cmd, dan apa yang salah.

Misalkan folder dalam direktori saat ini memiliki nama yang dibuat dari benua dan negara, misalnya. africa-nigeria, asia-india, europe-france, Dan bahwa saya ingin perubahan folder untuk europe-norway.

Cara autocomplete Bash bekerja adalah tombol tab hanya mengembang jika ada ekspansi unik. Jika tidak, tidak ada yang terjadi, tetapi Anda dapat menekan tab untuk kedua kalinya untuk mendaftar kemungkinan ekspansi.

Jadi untuk pindah ke Norwegia di Bash, saya mengetik cddan kemudian membuat penekanan tombol berikut:

  1. e tab untuk europe-
  2. n tab (tidak ada yang terjadi)
  3. tablagi. Ini daftar europe-netherlandsdan europe-norwaysebagai ekspansi potensial.
  4. o tabuntuk europe-norway.

Besar! Terima kasih Bash.

Namun, ketika saya mencoba kunci yang sama dalam Cmd, itu berkembang e tabmenjadi europe-albania, yang merupakan folder pertama yang dimulai 'e', ​​tetapi bukan folder yang saya inginkan! Apa yang harus saya lakukan sekarang — mungkinkah membuat Albania menjadi Norwegia? Atau haruskah saya membatalkan perintah dengan Escapedan mengetik semuanya dari awal?

Kolonel Panic
sumber
Bisakah Anda menggunakan menu, mis. menu batch?
Endoro
Saat ini jawaban Stephan tepat untuk Anda. Cukup ketik cd edan kemudian tekan TABtombol. Apa yang dilakukan Windows di sini mulai menyortir folder dalam urutan abjad dengan kata-kata. Seperti Jika ada Europe-albaniasebelumnya europe-norway, terus tekan TABtombol terus sampai Anda tidak mendapatkan direktori yang Anda inginkan.
avirk
5
@Avirk, jadi cara tercepat dari Albania ke Norwegia adalah dengan menekan tombol tab 27 kali?
Kolonel Panic

Jawaban:

47

Pembaruan 1 tahun : Saya sampai pada kesimpulan bahwa autocomplete Cmd tidak dapat digunakan, dan berhenti menggunakannya.

Saya menginstal Clink yang memberi Anda pelengkapan otomatis gaya Bash di Cmd.

Clink menggabungkan shell Windows asli cmd.exe dengan fitur pengeditan baris perintah yang kuat dari pustaka GNU Readline, yang menyediakan banyak penyelesaian, sejarah, dan kemampuan pengeditan baris

Itu brilian.

Kolonel Panic
sumber
Temuan yang luar biasa!
ysap
Ya, Clink adalah yang terbaik untuk ini. Saya menggunakan Clink dan Git untuk Windows untuk memberikan alternatif cmd yang lebih baik.
Matt
Tidak seperti bash shell, ini tidak melengkapi nama file secara otomatis.
Yashbhatt
15

Cygwin akan memungkinkan Anda untuk menjalankan Bash shell (terlepas dari banyak perangkat lunak lingkungan POSIX lainnya) di Windows.

Jika tidak, Anda dapat mencoba shell alternatif, daripada Command Prompt kuno, untuk menemukan shell yang paling sesuai dengan kebutuhan Anda.

Berikut adalah daftar beberapa konsol yang meniru bash di Windows:

win-bash
Road Bash
Git Bash yang dijelaskan dalam artikel ini

Konsol lainnya:

Microsoft Windows PowerShell dan artikel wikipedia -nya (yang paling kuat)
Konsol dengan artikel
ColorConsole
PowerCmd
GS.EXE
PyCmd

[ EDIT ] Sejak itu saya temukan Cmder yang merupakan pengganti konsol tabular yang luar biasa yang juga membawa banyak perilaku shell Linux serta port dari banyak aplikasi penanganan file Linux seperti grep.

harrymc
sumber
3
+1. Cmd selalu menjadi alasan yang menyedihkan untuk sebuah shell, dan Microsoft sejak dulu tidak lagi mengembangkannya. Karena Anda sudah performan di bash, opsi terbaik Anda adalah untuk terus menggunakannya dengan menginstal Cygwin.
Andrew Schulman
1
tentu saja, PowerShell adalah yang terbaik dalam daftar itu;)
Taylor Gibb
Untuk melengkapi daftar sedikit lebih banyak: Ada juga 4DOSatau lebih baik 4NT, keduanya agak populer di masa lalu dan jauh lebih kuat daripada command.comatau cmd.exe. Tampaknya Take Command( jpsoft.com/take-command-windows-scripting.html ) adalah penggantinya. Namun saya tidak pernah menggunakan itu secara pribadi (dan ini komersial).
mpy
1
Di Win7 saya, PowerShell's Autocomplete (menggunakan TAB) (mis) berperilaku seperti di CMD.
ysap
11

Menekan TABtombol akan beralih ke semua direktori yang ada.

Cobalah untuk memasukkan hanya cdkemudian TABuntuk beberapa kali dan Anda akan melihat prinsip.

cd countries/europe-s[TAB][TAB] 

misalnya akan membawa Anda ke pertandingan kedua (negara / eropa-serbia)

Stephan
sumber
4

Bash di linux mencoba mencocokkan dan mengisi ulang semua karakter pertama yang umum untuk semua file.

Prompt perintah windows, di sisi lain hanya mengisi secara otomatis command prompt dengan elemen pertama yang cocok.

misal: Di linux bash: Setelah mengetik negara cd \ e TAB, bash akan naik ke negara \ eropa- karena cocok dengan semua nama file yang dimulai dengan e, dan kemudian Anda dapat memasukkan beberapa karakter berikutnya dan tekan TABlagi.

Pada prompt perintah Windows: Setelah mengetikkan negara cd \ e TAB, prompt perintah akan cocok dengan nama file pertama yang mungkin dimulai dengan e, europe-albania dalam kasus Anda, tetapi masih ingat bahwa Anda hanya memasukkan 'e'. Jadi, jika Anda menekan TABlagi, itu akan menampilkan kemungkinan yang sesuai berikutnya (urutan abjad), eropa-andorra.

Jika Anda ingin lebih cepat ke eropa-norwegia, Anda bisa:

  1. Ketik europe-no dan kemudian tekan TABatau
  2. Ketik e dan kemudian terus menekan TABsampai menampilkan eropa-norwegia
Chirag Bhatia - chirag64
sumber
2

Pembaruan: Git Bash cukup banyak yang saya butuhkan

Gunakan PowerShell ISE alih-alih hanya PowerShell. Ini memberi Anda akses ke intelliSense auto-complete, yang memunculkan daftar opsi saat mengetik atau Ctrl+ Space. ISE juga membuka banyak kemungkinan menarik lainnya seperti penyelesaian tab dan hal-hal lain.

Kelemahannya, ini tidak mendukung aplikasi interaktif seperti ssh atau python shell.

Saya sebenarnya sudah mulai menggunakan ConEmu hari ini karena kelemahan ini. ConEmu sangat keren.

Windows PowerShell Integrated Scripting Environment (ISE) adalah salah satu dari dua host untuk mesin dan bahasa Windows PowerShell. Dengannya Anda dapat menulis, menjalankan, dan menguji skrip dengan cara yang tidak tersedia di Windows PowerShell Console. ISE menambahkan pewarnaan sintaksis, penyelesaian tab, IntelliSense, debugging visual, dan Bantuan peka konteks.

ISE memungkinkan Anda menjalankan perintah di panel konsol, tetapi juga mendukung panel yang dapat Anda gunakan untuk secara bersamaan melihat kode sumber skrip Anda dan alat lain yang dapat dihubungkan ke ISE. Anda bahkan dapat membuka banyak jendela skrip sekaligus, yang sangat membantu ketika Anda sedang men-debug skrip yang menggunakan fungsi yang ditentukan dalam skrip atau modul lain.

https://technet.microsoft.com/en-us/library/dd819514.aspx

ThaJay
sumber
1

Tahan Tabtombol untuk bergerak maju melalui opsi dan Shift+ Tabuntuk memutar kembali.

Right arrow →kunci akan mereproduksi karakter cmdline 1 terakhir sekaligus. Saya menemukan itu berguna ketika mengganti nama file.

misalnya:

ren file.1.mp4 Guitar.Licks.01.Pentatonic.2.notes.per.string.mp4

Tahan right arrow →hingga 1, lalu ketik 2. Tahan panah kanan hingga 1, lalu ketik 2. Tahan panah kanan hingga 2, lalu ketik 3, tahan panah kanan hingga akhir. Hasilnya adalah ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4
dchip
sumber
Trik panah kanan itu keren, tapi sayangnya tidak berhasil Ctrl+Tab, dan saya tidak pernah menekan tombol itu hanya untuk pergi ke akhir baris. Menekan panah lalu Homeatau Ctrl+Tabuntuk memperbaiki beberapa karakter akan jauh lebih cepat
phuclv
1

Di Windows 10, nama file dan nama direktori selesai dapat menggunakan wildcard.

Sebagai contoh mengubah ke eropa-norway, salah satu dari perintah ini harus bekerja:

cd *nor*<tab>

atau

cd *way<tab>

Anda dapat menggunakan beberapa '*' s, dan ada tidak implisit terkemuka atau trailing '*'.

Timotius
sumber
1

Cukup menggunakan regedit:

1) Mulai -> Jalankan -> regedit 2) Traverse ke yang berikut untuk pengguna saat ini atau semua pengguna sistem,

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Command Processor

3) Klik dua kali pada prosesor perintah dan ubah nilainya menjadi "9" dalam desimal atau "0x9" dalam hex. 4) Ini akan memungkinkan TAB untuk melengkapi otomatis.

Buka kembali command prompt Anda dan coba.

Landak
sumber
0

Di windows 10 (7?) Gunakan shift + tab untuk menggilir melalui opsi autocomplete yang tersedia diberikan path parsial.

Ketika dipanggil tanpa apa-apa, ia akan menggilir semua opsi yang tersedia di direktori.

Michael.
sumber
1
Ini tidak apa-apa, Shift+Tabhanya membalikkan urutan iterasi , seperti menambahkan pergeseran ke cara pintas beralih lain seperti Ctrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... Dengan Tab saja Anda juga akan menggilir semua pilihan yang tersedia di direktori
phuclv