Cmder詳細設置

Cmder

文中的 &gt 是箭頭,51cto給自動轉成了 &gt

Cmder是一個用於替換windows自帶的cmd的,包含各種軟件包(比如 git)並且非常好用的終端模擬器。

Cmder詳細設置

安裝

在官網Cmder下載cmder壓縮包,解壓即可。這裏注意解壓路徑不能位於需要管理員訪問權限的地方。

  • 添加環境變量:

    新建環境變量cmder_root 將其值設置爲 cmder.exe所在路徑,再將%cmder_root%添加到系統的PATH環境變量中。

  • 將cmder添加到文件夾右鍵菜單(即添加Cmder here):

    以管理員權限打開 cmd ;切換到 cmder 的解壓路徑;執行 .\cmder.exe /REGISTER ALL,即可添加。

  • 爲cmder創建桌面快捷方式。

常用操作

中文配置

進入seting界面:點擊Cmder窗口左上角的圖標 或者 右下角的 圖標,然後選擇 setting

選擇 Startup -> Environment 在這裏添加下面的語句:

set LANG=zh_CN.UTF-8

設置中文界面: 選擇General -> Interface language -> zh:簡體中文

Cmder詳細設置

粘貼複製

複製:只需選中一段文字那麼該段文字就會被複制到剪貼板

粘貼:直接鼠標右鍵即可粘貼,或者使用 Ctrl + v 進行粘貼.

設置爲默認終端

setting > 集成 > 默認項目 > 強制使用ConEmu作爲控制檯應用程序的默認終端

如果允許某些程序出現錯誤,需要關閉此選項;比如 mkcert

cmd模式和bash模式

新手可能會經常在cmd模式下輸入bash相關的命令格式,導致相關錯誤;所以注意一下你當前在哪個模式。

alias別名機制

Cmder增加了alias功能: 它讓你用短短的指令執行一些常見但指令超長又難以記憶的語法;
在其控制檯輸入alias可以查看。

1. cmd aliases:

%CMDER_ROOT%\config\user-aliases.cmd中添加cmd aliases,它僅用於 cmd 命令

示例:

ls=ls --show-control-chars -F --color $*
pwd=cd
clear=cls

user-aliases.cmd: aliases in cmd; called from vendor\init.bat; autocreated from
vendor\user-aliases.cmd.example.

參考:cmder/README.md at master · cmderdev/cmder

2. Bash/Mintty aliases:

對於bash,其配置文件的加載順序是:

$CMDER_ROOT/config/profile.d/*.sh
$CMDER_ROOT/config/user-profile.sh
$HOME/.bashrc

所以我們可以在上面的文件中添加 alias 即可。

幾個示例:

alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'

由於 Git for Windows 會自動創建 ~/.bash_profile,而對此cmder會提示有衝突,此時可以創建一個~/.profile並在該文件中添加別名。(這裏 ~表示$HOME

原本是想添加ssh-agent bash相關的別名的,但是一旦執行此命令後啓動了一個子shell,在此子shell裏不可以使用別名。可參考下文的ssh agent部分。(這裏屬於ssh代理相關問題)

3.Power Shell aliases:

直接使用alias命令添加或在下面的文件中添加:

'$ENV:CMDER_ROOT\config\profile.d\*.ps1'
'$ENV:CMDER_ROOT\config\user-profile.ps1'

補充: 鎖定視窗 ,可以讓視窗無法再輸入

Cmder啓動選項

Cmder詳細設置

相關介紹

  • 在Startup處設置cmder啓動時需要執行的任務

    默認選擇的啓動項應該是 {cmd::Cmder} 這個命名任務,我們可以更改成其它的命令任務或者直接切換到其它的啓動項。

    當選中某個命名任務時,下面的 "Selected task contents(選中的任務內容)"下會顯示該任務執行的具體內容

    這裏cmd::Cmder前面的cmd標明它是cmd模式,我們可以看到還有 bash 和 PowerShell等模式

  • 我們也可以在startup -> tasks處更改和添加 “ Specified named task” 下的命名任務。

自定義啓動目錄

下面就來克隆現有的{cmd::Cmder}添加一個設置自定義的啓動目錄的任務(Task):

cmder03

設置啓動目錄

cmder04

  • 任務參數:下面來看 “Task parameters”命令參數,閱讀實例可知參數 /icon指定圖標位置,/dir 指定啓動目錄,所以我們可以添加下面的參數:/icon "%CMDER_ROOT%\icons\cmder.ico" /dir "C:\Users\Fan"
  • 記得在 startup 的“ Specified named task” 處選擇 cmd::diy1
  • 保存設置,退出,重新打開cmder查看效果

具體配置和使用可見:cmder: Lovely console emulator package for Windows

cmder連接Linux子系統(WSL)

Windows Subsystem for Linux(簡稱WSL)。

ConEmu(包括基於 ConEmu 修改的 cmder) 等終端模擬器也已經適配了 WSL 環境。

連接方式:

  • 添加一個標籤頁時(點擊右下角的 ➕),選擇 WSL --> bash
  • 或直接將啓動任務指定爲 {WSL::bash}

Windows系統的分區全部掛載於Linux子系統的 /mnt 目錄

$ ls /mnt
c  d  e  f  g

WSL的安裝見: Install the Linux Subsystem on Windows 10 - Microsoft Docs

其它問題

中文亂碼

Startup -> Environment 中添加下面的語句:

set LANG=zh_CN.UTF-8

如果打開的文本文件的編碼方式不是 utf-8 那麼在cmder中查看時會亂碼,這種情況需要轉換該文件的編碼方式爲 utf-8

cmder05

查看git log時亂碼

Startup -> Environment 中添加下面的語句:

set LANG=zh_CN.UTF-8

然後執行下面的命令,來配置git log的輸出

git config --global i18n.logoutputencoding utf-8

或者在 .gitconfig 文件中配置

更多亂碼問題見: cmder中文亂碼 - CSDN博客

ssh agent

ssh-agent 介紹可參考: SSH相關命令 中的ssh-agent部分

cmd 模式中:

官方文檔中有說在 cmd 模式中如何處理 ssh agent的相關問題:

To start the vendored SSH agent simply call start-ssh-agent, which is in the vendor/git-for-windows/cmd folder.

If you want to run SSH agent on startup, include the line @call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd" in %CMDER_ROOT%/config/user-profile.cmd (usually just uncomment it).

bash模式中:

官方文檔中沒有說,但我們可以這樣解決。

$HOME/.bashrc$HOME/.profilec文件中添加如下內容:

# 啓動一個 ssh-agent 進程 
eval "$(ssh-agent -s)"
# 這裏同時添加了兩個私鑰
ssh-add "C:/Users/Fan/.ssh/one_rsa" "C:/Users/Fan/.ssh/two_id_rsa"
# 清除上面命令的輸出內容
clear

補充

兩個版本,分別是 mini 與 full 版;唯一的差別在於有沒有內建 msysgit 工具,這是 Git for Windows 的標準配備;全安裝版 Cmder自帶了 msysgit,除了 git 本身這個命令之外, 裏面可以使用大量的 linux 命令;比如 grep, curl(沒有 wget); 像 vim, grep, tar, unzip, ssh, ls, bash, perl 等

cmder無法切換路徑?

一次想切換到C盤,我輸入下面的命令:

λ cd C:
C:\

D:\Portable Software\cmder
λ cd ~
系統找不到指定的路徑。

D:\Portable Software\cmder
λ pwd
D:\Portable Software\cmder

D:\Portable Software\cmder
λ cd C:\Users\Fan Dean\Documents

D:\Portable Software\cmder
λ pwd

怎麼切換不了路徑?在網上查詢了一下原來是這樣:

如果是用默認的bash, 可以直接 cd /d/myworkstation
如果用的是cmd模式, 需要先輸入 d:來切換到d盤

d:
cd myworkstation

 Windows 裏,可以用 /? 獲取詳細的用法,比如:

輸入下面命令來了解一下cmd中cd的用法:

help cd
# 或者
cd /?

參考

看啥都不如官方文檔管用:

來自於我的簡書:Cmder

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章