win10下wsl2(Ubuntu)搭建及docker安裝模孩、zsh&&cmder終端美化

1.前提條件

  • Windows 10 Build 18917或更新版本优床。
  • Hyper-V虛擬化劝赔。注:有些電腦需要進(jìn)BIOS開啟虛擬化,我公司的電腦就是胆敞。

2. 步驟

  • 啟用虛擬機(jī)平臺(tái)和 Linux 子系統(tǒng)功能
    使用管理員權(quán)限打開Windows PowerShell
    執(zhí)行以下命令啟用虛擬機(jī)平臺(tái):
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

根據(jù)提示確認(rèn)是否需要重啟着帽,RestartNeeded : true 則重啟。
還是在Windows PowerShell
執(zhí)行以下命令啟用子系統(tǒng):

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  • 安裝發(fā)行版移层。
    打開微軟應(yīng)用商店仍翰,搜索Ubuntu安裝即可。
    Ubuntu應(yīng)用安裝后啟動(dòng)才會(huì)進(jìn)行子系統(tǒng)安裝观话。
  • 啟用 WSL2
    查看安裝的wsl
wsl -l -v

設(shè)置 Linux 發(fā)行版的 WSL 版本

wsl --set-version Ubuntu  2

轉(zhuǎn)換完成后可以再執(zhí)行wsl -l -v看看效果:

image.png

當(dāng)然予借,使用以下命令可以在以后安裝 Linux 的時(shí)候默認(rèn)啟用 WSL2:

wsl --set-default-version 2

設(shè)置Ubuntu默認(rèn)用戶為root

ubuntu config --default-user root

詳細(xì)步驟請(qǐng)轉(zhuǎn)https://blog.walterlv.com/post/how-to-install-wsl2.html

2.安裝docker

切換到root用戶,執(zhí)行以下4條命令即可频蛔。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo service docker start
sudo usermod -aG docker $USER

安裝比較久灵迫,耐心一點(diǎn)。

3.美化終端

  • 安裝zsh
    兩個(gè)命令
sudo apt-get install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

在.bash_profile中啟用zsh晦溪,編輯文件瀑粥,在末尾添加:

exec zsh
source .zshrc

進(jìn)入~/ .zshrc修改主題為```ys``

ZSH_THEME="ys" 
  • 安裝高亮和自動(dòng)補(bǔ)全命令的插件
// 自動(dòng)補(bǔ)齊和高亮插件
cd "$ZSH_CUSTOM/plugins"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
git clone https://github.com/zsh-users/zsh-autosuggestions.git
//然后對(duì)插件進(jìn)行加載
vim ~/.zshrc
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
  • 下載cmder

將下載好的cmder_mini.zip文件放到D盤并解壓,然后記住文件所在的位置三圆,我的文件解壓到D:\Program Files\cmder_mini狞换,然后復(fù)制路徑,右鍵點(diǎn)擊我的電腦--屬性--高級(jí)系統(tǒng)設(shè)置--環(huán)境變量--系統(tǒng)變量舟肉,點(diǎn)擊新建修噪,變量名設(shè)置為:CMDER_HOME,變量值直接粘貼剛才拷貝的地址路媚,然后點(diǎn)擊系統(tǒng)變量中的path黄琼,點(diǎn)擊新建,輸入%CMDER_HOME%整慎,至此脏款,環(huán)境變量配置完成,一路點(diǎn)擊確定關(guān)閉即可院领。

第二步添加 cmder 到右鍵菜單:環(huán)境變量添加后,在任意文件夾中即可打開Cmder够吩,上一步的把 Cmder 加到環(huán)境變量就是為此服務(wù)的, win10系統(tǒng)下右鍵點(diǎn)擊開始(屏幕左下角的圖標(biāo)“田”)比然,選擇Windows PowerShell(管理員),在管理員權(quán)限的終端輸入以下語(yǔ)句即可:

cmder.exe /REGISTER ALL

可以參考https://www.zhihu.com/collection/233457118
不給里面的cmder配置有問(wèn)題周循,啟動(dòng)可以配置這個(gè)地址:

%windir%\system32\bash.exe ~ -c zsh -cur_console:p
image.png

可以自己設(shè)置下背景和透明度强法。
好了万俗,不bb了,直接看效果:


image.png

4. vim配置

我的配置首先要安裝plug和ctags

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
sudo apt-get install ctags

以上命令執(zhí)行成功后先安裝vim插件饮怯,vim ~/.vimrc闰歪,然后配置

call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
Plug 'ludovicchabant/vim-gutentags'
call plug#end()

保存退出,然后vim蓖墅,執(zhí)行
:source ~/.vimrc #讓配置生效
:PlugInstall # 安裝插件
安裝完畢就在~/.vimrc直接貼上以下配置:

"使用此配置文件請(qǐng)先用以下命令安裝插件管理工具plug和ctags
"curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
"sudo apt-get install ctags
"plug插件安裝
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
Plug 'ludovicchabant/vim-gutentags'
call plug#end()
"設(shè)置編碼
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
"顯示行號(hào)
set nu
"突出顯示當(dāng)前行
set cul
"突出顯示當(dāng)前列
"set cuc
"顯示括號(hào)匹配
set showmatch
"設(shè)置縮進(jìn)
"設(shè)置Tab長(zhǎng)度為4空格 
set tabstop=4 
"設(shè)置自動(dòng)縮進(jìn)長(zhǎng)度為4空格
set shiftwidth=4
"繼承前一行的縮進(jìn)方式库倘,適用于多行注釋
set autoindent
"設(shè)置粘貼模式
set paste
"總是顯示狀態(tài)欄
set laststatus=2
"顯示光標(biāo)當(dāng)前位置
set ruler
"讓vimrc配置變更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC

"----------------------gutentags相關(guān)配置-----------------------
"gutentags搜索工程目錄的標(biāo)志,碰到這些文件/目錄名就停止向上一級(jí)目錄遞歸
let g:gutentags_project_root = ['.root', '.svn', '.git', '.project']
"所生成的數(shù)據(jù)文件的名稱
let g:gutentags_ctags_tagfile = '.tags'
"將自動(dòng)生成的 tags 文件全部放入 ~/.cache/tags 目錄中论矾,避免污染工程目錄
let s:vim_tags = expand('~/.cache/tags')
let g:gutentags_cache_dir = s:vim_tags
"檢測(cè) ~/.cache/tags 不存在就新建
if !isdirectory(s:vim_tags) 
    silent! call mkdir(s:vim_tags, 'p') 
endif
" 配置 ctags 的參數(shù)
let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extra=+q']
let g:gutentags_ctags_extra_args += ['--c++-kinds=+pxI']
let g:gutentags_ctags_extra_args += ['--c-kinds=+px']

"---------------------NERDTree相關(guān)配置----------------------------
""將F1設(shè)置為開關(guān)NERDTree的快捷鍵
nnoremap <silent> <F1> :NERDTree<CR>
""修改樹的顯示圖標(biāo)
let g:NERDTreeDirArrowExpandable = '+'
let g:NERDTreeDirArrowCollapsible = '-'
""窗口位置
let g:NERDTreeWinPos='left'
""窗口尺寸
let g:NERDTreeSize=30
""窗口是否顯示行號(hào)
let g:NERDTreeShowLineNumbers=1
""不顯示隱藏文件
let g:NERDTreeHidden=0
""打開vim時(shí)如果沒有文件自動(dòng)打開NERDTree
"autocmd vimenter * if !argc() | NERDTree | endif
""當(dāng)NERDTree為剩下的唯一窗口時(shí)自動(dòng)關(guān)閉
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
""打開vim時(shí)自動(dòng)打開NERDTree
autocmd vimenter * NERDTree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif
"PHP自動(dòng)補(bǔ)全
autocmd FileType php set omnifunc=phpcomplete#CompletePHP

效果:


image.png

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末教翩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子贪壳,更是在濱河造成了極大的恐慌饱亿,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闰靴,死亡現(xiàn)場(chǎng)離奇詭異彪笼,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蚂且,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門配猫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人膘掰,你說(shuō)我怎么就攤上這事章姓。” “怎么了识埋?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵凡伊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我窒舟,道長(zhǎng)系忙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任惠豺,我火速辦了婚禮银还,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洁墙。我一直安慰自己蛹疯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布热监。 她就那樣靜靜地躺著捺弦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上列吼,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天幽崩,我揣著相機(jī)與錄音,去河邊找鬼寞钥。 笑死慌申,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的理郑。 我是一名探鬼主播蹄溉,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼香浩!你這毒婦竟也來(lái)了类缤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤邻吭,失蹤者是張志新(化名)和其女友劉穎餐弱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囱晴,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膏蚓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畸写。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驮瞧。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖枯芬,靈堂內(nèi)的尸體忽然破棺而出论笔,到底是詐尸還是另有隱情,我是刑警寧澤千所,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布狂魔,位于F島的核電站,受9級(jí)特大地震影響淫痰,放射性物質(zhì)發(fā)生泄漏最楷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一待错、第九天 我趴在偏房一處隱蔽的房頂上張望籽孙。 院中可真熱鬧,春花似錦火俄、人聲如沸犯建。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)适瓦。三九已至沟启,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間犹菇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工芽卿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留揭芍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓卸例,卻偏偏與公主長(zhǎng)得像称杨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子筷转,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容