国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
驚艷的cygwin

5年前倒騰過一次cygwin,當時體驗感覺不好。到現(xiàn)在一直用的是GNU utilities for Win32,在Windows的CMD中使用*nix的命令工具包。

GNU utilities for Win32很久沒有更新,utils的版本太低,很多功能沒有(比如grep輸出不支持彩色輸出的選項–color)等等。另,在Windows的“cmd的自動補全”、“命令歷史”、“bat編程”太弱,一直忍受著~
# 以前寫過cmd相關(guān)的博文: Windows命令行CMD的使用小技巧、如何在Windows下使用GNU命令

最近大半年版本管理使用Git,用的是msysgit。msysgit帶了MSYS的Bash。用的過程中體驗不錯,很順暢很有Linux的Feel了:

  • 有Git命令的自動補全
  • 彩色顯示
  • 可以用Bash功能(自動補全、歷史命令搜索等等)
  • bash腳本編程

昨天想到就倒騰了一下cygwin,效果驚艷?。?/p>

安裝

在cyginw的安裝頁面上下載setup.exe。

啟動選擇安裝目錄和Package的鏡像站點(自動會缺省163的Package鏡像站點),然后選擇和調(diào)整要安裝的Package。
# 163提供的鏡像讓Package下載分分鐘搞定。163也提供了Ubuntu的鏡像,163做得很贊!

安裝后要調(diào)整(比如新增、刪除)也使用setup來完成。

Package中有Git,需要就在安裝時選上就可以了。

bash_completion包(命令補全的增強包)讓cygwin補全更強勁,但會影響命令行自動補全速度和cygwin啟動速度,建議先安裝上,如果不能接受速度的變慢,就卸載掉這個包。
注:參見 有關(guān) SVN、CYGWIN 和 NOTEPAD++

第一次啟動時會生成Home目錄,在${cygwin}/home/${YOUR_USER_NAME}。
# ${cygwin}表示你的cygwin安裝目錄。

顯示

調(diào)整${HOME}/.bashrc文件,把注釋掉別名打開:

alias df='df -h'alias du='du -h'alias whence='type -a'                        # where, of a sortalias grep='grep --color'                     # show differences in colouralias egrep='egrep --color=auto'              # show differences in colouralias fgrep='fgrep --color=auto'              # show differences in colouralias ls='ls -h --color=tty'                 # classify files in colouralias dir='ls --color=auto --format=vertical'alias vdir='ls --color=auto --format=long'alias ll='ls -l'                              # long listalias la='ls -A'                              # all but . and ..alias l='ls -CF'                              #alias wch='which -a'

這樣調(diào)整后,可以ls、grep、dir輸出彩色顯示。

另外加上命令的-h選項,這樣文件大小以K、M、G顯示,方便人閱讀。

git輸出(比如log、status)彩色顯示,使用下面的命令配置:

git config --global color.ui auto

vi配置

${HOME}/.vimrc文件中加上:# 沒有.vimrc文件就新建。

set numberset hlsearchset fileencoding=utf-8set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1set nocompatibleset backspace=indent,eol,startsyntax enable

說明:

  • syntax enable:打開語法高亮。cygwin的vi缺省沒有打開。
  • set nocompatible和set backspace:配置backspace鍵,缺省backspace不起作用。
  • set fileencoding和set fileencodings:缺省文件編碼和自動識別文件編碼順序
  • set number:顯示行號
  • set hlsearch:搜索到內(nèi)容高亮

參考資料:

配置盤符的鏈接

到D盤,要/cygdrive/d,可以新建符號鏈接/d,這樣可以減少錄入(MSYS的做法)

ln -s /cygdrive/c /cln -s /cygdrive/d /dln -s /cygdrive/e /e

自動補全不區(qū)分大小寫

~/.bashrc文件中添加:

shopt -s nocaseglob

~/.inputrc文件中添加:

set completion-ignore-case on

cygwin的官方文檔:How can I get bash filename completion to be case insensitive?

配置按單詞移動/刪除

.inputrc文件中添加:

# Ctrl+Left/Right to move by whole words"\e[1;5C": forward-word"\e[1;5D": backward-word# Ctrl+Backspace/Delete to delete whole words"\e[3;5~": kill-word"\C-_": backward-kill-word

參考資料:Ctrl-Arrow Keys, Ctrl-Backspace, Ctrl-Delete

Windows和cygwin路徑的轉(zhuǎn)換

cygwin的路徑和Windows的路徑表示不一樣。

要注意的是,cygwin下的cd命令可以直接使用Windows的路徑表示。

$ cd 'C:\Windows\System32\drivers\etc'

注:不要忘了加上單引號,因為\是bash元字符,用于轉(zhuǎn)義。不用上單引號cd命令收到的參數(shù)值就不是C:\Windows\System32\drivers\etc,運行報錯。

路徑轉(zhuǎn)換的需求減了大半。

cygpath命令來完成轉(zhuǎn)換,相關(guān)的選項是:

  -a, --absolute        output absolute path  -w, --windows         print Windows form of NAMEs (C:\WINNT)  -u, --unix            (default) print Unix form of NAMEs (/cygdrive/c/winnt)

執(zhí)行的例子:

$ cygpath -au 'C:\Windows\System32\drivers\etc'/cygdrive/c/Windows/System32/drivers/etc$ cygpath -aw '/cygdrive/c/Windows/System32/drivers/etc'C:\Windows\System32\drivers\etc

cygwin的官方文檔:How do I convert between Windows and UNIX paths?

在cygwin的打開指定文件或文件夾到文件瀏覽器

常常會有這樣的需求,比如打開文件瀏覽器explorer,然后用烏龜看SVN日志等等。

可以使用使用命令直接打開指定文件或文件夾的位置到explorer。

打開文件或文件夾腳本,可以這個腳本命名成xpl,放到PATH上。
# xplexplorer的縮寫

#!/bin/bashcygwin=false;case "`uname`" in    CYGWIN*) cygwin=true ;;esacif [ "$1" = "" ]; then	XPATH=. # 缺省是當前目錄else	XPATH=$1	if $cygwin; then		XPATH="$(cygpath -C ANSI -w "$XPATH")";	fifiexplorer $XPATH

打開文件或文件夾,并選中的腳本,可以這個腳本命名成xpf,放到PATH上。
# xpfexplorer and select file的縮寫

#!/bin/bashcygwin=false;case "`uname`" in    CYGWIN*) cygwin=true ;;esacif [ "$1" = "" ]; then	XPATH=. # 缺省是當前目錄else	XPATH=$1	if $cygwin; then		XPATH="$(cygpath -C ANSI -w "$XPATH")";	fifiexplorer '/select,' $XPATH

文件權(quán)限問題

現(xiàn)象

Windows的文件的cygwin下沒有權(quán)限:

$ rm foo.txterror: open("foo.txt"): Permission deniederror: unable to index file foo.txt$ ll foo.txt----------+ 1 Jerry None 486 Dec 24 14:16 foo.txt

文件的權(quán)限顯示的是----------+,沒有讀寫的權(quán)限。

解決方法

編輯/etc/fstab,在末尾加上下面的一行:

none /cygdrive cygdrive binary,noacl,posix=0,user 0 0

關(guān)閉所有cygwin進程,再重啟cygwin命令行。

顯示文件權(quán)限已經(jīng)正常-rw-r--r--

$ ll foo.txt-rw-r--r-- 1 Jerry None 486 Dec 24 14:16 foo.txt

注意! 如果改了/etc/fstab但是沒有生效,可以重啟一下機器!

參考資料: cygwin sets file permission to 000

Windows命令的亂碼

Windows命令的輸出中文亂碼,原因是Windows命令輸出的編碼是GBK。cygwin控制臺mintty的編碼缺省是UTF-8。mintty的選項的【Text】把編碼改成GBK即可。

參見:本文“文本配置:字體、編碼”一節(jié)的截圖。

命令窗口設(shè)置:字體、右鍵粘貼等等

這些設(shè)置對使用的舒適度至關(guān)重要。

cygwin的執(zhí)行文件是mintty.exe,在命令窗口的標題的右鍵菜單上有【options】項,有這些配置項。

外觀

配置光標顯示、窗體透明。

文本配置:字體、編碼

配置顯示字體。

我喜歡用Consolas字體,這是Windows上一款質(zhì)量很高的等寬字體。

右鍵粘貼配置

配置右鍵用于粘貼,缺省是彈出菜單。這個配置很方便!

效果圖

展示了ls、grep輸出的彩色顯示,容器的字體效果。

vi的語法高亮就不再截圖了。

一些最佳實踐

把命令行輸出放在系統(tǒng)剪貼板上

后記

之前對cygwin這種適配的做法有偏見,覺得做得不會好。其實有了一個好點子,又有為之努力的人在,就會越來越好,從“丑小鴨”變成驚艷的“天鵝”。

謝謝這些為之不懈努力的人!

有了cygwin,讓我對MacBook Pro的需求程度降低了,在Windows上還可以再呆一下子。 :)

OS作為一個工作環(huán)境,幫我方便的完成要做的事,關(guān)注點是:

  • 方便的大量的軟件。Windows這一點太強。
  • 高質(zhì)量的UI。Linux這一點太差。
  • 程序員要的舒適的命令行環(huán)境。Windows的cmd太弱,有了cygwin可頂一下。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
cygwin使用心得
[cygwin]cygwin常用命令及find命令說明
1.3.3. Windows下安裝和使用Git(Cygwin篇)
doubango IMS 協(xié)議棧編譯
Cygwin系列(六):使用Cygwin常見問題及應(yīng)對 | silaoA的博客
Cygwin使用指南
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服