CMDER adalah paket perangkat lunak yang dibuat karena frustrasi murni karena tidak adanya emulator konsol yang dapat digunakan di Windows. Ini didasarkan pada CONEMU dengan overhaul konfigurasi besar , dilengkapi dengan skema warna Monokai, dentang yang menakjubkan (lebih lanjut ditingkatkan dengan pelengkap clink) dan tata letak prompt khusus.
Keuntungan utama CMDER adalah portabilitas. Ini dirancang untuk sepenuhnya mandiri tanpa dependensi eksternal, yang membuatnya bagus untuk tongkat USB atau penyimpanan cloud . Jadi, Anda dapat membawa konsol, alias, dan biner Anda (seperti wget , curl dan git ) dengan Anda di mana saja.
Antarmuka pengguna CMDER juga dirancang agar lebih menyenangkan, dan Anda dapat membandingkan perbedaan utama antara CMDER dan CONEMU di sini.
C:Program Files atau di mana pun yang akan memerlukan akses administrator untuk memodifikasi file konfigurasi%cmder_root%bin untuk disuntikkan ke jalur Anda.Cmder.exe%cmder_root%bin . Lihat: bin/readme.md/max_depth [1-5] di 'argumen baris perintah untuk tabel init.bat ' untuk menambahkan subdirektori secara rekursif.%cmder_root%opt . Lihat: Opt/ReadMe.mdCmder.exe dengan /C Argumen baris perintah. Contoh: cmder.exe /C %userprofile%cmder_configIni akan membuat struktur direktori berikut jika hilang.
c:users[username]cmder_config
├───bin
├───config
│ └───profile.d
└───opt
%userprofile%cmder_configbin ./max_depth [1-5] di 'argumen baris perintah untuk tabel init.bat ' untuk menambahkan subdirektori secara rekursif.%user_profile%cmder_configopt .| Argumen | Keterangan |
|---|---|
/C [user_root_path] | Folder root cmder pengguna individu. Contoh: %userprofile%cmder_config |
/M | Gunakan conemu-%computername%.xml untuk penyimpanan pengaturan CONEMU alih-alih user_conemu.xml |
/REGISTER [ALL, USER] | Daftarkan Pintasan Menu Windows Shell. |
/UNREGISTER [ALL, USER] | Lepaskan jalan pintas menu shell windows. |
/SINGLE | Mulai cmder dalam mode tunggal. |
/START [start_path] | Jalur folder untuk memulai. |
/TASK [task_name] | Tugas untuk memulai setelah peluncuran. |
/X [ConEmu extras pars] | Parameter ke depan ke Conemu |
Jadi, Anda sedikit bereksperimen dengan CMDER dan ingin mencobanya di rumah yang lebih permanen;
.cmder.exe /REGISTER ALL jika Anda mendapatkan pesan "akses ditolak", pastikan Anda menjalankan perintah dalam prompt administrator .Di jendela File Explorer klik kanan masuk atau di direktori untuk melihat "cmder di sini" di menu konteks.
(Beberapa jalan pintas belum didokumentasikan, meskipun ada - silakan mendokumentasikannya di sini)
Anda dapat membuka beberapa tab masing -masing yang berisi salah satu cangkang berikut:
| Tugas | Kerang | Keterangan |
|---|---|---|
| Cmder | cmd.exe | Windows cmd.exe shell ditingkatkan dengan git, git prompt, clink (gnu readline), dan alias. |
| Cmder sebagai admin | cmd.exe | Windows administratif cmd.exe cmder shell. |
| PowerShell | powershell.exe | Windows PowerShell ditingkatkan dengan prompt git dan git prompt. |
| PowerShell sebagai admin | powershell.exe | Windows administratif powershell.exe cmder shell. |
| Pesta | bash.exe | Unix/Linux seperti Bash Shell berjalan di Windows. |
| Bash sebagai admin | bash.exe | Administratif Unix/Linux seperti Bash Shell berjalan di Windows. |
| Mintty | bash.exe | Unix/Linux seperti Bash Shell berjalan di Windows. Lihat di bawah untuk perbedaan konfigurasi mintty |
| Mintty sebagai admin | bash.exe | Administratif Unix/Linux seperti Bash Shell berjalan di Windows. Lihat di bawah untuk perbedaan konfigurasi mintty |
Tab Cmder, PowerShell, dan Bash semuanya berjalan di atas Windows Console API dan bekerja seperti yang Anda harapkan di CMDER dengan akses untuk menggunakan skema warna CONEMU, binding kunci dan pengaturan lain yang ditentukan dalam dialog Pengaturan CONEMU.
CATATAN: Hanya edisi lengkap CMDER yang dilengkapi dengan bash yang telah diinstal sebelumnya, menggunakan instalasi git-for-windows vendored. Tab bash yang telah dikonfigurasi sebelumnya mungkin tidak berfungsi pada edisi mini CMDER tanpa konfigurasi tambahan.
Namun Anda dapat memilih untuk menggunakan instalasi eksternal bash, seperti subsistem Microsoft untuk Linux (disebut WSL) atau proyek Cygwin yang menyediakan dukungan POSIX pada Windows.
Catatan: Tab Mintty menggunakan program yang disebut 'Mintty' sebagai emulator terminal yang tidak didasarkan pada Windows Console API, melainkan diterjemahkan secara grafis oleh CONEMU. Mintty berbeda dari tab lain yang mendukung jenis istilah Xterm/Xterm-256Color, dan tidak bekerja dengan pengaturan CONEMU seperti skema warna dan binding kunci. Dengan demikian, beberapa perbedaan dalam fungsionalitas diharapkan, seperti CMDER yang tidak dapat menerapkan konfigurasi sistem-lebar untuk itu.
Akibatnya konfigurasi spesifik mintty dilakukan melalui [%USERPROFILE%|$HOME]/.minttyrc . Anda dapat membaca lebih lanjut tentang Mintty dan file konfigurasi di sini.
Contoh pengaturan warna terminal portabel cmder untuk mintty:
Dari shell bash/mintty:
cd $CMDER_ROOT/vendor
git clone https://github.com/karlin/mintty-colors-solarized.git
cd mintty-colors-solarized/
echo source $CMDER_ROOT/vendor/mintty-colors-solarized/mintty-solarized-dark.sh>>$CMDER_ROOT/config/user_profile.sh
Anda mungkin menemukan beberapa skema warna Monokai untuk Mintty agar cocok dengan cmder di sini.
cmd.exe file konfigurasi prompt cmd::Cmder Default disesuaikan menggunakan Clink dan dikonfigurasi dengan mengedit file konfigurasi yang ada di salah satu dari dua lokasi:
%CMDER_ROOT%configcmder_prompt_config.lua%CMDER_USER_CONFIG%cmder_prompt_config.lua Jika Pengaturan CMDER Anda tidak memiliki file ini, buat dari %CMDER_ROOT%vendorcmder_prompt_config.lua.default
Kustomisasi meliputi:
[user]@[host] ke awal prompt.~ untuk direktori rumah.λDokumentasi ada dalam file untuk setiap pengaturan.
cmd.exe perilaku startup shell menggunakan argumen tugas1. {cmd::Cmder as Admin}2. {cmd::Cmder}Catatan: Perhatikan kutipannya!
cmd /s /k ""%ConEmuDir%..init.bat" [ADD ARGS HERE]"
init.bat| Argumen | Keterangan | Bawaan |
|---|---|---|
/c [user cmder root] | Mengaktifkan Folder Pengguna dan Konfigurasi untuk sesi 'CMDER sebagai Admin' karena lingkungan yang tidak dibagi. | tidak diatur |
/d | Memungkinkan output debug. | tidak diatur |
/f | Mengaktifkan mode CMDer Fast Init. Ini menonaktifkan beberapa fitur, lihat Permintaan Tarik #1492 untuk lebih jelasnya. | tidak diatur |
/t | Mengaktifkan mode init CMDer Timeed. Ini menampilkan waktu yang dibawa menjalankan skrip init | tidak diatur |
/git_install_root [file path] | Jalur root instalasi git yang ditentukan pengguna. | %CMDER_ROOT%vendorGit-for-Windows |
/home [home folder] | Jalur folder yang ditentukan pengguna untuk mengatur %HOME% . | %userprofile% |
/max_depth [1-5] | Tentukan kedalaman kambuh maks saat menambahkan ke jalur untuk %cmder_root%bin dan %cmder_user_bin% | 1 |
/nix_tools [0-2] | Tentukan bagaimana *nix ditambahkan ke jalur. Lebih memilih alat windows: 1, lebih suka *alat nix: 2, no /usr/bin di %PATH% : 0 | 1 |
/svn_ssh [path to ssh.exe] | Tentukan %SVN_SSH% sehingga kami dapat menggunakan git SVN dengan repositori SSH SVN. | %GIT_INSTALL_ROOT%binssh.exe |
/user_aliases [file path] | Path file menunjuk ke alias pengguna. | %CMDER_ROOT%configuser_aliases.cmd |
/v | Mengaktifkan output verbose. | tidak diatur |
| (Argumen Kustom) | Argumen yang ditentukan pengguna diproses oleh cexec . Ketik cexec /? untuk penggunaan lebih lanjut. | tidak diatur |
Konfigurasi portabel pengguna tunggal dimungkinkan menggunakan file konfigurasi shell spesifik CMDER. Edit file di bawah ini untuk menambahkan konfigurasi Anda sendiri:
| Kerang | Cmder portabel user config |
|---|---|
| Cmder | %CMDER_ROOT%configuser_profile.cmd |
| PowerShell | $ENV:CMDER_ROOTconfiguser_profile.ps1 |
| Bash/Mintty | $CMDER_ROOT/config/user_profile.sh |
Catatan: Sesi bash dan mintty juga akan sumber file $HOME/.bashrc jika ada setelah sumber $CMDER_ROOT/config/user_profile.sh .
Anda dapat menulis *.cmd|*.bat , *.ps1 , dan *.sh skrip dan cukup letakkan di folder %CMDER_ROOT%configprofile.d untuk menambahkan konfigurasi startup ke cmder.
| Kerang | Cmder Profile.d skrip |
|---|---|
| Cmder | %CMDER_ROOT%configprofile.d*.bat and *.cmd |
| PowerShell | $ENV:CMDER_ROOTconfigprofile.d*.ps1 |
| Bash/Mintty | $CMDER_ROOT/config/profile.d/*.sh |
Untuk menonaktifkan status cmder prompt git secara global menambahkan yang berikut ke ~/.gitconfig atau secara lokal untuk satu repo [repo]/.git/config dan memulai sesi baru.
Catatan: Konfigurasi ini tidak portabel
[cmder]
status = false # Opt out of Git status for 'ALL' Cmder supported shells.
cmdstatus = false # Opt out of Git status for 'Cmd.exe' shells.
psstatus = false # Opt out of Git status for 'Powershell.exe and 'Pwsh.exe' shells.
shstatus = false # Opt out of Git status for 'bash.exe' shells.
Cmd.exe ) Anda dapat mendefinisikan alias sederhana untuk sesi cmd.exe dengan perintah seperti alias name=command . CMD.exe Aliases mendukung parameter opsional melalui $1-9 atau karakter khusus $* sehingga alias vi=vim.exe $* diketik sebagai vi [filename] akan membuka [filename] di vim.exe .
Alias CMD.exe juga bisa lebih kompleks. Lihat: DOSKEY.EXE Dokumentasi untuk detail tambahan tentang alias/makro kompleks untuk cmd.exe
Alias yang didefinisikan menggunakan perintah alias.bat akan secara otomatis disimpan dalam file %CMDER_ROOT%configuser_aliases.cmd
Untuk membuat alias dan/atau pengaturan profil lainnya secara permanen tambahkan ke salah satu dari yang berikut:
Catatan: Ini dimuat dalam pesanan ini oleh $CMDER_ROOT/vendor/init.bat . Apa pun yang disimpan dalam %CMDER_ROOT% akan menjadi pengaturan portabel dan akan mengikuti CMDER ke mesin lain.
%CMDER_ROOT%configprofile.d*.cmd dan *.bat%CMDER_ROOT%configuser_aliases.cmd%CMDER_ROOT%configuser_profile.cmd Bash shell mendukung alias sederhana dan kompleks dengan parameter opsional secara asli sehingga mereka bekerja sedikit berbeda. Mengetik alias name=command akan membuat alias hanya untuk sesi berjalan saat ini.
Untuk membuat alias dan/atau pengaturan profil lainnya secara permanen tambahkan ke salah satu dari yang berikut:
Catatan: Ini dimuat dalam pesanan ini oleh $CMDER_ROOT/vendor/git-for-windows/etc/profile.d/cmder.sh . Apa pun yang disimpan dalam $CMDER_ROOT akan menjadi pengaturan portabel dan akan mengikuti CMDER ke mesin lain.
$CMDER_ROOT/config/profile.d/*.sh$CMDER_ROOT/config/user_profile.sh$HOME/.bashrc Jika Anda menambahkan alias bash ke $CMDER_ROOT/config/user_profile.sh mereka akan portabel dan ikuti folder cmder Anda jika Anda menyalinnya ke mesin lain. $HOME/.bashrc alias yang ditentukan tidak portabel.
PowerShell memiliki dukungan alias sederhana asli, misalnya [new-alias | set-alias] alias command , sehingga alias kompleks dengan parameter opsional tidak didukung dalam sesi PowerShell. Ketik get-help [new-alias|set-alias] -full untuk bantuan pada Alias PowerShell.
Untuk membuat alias dan/atau pengaturan profil lainnya secara permanen tambahkan ke salah satu dari yang berikut:
Catatan: Ini dimuat dalam pesanan ini oleh $ENV:CMDER_ROOTvendoruser_profile.ps1 . Apa pun yang disimpan dalam $ENV:CMDER_ROOT akan menjadi pengaturan portabel dan akan mengikuti CMDER ke mesin lain.
$ENV:CMDER_ROOTconfigprofile.d*.ps1$ENV:CMDER_ROOTconfiguser_profile.ps1 Untuk memulai agen SSH vendored, hubungi start-ssh-agent , yang ada di folder vendor/git-for-windows/cmd .
Jika Anda ingin menjalankan SSH Agent saat startup, sertakan line @call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd" di %CMDER_ROOT%/config/user_profile.cmd (biasanya hanya uncomment itu).
CMDER secara default dikirimkan dengan instalasi git vendor. Pada setiap contoh peluncuran CMDER, upaya dilakukan untuk menemukan pengguna lain yang disediakan Binari. Setelah menemukan biner git.exe , cmder selanjutnya membandingkan versinya dengan vendory satu dengan mengeksekusi itu. Biner git.exe vendore hanya digunakan ketika lebih baru daripada yang dipasang pengguna.
Anda dapat menggunakan versi GIT favorit Anda dengan memasukkan jalurnya dalam variabel lingkungan %PATH% . Selain itu, edisi mini CMDER (ditemukan di halaman unduhan) tidak termasuk setiap biner git vendor.
Anda dapat menjalankan bash (shell default yang digunakan pada Linux, MacOS dan GNU/HURD) secara eksternal di CMDER, menggunakan instruksi berikut:
+ untuk menambahkan tugas.cmd /c "[path_to_external_env]binbash --login -i" -new_console ke kotak teks Commands .Langkah opsional yang disarankan:
Salin file vendor/cmder_exinit ke cygwin/babun, msys2, atau git untuk lingkungan sdk windows /etc/profile.d/ folder untuk menggunakan pengaturan portabel di folder $CMDER_ROOT/config .
Catatan: Mingw dapat berfungsi jika skrip init menyertakan profile.d tetapi ini belum diuji.
Ekstensi file tujuan tergantung pada shell yang Anda gunakan di lingkungan itu. Misalnya:
/etc/profile.d/cmder_exinit.sh/etc/profile.d/cmder_exinit.zshUncomment dan edit baris di bawah ini dalam skrip untuk menggunakan cmder config bahkan ketika diluncurkan dari luar cmder.
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
init.bat . Anda dapat memberikan argumen khusus ke init.bat dan menggunakan cexec.cmd di user_profile.cmd Anda untuk mengevaluasi argumen ini kemudian menjalankan perintah berdasarkan bendera tertentu yang terdeteksi atau tidak.
init.bat membuat dua pintasan untuk menggunakan cexec.cmd di skrip profil Anda.
%ccall% - Mengevaluasi bendera, menjalankan perintah jika ditemukan, dan kembali ke skrip panggilan dan berlanjut. ccall=call C:Usersusercmderdevvendorbincexec.cmd
Contoh: %ccall% /startnotepad start notepad.exe
%cexec% - Mengevaluasi bendera, menjalankan perintah jika ditemukan, dan tidak kembali ke skrip panggilan. cexec=C:Usersusercmderdevvendorbincexec.cmd
Contoh: %cexec% /startnotepad start notepad.exe
Ini berguna ketika Anda memiliki banyak tugas untuk menjalankan cmder dan membutuhkannya untuk menginisialisasi sesi secara berbeda tergantung pada tugas yang dipilih.
Untuk memulai secara kondisional notepad.exe saat Anda memulai tugas cmder tertentu:
Tekan Win + Alt + T
Klik + untuk menambahkan tugas baru.
Tambahkan di bawah ini ke blok Commands :
cmd.exe /k " " %ConEmuDir% ..init.bat " /startnotepad "
Tambahkan di bawah ini ke %cmder_root%configuser_profile.cmd
%ccall% " /startNotepad " " start " " notepad.exe " `
Untuk melihat penggunaan cexec yang terperinci, ketik cexec /? di cmder.
CMDER Secara default hadir dengan instalasi CONEMU vendore sebagai emulator terminal yang mendasarinya, seperti yang dinyatakan di sini.
Namun, CMDER sebenarnya dapat berjalan dalam berbagai emulator terminal lainnya, dan bahkan IDE terintegrasi. Dengan asumsi Anda memiliki versi terbaru CMDER, ikuti instruksi berikut untuk membuat CMDER bekerja dengan emulator terminal Anda sendiri.
Untuk instruksi tentang cara mengintegrasikan cmder dengan IDE Anda, silakan baca bagian wiki kami.
Proses meningkatkan CMDER tergantung pada versi/build yang sedang Anda jalankan.
Jika Anda memiliki [cmder_root]/config/user[-|_]conemu.xml , Anda menjalankan versi cmder yang lebih baru, ikuti proses di bawah ini:
Keluar dari semua sesi cmder dan peluncuran ulang [cmder_root]/cmder.exe , ini mendukung [cmder_root]/vendor/conemu-maximus5/conemu.xml ke [cmder_root]/config/user[-|_]conemu.xml .
[cmder_root]/config/user[-|_]conemu.xml berisi pengaturan khusus yang telah Anda buat menggunakan dialog pengaturan 'Tugas Pengaturan'. Keluar dari semua sesi cmder dan cadangan file apa pun yang telah Anda edit secara manual di bawah [cmder_root]/vendor .
[cmder_root]/vendor tidak disarankan karena Anda perlu menerapkan kembali perubahan ini setelah peningkatan apa pun. Semua kustomisasi pengguna harus masuk [cmder_root]/config . Hapus folder [cmder_root]/vendor .
Ekstrak cmder.zip atau cmder_mini.zip baru ke [cmder_root]/ menimpa semua file saat diminta.
Jika Anda tidak memiliki [cmder_root]/config/user[-|_]conemu.xml , Anda menjalankan versi cmder yang lebih lama, ikuti proses di bawah ini:
Keluar dari semua sesi cmder dan cadangan [cmder_root]/vendor/conemu-maximus5/conemu.xml ke [cmder_root]/config/user[-|_]conemu.xml .
Cadangkan file apa pun yang telah Anda edit secara manual di bawah [cmder_root]/vendor .
[cmder_root]/vendor tidak disarankan karena Anda perlu menerapkan kembali perubahan ini setelah peningkatan apa pun. Semua kustomisasi pengguna harus masuk [cmder_root]/config . Hapus folder [cmder_root]/vendor .
Ekstrak cmder.zip atau cmder_mini.zip baru ke [cmder_root]/ menimpa semua file saat diminta.
Anda dapat mengunduh build dari cabang pengembangan saat ini dengan pergi ke Appveyor melalui tautan berikut:
Unduhan terbaru Builds by Github Actions dapat diunduh dari tautan di bawah ini:
Semua perangkat lunak yang disertakan dibundel dengan lisensi sendiri
Lisensi MIT (MIT)
Hak Cipta (C) 2016 Samuel Vasko
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian substansial dari perangkat lunak.
Perangkat lunak ini disediakan "sebagaimana adanya", tanpa jaminan apa pun, tersurat maupun tersirat, termasuk tetapi tidak terbatas pada jaminan dapat diperjualbelikan, kebugaran untuk tujuan tertentu dan nonpringement. Dalam hal apa pun penulis atau pemegang hak cipta tidak akan bertanggung jawab atas klaim, kerusakan atau tanggung jawab lainnya, baik dalam tindakan kontrak, gugatan atau sebaliknya, timbul dari, di luar atau sehubungan dengan perangkat lunak atau penggunaan atau transaksi lain dalam perangkat lunak.