打包资源传送门

获取更多内容,请访问博主的个人博客 爱吃猫的小鱼干的Blog

更新

macOS Catalina终端默认为zsh,以下第三节开始的配置会遇到无法应用的问题,解决方案有两种:

  • 切换为bash:系统偏好设置 -> 用户与群组 -> 点击左下角小黄锁图标,以解锁允许设置 -> 在左侧列表单击你的用户名,出现"高级选项" -> 打开高级选项,在login shell一栏选择/bin/Bash -> 应用修改。
  • 使用zsh应用下列配置(由于zsh与bash差异较大,该方法配置过程可能遇到其它问题):在终端依次执行下列指令
cd ~
touch .zshrc
open .zshrc
在打开的.zshrc中添加source .bash_profile

一 默认设置的缺陷

Mac终端默认风格为Basic,白底黑字(黑暗模式下黑底白字)。导致输入很多命令后,想要寻找之前的命令提示行瞅瞎眼。

这里记录了终端个性化配色的设置过程,从偏好设置开始,到自定义命令提示行颜色,自定义不同文件按类别显示颜色和自定义vim编辑器配色。

二 终端偏好设置

打开终端,快捷键command + , 打开,或者菜单 “终端” – >“偏好设置” -> “描述文件”,打开如下设置窗口:

选择了Pro主题,并修改了一些默认配置:

  1. 字体为SF Mono,大小调整为14号。

  2. 文本不使用粗体,而使用粗体高亮。

  3. ANSI颜色,单击任一颜色可以打开调色板,修改了蓝色(明亮)的RGB等(不然之后文件夹显示颜色为默认蓝色,在黑色背景下难以看清)。

  4. 光标勾选了闪动,方便看清光标位置。

三 命令提示行设置

3.1 实现个性化配置

先展示效果,清爽的命令提示行>_<,当前文件夹用红色突出显示:

打包资源传送门,但建议一步步自己配置。

配置过程如下:

  1. 按顺序输入上图命令,返回用户目录,显示所有文件(包括隐藏文件)。
$ cd ~
$ ls -ah
  1. 可以看到,博主已经有了一个 .bash_profile文件,它的作用是设置一些环境变量,当用户登录时,该文件仅仅执行一次!如果系统默认有该文件,那我们之后的操作都追加在原有内容之后,如果没有,就要自己创建了。
  2. 输入如下指令,进入vim编辑器后按“i”进入插入模式。(还没习惯在vim编辑的话,可以接着按ESC :wq!保存退出,然后输入指令open .bash_profile在Mac自带的文本编辑里操作)。
$ vim .bash_profile退出vim后
$ open .bash_profile
  1. 把下面ANSI转码控制的颜色配置粘贴到.bash_profile文件中,先实现效果,具体原理下一节说明。
export PS1='\[\033[01;32;01m\]\h:\[\033[01;31;01m\]\W \[\033[01;32;01m\]\u$\[\033[01;00;00m\] '   # 终端命令提示行格式及颜色
  1. 退出(command + q)重启Terminal就可以看到和博主一样的命令提示行配色了,(这里配置了背景透明,万一终端背景色发生了变化,也不会在命令提示行出现一个尴尬的底色)。

3.2 配置的原理

  • Mac中的一个重要的配置文件:

    • /etc/profile:每个用户登录时都会运行的环境变量设置。
    • ~/.bash_profile:专用于某个用户自己使用的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,它设置一些环境变量。
  • 要修改命令行提示符,我们通过环境变量PS1来达到目的(正如我们在3.1中所做的那样,PS1=……)。

    • 命令列表的参数,这些参数可以在我们上面配置的环境变量中找到。
参数 作用
\u 显示当前用户的用户名(user name)
\h 显示主机名(host name)
\W 显示当前工作目录的名字(work directory)
$ 显示$符作为提示符,如果用户是root的话,则显示#号
  • 我们来查看一下当前的PS1,就能理解上面的参数了,输入如下指令$echo echo $PS1,注意,这里要在我们还没有按照3.1修改.bash_profile时的情况下操作(注释掉个性化修改),不然输出的结果就是我们修改的内容:
localhost:~ lemon$ $echo echo $PS1Mac默认配置输出的结果是:
\h:\W \u\$
带代表Mac默认的终端命令提示行格式是:
主机名:目录 用户名$
  • 从默认的PS1输出看到,是没有文本颜色配置的。而文本终端的颜色可以使用“ANSI非常规字符序列”来生成,(正如3.1中 [\033[01;32;40m]\h等)。

    • [ 和 ] 序列被用来封装这些非打印字符。
    • 一个 ANSI 转义编码以一个八进制033(这个编码是由 退出按键产生的)开头。
    • 其后跟着一个可选的字符属性(00:正常、01:黑体、04:下划线、05:闪烁、07:反转前景背景色)
    • 最后是一个指令。前景色;背景色。
'\[\033[01;32;01m\]\h'
意思就是:
'\[这是一个ANSI编码[正常;前景色绿色;背景色透明 结束ANSI序列\]用户名'
字符序列 作用
[、] 封装这些非打印字符
\033 引导非常规字符序列
字符属性:00,01,04,05,07 正常,黑提,下划线,闪烁,反转前景背景色
m 设置属性,然后结束非常规字符序列

这里,给出大家一些颜色序列,可以修改3.1中的配色方案,设置自己喜欢的颜色。替换字符属性、前景色、背景色对应位置的字符即可。

前景色 字符属性为00 字符属性为01
30 黑色 深灰
31 红色 浅红
32 绿色 浅绿
33 棕色 黄色
34 蓝色 浅蓝
35 粉色 浅粉
36 青色 浅青
37 浅灰 白色
背景色 字符属性为00 背景色 字符属性为01
40 黑色 44 蓝色
41 红色 45 粉色
42 绿色 46 青色
43 棕色 47 浅灰

四 不同文件类型显示颜色配置

打包资源传送门,但建议一步步自己配置。

同样是在打开的.bash_profile文件中,粘贴下面的配置:

export CLICOLOR='Yes' # 是否输出颜色
# export LS_OPTIONS='--color=auto'  # 不同文件类型颜色配置,自动选择颜色
export LSCOLORS='ExGxFxdaCxDaDahbadacec' # 指定颜色,Linux配色方案

这里完全沿用了Linux的配色方案,

颜色 文件类型
蓝色 文件夹
绿色 可执行文件
白色 普通文件
青色 链接文件

想要修改配色方案的话需要修改上述文件中的 LSCOLORS 变量。该变量由22个字符组成,每2个一组,分别代表一种文件类型的前景色和背景色。
这11种文件类型按顺序分别为:

'
Directory
Symbolic Link
Socket
Pipe
Executable
Block Special
Character Special
Executable with Setuid Bit Set
Executable with Setgid Bit Set
Directory Writable to Others, with Sticky Bit
Directory Writable to Others, without Sticky Bit
'

颜色字符为:

字符 颜色 字符 颜色
a 黑色 A 粗体黑色
b 红色 B 粗体红色
c 绿色 C 粗体绿色
d 棕色 D 粗体棕色
e 蓝色 E 粗体蓝色
f 洋红 F 粗体洋红
g 青色 G 粗体青色
h 浅灰 H 粗体浅灰
x 默认颜色

五 vim配色

打包资源传送门,但建议一步步自己配置。

Mac默认的vim配色也是黑底白字,没有任何高亮,需要我们自行配置,这里配置vim人气超高的molokai配色方案。先上效果:

  1. 进入主目录下的.vim文件夹
$ cd ~/.vim
  1. 如果没有.vim文件夹,则在主目录下创建.vim
$ cd ~
$ mkdir .vim
$ cd .vim
  1. 下载molokai配色方案(没有git命令的话,手动去下面链接下载,把colors文件夹放到.vim文件夹下)
$ git clone https://github.com/tomasr/molokai.git
$ cp -r molokai/colors ./
  1. 检查一下,colors文件夹(里面有molokai)是否在.vim文件夹下,一般都是这个问题。
  2. 回到主目录,创建.vimrc文件。
$ cd ~
$ vim .vimrc
  1. 将下面内容粘贴到.vimrc中,第三行colorscheme molokai即选择配色方案。保存并退出(ESC :wq!)
set nocompatible " 关闭 vi 兼容模式
syntax on " 自动语法高亮colorscheme molokai " 设定配色方案
set number " 显示行号
set cursorline " 突出显示当前行
set ruler " 打开状态栏标尺
set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4
set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格
set tabstop=4 " 设定 tab 长度为 4
set nobackup " 覆盖文件时不备份
set autochdir " 自动切换当前目录为当前文件所在的目录
filetype plugin indent on " 开启插件
set backupcopy=yes " 设置备份时的行为为覆盖
set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nowrapscan " 禁止在搜索到文件两端时重新搜索
set incsearch " 输入搜索内容时就显示搜索结果
set hlsearch " 搜索时高亮显示被找到的文本
set noerrorbells " 关闭错误信息响铃
set novisualbell " 关闭使用可视响铃代替呼叫
set t_vb= " 置空错误铃声的终端代码
" set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
" set matchtime=2 " 短暂跳转到匹配括号的时间
set magic " 设置魔术
set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set smartindent " 开启新行时使用智能自动缩进
set backspace=indent,eol,start
" 不设定在插入状态无法用退格键和 Delete 键删除回车符
set cmdheight=1 " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
" 设置在状态行显示的信息
set foldenable " 开始折叠
set foldmethod=syntax " 设置语法折叠
set foldcolumn=0 " 设置折叠区域的宽度
setlocal foldlevel=1 " 设置折叠层数为
" set foldclose=all " 设置为自动关闭折叠
" nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" 用空格键来开关折叠" return OS type, eg: windows, or linux, mac, et.st..
function! MySys()
if has("win16") || has("win32") || has("win64") || has("win95")
return "windows"
elseif has("unix")
return "linux"
endif
endfunction" 用户目录变量$VIMFILES
if MySys() == "windows"
let $VIMFILES = $VIM.'/vimfiles'
elseif MySys() == "linux"
let $VIMFILES = $HOME.'/.vim'
endif" 设定doc文档目录
let helptags=$VIMFILES.'/doc'" 设置字体 以及中文支持
if has("win32")
set guifont=Inconsolata:h12:cANSI
endif" 配置多语言环境
if has("multi_byte")
" UTF-8 编码
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbkif v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
set ambiwidth=double
endifif has("win32")
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif" Buffers操作快捷方式!
nnoremap <C-RETURN> :bnext<CR>
nnoremap <C-S-RETURN> :bprevious<CR>" Tab操作快捷方式!
nnoremap <C-TAB> :tabnext<CR>
nnoremap <C-S-TAB> :tabprev<CR>"关于tab的快捷键
" map tn :tabnext<cr>
" map tp :tabprevious<cr>
" map td :tabnew .<cr>
" map te :tabedit
" map tc :tabclose<cr>"窗口分割时,进行切换的按键热键需要连接两次,比如从下方窗口移动
"光标到上方窗口,需要<c-w><c-w>k,非常麻烦,现在重映射为<c-k>,切换的
"时候会变得非常方便.
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l"一些不错的映射转换语法(如果在一个文件中混合了不同语言时有用)
nnoremap <leader>1 :set filetype=xhtml<CR>
nnoremap <leader>2 :set filetype=css<CR>
nnoremap <leader>3 :set filetype=javascript<CR>
nnoremap <leader>4 :set filetype=php<CR>" set fileformats=unix,dos,mac
" nmap <leader>fd :se fileformat=dos<CR>
" nmap <leader>fu :se fileformat=unix<CR>" use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the result
" map <C-x>l <ESC>:cl<CR>
" map <C-x>n <ESC>:cn<CR>
" map <C-x>p <ESC>:cp<CR>
" map <C-x>c <ESC>:cc<CR>" 让 Tohtml 产生有 CSS 语法的 html
" syntax/2html.vim,可以用:runtime! syntax/2html.vim
let html_use_css=1" Python 文件的一般设置,比如不要 tab 等
autocmd FileType python set tabstop=4 shiftwidth=4 expandtab
autocmd FileType python map <F12> :!python %<CR>" 选中状态下 Ctrl+c 复制
vmap <C-c> "+y" 打开javascript折叠
let b:javascript_fold=1
" 打开javascript对dom、html和css的支持
let javascript_enable_domhtmlcss=1
" 设置字典 ~/.vim/dict/文件的路径
autocmd filetype javascript set dictionary=$VIMFILES/dict/javascript.dict
autocmd filetype css set dictionary=$VIMFILES/dict/css.dict
autocmd filetype php set dictionary=$VIMFILES/dict/php.dict"-----------------------------------------------------------------
" plugin - bufexplorer.vim Buffers切换
" \be 全屏方式查看全部打开的文件列表
" \bv 左右方式查看 \bs 上下方式查看
"-----------------------------------------------------------------"-----------------------------------------------------------------
" plugin - taglist.vim 查看函数列表,需要ctags程序
" F4 打开隐藏taglist窗口
"-----------------------------------------------------------------
if MySys() == "windows" " 设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = '"'.$VIMRUNTIME.'/ctags.exe"'
elseif MySys() == "linux" " 设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif
nnoremap <silent><F4> :TlistToggle<CR>
let Tlist_Show_One_File = 1 " 不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 " 如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 " 在右侧窗口中显示taglist窗口
let Tlist_File_Fold_Auto_Close=1 " 自动折叠当前非编辑文件的方法列表
let Tlist_Auto_Open = 0
let Tlist_Auto_Update = 1
let Tlist_Hightlight_Tag_On_BufEnter = 1
let Tlist_Enable_Fold_Column = 0
let Tlist_Process_File_Always = 1
let Tlist_Display_Prototype = 0
let Tlist_Compact_Format = 1"-----------------------------------------------------------------
" plugin - mark.vim 给各种tags标记不同的颜色,便于观看调式的插件。
" \m mark or unmark the word under (or before) the cursor
" \r manually input a regular expression. 用于搜索.
" \n clear this mark (i.e. the mark under the cursor), or clear all highlighted marks .
" \* 当前MarkWord的下一个 \# 当前MarkWord的上一个
" \/ 所有MarkWords的下一个 \? 所有MarkWords的上一个
"-----------------------------------------------------------------"-----------------------------------------------------------------
" plugin - NERD_tree.vim 以树状方式浏览系统中的文件和目录
" :ERDtree 打开NERD_tree :NERDtreeClose 关闭NERD_tree
" o 打开关闭文件或者目录 t 在标签页中打开
" T 在后台标签页中打开 ! 执行此文件
" p 到上层目录 P 到根目录
" K 到第一个节点 J 到最后一个节点
" u 打开上层目录 m 显示文件系统菜单(添加、删除、移动操作)
" r 递归刷新当前目录 R 递归刷新当前根目录
"-----------------------------------------------------------------
" F3 NERDTree 切换
map <F3> :NERDTreeToggle<CR>
imap <F3> <ESC>:NERDTreeToggle<CR>"-----------------------------------------------------------------
" plugin - NERD_commenter.vim 注释代码用的,
" [count],cc 光标以下count行逐行添加注释(7,cc)
" [count],cu 光标以下count行逐行取消注释(7,cu)
" [count],cm 光标以下count行尝试添加块注释(7,cm)
" ,cA 在行尾插入 ,并且进入插入模式。 这个命令方便写注释。
" 注:count参数可选,无则默认为选中行或当前行
"-----------------------------------------------------------------
let NERDSpaceDelims=1 " 让注释符与语句之间留一个空格
let NERDCompactSexyComs=1 " 多行注释时样子更好看"-----------------------------------------------------------------
" plugin - DoxygenToolkit.vim 由注释生成文档,并且能够快速生成函数标准注释
"-----------------------------------------------------------------
let g:DoxygenToolkit_authorName="Asins - asinsimple AT gmail DOT com"
let g:DoxygenToolkit_briefTag_funcName="yes"
map <leader>da :DoxAuthor<CR>
map <leader>df :Dox<CR>
map <leader>db :DoxBlock<CR>
map <leader>dc a <LEFT><LEFT><LEFT>"-----------------------------------------------------------------
" plugin – ZenCoding.vim 很酷的插件,HTML代码生成
" 插件最新版:http://github.com/mattn/zencoding-vim
" 常用命令可看:http://nootn.com/blog/Tool/23/
"-----------------------------------------------------------------"-----------------------------------------------------------------
" plugin – checksyntax.vim JavaScript常见语法错误检查
" 默认快捷方式为 F5
"-----------------------------------------------------------------
let g:checksyntax_auto = 0 " 不自动检查"-----------------------------------------------------------------
" plugin - NeoComplCache.vim 自动补全插件
"-----------------------------------------------------------------
let g:AutoComplPop_NotEnableAtStartup = 1
let g:NeoComplCache_EnableAtStartup = 1
let g:NeoComplCache_SmartCase = 1
let g:NeoComplCache_TagsAutoUpdate = 1
let g:NeoComplCache_EnableInfo = 1
let g:NeoComplCache_EnableCamelCaseCompletion = 1
let g:NeoComplCache_MinSyntaxLength = 3
let g:NeoComplCache_EnableSkipCompletion = 1
let g:NeoComplCache_SkipInputTime = '0.5'
let g:NeoComplCache_SnippetsDir = $VIMFILES.'/snippets'
" <TAB> completion.
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
" snippets expand key
imap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)
smap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)"-----------------------------------------------------------------
" plugin - matchit.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
" % 正向匹配 g% 反向匹配
" [% 定位块首 ]% 定位块尾
"-----------------------------------------------------------------"-----------------------------------------------------------------
" plugin - vcscommand.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
" SVN/git管理工具
"-----------------------------------------------------------------"-----------------------------------------------------------------
" plugin – a.vim
"-----------------------------------------------------------------

获取更多内容,请访问博主的个人博客 爱吃猫的小鱼干的Blog

参考文献

https://www.cnblogs.com/RyanJin/p/10066389.html
https://www.cnblogs.com/puyangsky/p/5442153.html

【Mac】超详细的个性化终端(Terminal)颜色及vim颜色配置相关推荐

  1. Mac -- zsh-最新全网超详细的个性化终端(Terminal)颜色及vim颜色配置

    目录 更新 macOS Catalina终端默认为zsh,以下第三节开始的配置会遇到无法应用的问题,解决方案有两种: 一: 默认设置的缺陷 二:Terminal偏好设置  -- 以任意方式打开终端 ...

  2. Mac -- zsh-最新全网超详细的个性化终端(Terminal)颜色及vim颜色配置(亲测可行)

    macOS Catalina终端默认为zsh,以下第三节开始的配置会遇到无法应用的问题,解决方案有两种: 切换为bash:系统偏好设置 -> 用户与群组 -> 点击左下角小黄锁图标,以解锁 ...

  3. linux 修改用户登陆shell字体颜色和vim颜色字体设置

    参考链接:https://blog.csdn.net/bt517840374/article/details/80004161 一.关于shell颜色设置 (当然也可以通过shell窗口的设置来设置字 ...

  4. Mac 超详细入门指南,收藏了!

    本文来源于:果粉学习乐园 这是写给 Mac 小白看的!重要的事要先说.对于使用 Mac 有一定经验的童鞋,请出门左拐,下面的东西是你不屑的. 在拿到自己心爱的第一台 Mac 并第一次使用它之前,你需要 ...

  5. 【超详细】开源JZVideo饺子播放器播放器配置使用以及其自定义

    文章目录 特点 配置 添加依赖 添加布局 添加逻辑 修改AndroidManifest.xml 小问题 展示图 自定义 自定义UI 编写自定义类 重新应用控件 应用 总结 参考链接 继续找播放器,找到 ...

  6. 超详细:Springboot连接centos7下redis6的必要配置和失败分析

    问题描述: 今天使用springboot的时候,想要整合本地虚拟机上的redis做下测试,却怎么都连不上redis 解决方案: 1.确定你的虚拟机网络已经联网了,如果是租的阿里云百度云一类的ESC服务 ...

  7. 超详细MySQL(免安装版)安装与配置

    文章目录 一.MySQL下载 二.安装配置MySQL 三.配置MySQL环境变量 四.新建数据库 一.MySQL下载 首先打开MySQL官网,官网首页地址为 MySQL官网首页地址 进入官网后如下图所 ...

  8. 【超详细】C++Json:VS2015的jsoncpp库配置及简单使用

    Json Json是一种数据格式,本来是用于JavaScript的,但是因为他易读,格式明朗等原因,也被用于其他语言中. JsonCpp是一个C++的Json库,利用他我们可以进行数据传输,状态同步. ...

  9. 网络平台运行计算机终端,Terminal是什么意思?Mac如何打开终端Terminal?

    Terminal是什么意思?Terminal也就是终端,是计算机网络中最外围的设备.在MAC电脑中,我们可以通过终端Terminal完成许多的隐藏功能.鉴于很多Mac用户不知道如何打开终端Termin ...

最新文章

  1. AVL树、splay树(伸展树)和红黑树比较
  2. C++编译器Qt Creator下载地址
  3. java选择哪款eclipse_写java程序用哪一个版的eclipse比较好
  4. 海量信息存储基地落户滨海高新区
  5. UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 4..... 针对调用文件出现该错误时的解决办法
  6. C#多线程与UI响应 防止界面假死不响应(子线程创建的窗体获取消息响应用Application.DoEvent )
  7. c语言初始化字符数组为空,怎么把已经初始化的字符数组设置为空?
  8. spring mvc学习(38):Unknow tag(c:forEach)错误解决办法,jstl.jar包以及standard.jar包下载与导入
  9. win7发现不了无线网络怎么办 win7发现不了无线网络的解决办法
  10. 作者:孟磊,山东省农业信息中心助理农经师。
  11. return,continue的示例
  12. python读取图片路径f.read()转化为bytes类型
  13. 数据分析-回归-案例-波士顿房价数据集
  14. java代码实现雷达图_雷达图的一种实现! Cocos Creator !
  15. Dharma暴跌过度解读了吗?去中心化不足,模式难持续是关键
  16. 七个实用的分布式开源框架
  17. WinRAR(5.70)去广告
  18. Python-到底啥是面向对象&面向过程?
  19. python技术介绍_Python介绍
  20. 一个表中的字段值用作另一个表的In查询条件

热门文章

  1. (智慧农业,现代农业,数字农业解决方案)
  2. Java购买火车票(初识并发)
  3. 微信被爆出存在高危漏洞!(快扩散)
  4. 浪潮服务器通过DHCP获取地址进入IPMI,BMC管理后台的方法,可实现远程安装系统、温度运行状态监测、风扇转速调整、远程开关机、KVM控制台显示器等功能
  5. 常见测试用例设计之键盘
  6. IE上在线浏览PDF
  7. Docker常用命令整理
  8. 美国地质调查局DEM,需账户密码
  9. 使用计算机软件进行电视剪辑称为,后期剪辑(影视后期制作一个流程)_百度百科...
  10. 如何提升自己电脑网速