美文网首页windows
win10下wsl2(Ubuntu)搭建及docker安装、zs

win10下wsl2(Ubuntu)搭建及docker安装、zs

作者: 10xjzheng | 来源:发表于2019-08-24 13:16 被阅读0次

    1.前提条件

    • Windows 10 Build 18917或更新版本。
    • Hyper-V虚拟化。注:有些电脑需要进BIOS开启虚拟化,我公司的电脑就是。

    2. 步骤

    • 启用虚拟机平台和 Linux 子系统功能
      使用管理员权限打开Windows PowerShell
      执行以下命令启用虚拟机平台:
    Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
    

    根据提示确认是否需要重启,RestartNeeded : true 则重启。
    还是在Windows PowerShell
    执行以下命令启用子系统:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
    • 安装发行版。
      打开微软应用商店,搜索Ubuntu安装即可。
      Ubuntu应用安装后启动才会进行子系统安装。
    • 启用 WSL2
      查看安装的wsl
    wsl -l -v
    

    设置 Linux 发行版的 WSL 版本

    wsl --set-version Ubuntu  2
    

    转换完成后可以再执行wsl -l -v看看效果:

    image.png

    当然,使用以下命令可以在以后安装 Linux 的时候默认启用 WSL2:

    wsl --set-default-version 2
    

    设置Ubuntu默认用户为root

    ubuntu config --default-user root
    

    详细步骤请转https://blog.walterlv.com/post/how-to-install-wsl2.html

    2.安装docker

    切换到root用户,执行以下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
    

    安装比较久,耐心一点。

    3.美化终端

    • 安装zsh
      两个命令
    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
    

    进入~/ .zshrc修改主题为```ys``

    ZSH_THEME="ys" 
    
    • 安装高亮和自动补全命令的插件
    // 自动补齐和高亮插件
    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
    //然后对插件进行加载
    vim ~/.zshrc
    plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
    
    • 下载cmder

    将下载好的cmder_mini.zip文件放到D盘并解压,然后记住文件所在的位置,我的文件解压到D:\Program Files\cmder_mini,然后复制路径,右键点击我的电脑--属性--高级系统设置--环境变量--系统变量,点击新建,变量名设置为:CMDER_HOME,变量值直接粘贴刚才拷贝的地址,然后点击系统变量中的path,点击新建,输入%CMDER_HOME%,至此,环境变量配置完成,一路点击确定关闭即可。

    第二步添加 cmder 到右键菜单:环境变量添加后,在任意文件夹中即可打开Cmder,上一步的把 Cmder 加到环境变量就是为此服务的, win10系统下右键点击开始(屏幕左下角的图标“田”),选择Windows PowerShell(管理员),在管理员权限的终端输入以下语句即可:

    cmder.exe /REGISTER ALL
    

    可以参考https://www.zhihu.com/collection/233457118
    不给里面的cmder配置有问题,启动可以配置这个地址:

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

    可以自己设置下背景和透明度。
    好了,不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
    

    以上命令执行成功后先安装vim插件,vim ~/.vimrc,然后配置

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

    保存退出,然后vim,执行
    :source ~/.vimrc #让配置生效
    :PlugInstall # 安装插件
    安装完毕就在~/.vimrc直接贴上以下配置:

    "使用此配置文件请先用以下命令安装插件管理工具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()
    "设置编码
    set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
    set termencoding=utf-8
    set encoding=utf-8
    "显示行号
    set nu
    "突出显示当前行
    set cul
    "突出显示当前列
    "set cuc
    "显示括号匹配
    set showmatch
    "设置缩进
    "设置Tab长度为4空格 
    set tabstop=4 
    "设置自动缩进长度为4空格
    set shiftwidth=4
    "继承前一行的缩进方式,适用于多行注释
    set autoindent
    "设置粘贴模式
    set paste
    "总是显示状态栏
    set laststatus=2
    "显示光标当前位置
    set ruler
    "让vimrc配置变更立即生效
    autocmd BufWritePost $MYVIMRC source $MYVIMRC
    
    "----------------------gutentags相关配置-----------------------
    "gutentags搜索工程目录的标志,碰到这些文件/目录名就停止向上一级目录递归
    let g:gutentags_project_root = ['.root', '.svn', '.git', '.project']
    "所生成的数据文件的名称
    let g:gutentags_ctags_tagfile = '.tags'
    "将自动生成的 tags 文件全部放入 ~/.cache/tags 目录中,避免污染工程目录
    let s:vim_tags = expand('~/.cache/tags')
    let g:gutentags_cache_dir = s:vim_tags
    "检测 ~/.cache/tags 不存在就新建
    if !isdirectory(s:vim_tags) 
        silent! call mkdir(s:vim_tags, 'p') 
    endif
    " 配置 ctags 的参数
    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相关配置----------------------------
    ""将F1设置为开关NERDTree的快捷键
    nnoremap <silent> <F1> :NERDTree<CR>
    ""修改树的显示图标
    let g:NERDTreeDirArrowExpandable = '+'
    let g:NERDTreeDirArrowCollapsible = '-'
    ""窗口位置
    let g:NERDTreeWinPos='left'
    ""窗口尺寸
    let g:NERDTreeSize=30
    ""窗口是否显示行号
    let g:NERDTreeShowLineNumbers=1
    ""不显示隐藏文件
    let g:NERDTreeHidden=0
    ""打开vim时如果没有文件自动打开NERDTree
    "autocmd vimenter * if !argc() | NERDTree | endif
    ""当NERDTree为剩下的唯一窗口时自动关闭
    autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
    ""打开vim时自动打开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自动补全
    autocmd FileType php set omnifunc=phpcomplete#CompletePHP
    

    效果:


    image.png
    image.png

    相关文章

      网友评论

        本文标题:win10下wsl2(Ubuntu)搭建及docker安装、zs

        本文链接:https://www.haomeiwen.com/subject/nsbfectx.html