Ubuntu美化+安装软件
安装软件
g++
sudo apt install g++
curl
sudo apt install curl
git
sudo apt install git
Vim
sudo apt install vim
VSCode
https://code.visualstudio.com/Download
找到下载文件夹,有一个code***.deb
文件
sudo dpkg -i code***.deb
一些小小的个人设置
- 自动保存
搜索
Auto Save
设置为afterDelay
- 更改VSCode顶部样式
搜索
window.titlebarstyle
, 修改为custom
WPS
https://www.wps.cn/product/wpslinux 选择deb的X64
找到下载文件夹,有一个wps***.deb
文件
sudo dpkg -i wps***.deb
安装完之后WPS提示缺失字体"Symbol、Wingdings、Wingdings 2…"
解决办法
1. 下载缺少的字体:链接: https://pan.baidu.com/s/1i5dzB9r 密码: pwe1
2. sudo unzip wps_symbol_fonts.zip -d /usr/share/fonts/wps-office
3. 重启WPS
参考: https://www.cnblogs.com/EasonJim/p/7146587.html
firefox插件
- 暴力猴
https://greasyfork.org/zh-CN
在这个网站上添加暴力猴的插件,如:
https://greasyfork.org/zh-CN/scripts/378351-csdngreener-csdn%E5%B9%BF%E5%91%8A%E5%AE%8C%E5%85%A8%E8%BF%87%E6%BB%A4-%E5%85%8D%E7%99%BB%E5%BD%95-%E4%B8%AA%E6%80%A7%E5%8C%96%E6%8E%92%E7%89%88-%E6%9C%80%E5%BC%BA%E8%80%81%E7%89%8C%E8%84%9A%E6%9C%AC-%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0https://greasyfork.org/zh-CN/scripts/460743-%E5%B1%8F%E8%94%BD%E5%B9%BF%E5%91%8A-%E5%B1%8F%E8%94%BD%E8%B0%B7%E6%AD%8C%E5%B9%BF%E5%91%8A-%E7%99%BE%E5%BA%A6%E5%B9%BF%E5%91%8A-%E7%9F%A5%E4%B9%8E%E5%B9%BF%E5%91%8A-%E9%9A%90%E8%97%8F%E8%B0%B7%E6%AD%8C%E5%92%8C%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2%E5%A2%9E%E5%BC%BA%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C%E7%9A%84%E5%90%84%E7%A7%8D%E5%B9%BF%E5%91%8A%E7%AD%89%E7%AD%89-%E8%BF%87%E6%BB%A4%E6%89%80%E6%9C%89%E9%87%87%E7%94%A8%E8%B0%B7%E6%AD%8C%E8%81%94%E7%9B%9F%E5%92%8C%E7%99%BE%E5%BA%A6%E8%81%94%E7%9B%9F%E7%AD%89%E5%B9%BF%E5%91%8A%E8%81%94%E7%9B%9F%E7%9A%84%E5%B9%BF%E5%91%8A
https://greasyfork.org/zh-CN/scripts/419081-%E7%9F%A5%E4%B9%8E%E5%A2%9E%E5%BC%BA
美化终端
zsh
sudo apt install zsh
安装ohmyzsh
wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh
sh install.sh
记得删除
install.sh
安装ohmyzsh插件
语法高亮插件 zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
自动补全插件 zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
以上两个插件需要在
.zshrc
中添加zsh-syntax-highlighting
和zsh-autosuggestions
美化zsh终端
安装powerlevel10k主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
安装powerlevel10k
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
编辑 ~/.zshrc
设置 ZSH_THEME="powerlevel10k/powerlevel10k"
再增加一行配置: POWERLEVEL9K_MODE="awesome-patched"
注意这里有一个问题:字体图标不显示,要解决这个问题需要安装
nerd font
git clone https://github.com/ryanoasis/nerd-fonts.git --depth 1
cd nerd-fonts
./install.sh
配置字体:在终端中设置为nerd
的字体:这里选择"OverpassM Nerd Font"
来保证图标的对齐
想要更改成自己喜欢的样式,可以采用p10k configure
来更改,也可以采用 https://github.com/romkatv/powerlevel10k 官网上提供的方式自己折腾
VSCode终端
当安装完所有的插件之后,终端会有乱码的情况,这时需要在VSCode中settings.json
添加"terminal.integrated.fontFamily": "OverpassM Nerd Font",
为了保险起见,又将本地的.local/share/fonts
中的字体全部都复制到了/usr/local/share/font
中
sudo cp -r .local/share/fonts/* /usr/local/share/fonts
美化VIM
- 安装Vim-plug
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- 更改vim的配置文件
set number
syntax on
let g:mapleader=";"
set ruler
set nocompatible
set mouse=a
set scrolloff=8"自动重加载
set autoread"设置折叠
set fdm=marker"设置TAB和缩进宽度
set tabstop=4
set shiftwidth=4"修改后自动加载vimrc
autocmd! bufwritepost .vimrc source %
autocmd! bufwritepost vimrc source %"命令补全与提示
set wildmenu
set wildmode=full"设置默认剪切板
set clipboard=unnamedplus
let g:clipboard = {\ 'name': 'SystemClipboard',\ 'copy': {\ '+': 'xclip -i -selection clipboard',\ '*': 'xclip -i -selection clipboard',\ },\ 'paste': {\ '+': 'xclip -o -selection clipboard',\ '*': 'xclip -o -selection clipboard',\ },\ 'cache_enabled': 1,\ }"设置退格功能
set backspace=2"设置编码
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set fileencoding=utf-8
set termencoding=utf-8
set encoding=utf-8"光标形状
let &t_SI.="\e[5 q" "插入模式光标
let &t_SR.="\e[4 q" "替换模式光标
let &t_EI.="\e[1 q" "正常模式光标"安装的插件
call plug#begin('~/.vim/my_plugins/')"快速补全HTML
Plug 'mattn/emmet-vim'"NERD注释
Plug 'scrooloose/nerdcommenter'"Solarize主题
Plug 'altercation/vim-colors-solarized'"gruvbox主题
Plug 'morhetz/gruvbox'"NERDTree 文件管理
Plug 'scrooloose/nerdtree'"C/C++高亮增强
Plug 'octol/vim-cpp-enhanced-highlight'"自由编写
Plug 'junegunn/goyo.vim'
Plug 'amix/vim-zenroom2'"美化状态栏
Plug 'vim-airline/vim-airline'"大项目模糊查找
Plug 'kien/ctrlp.vim'"括号补全
Plug 'Raimondi/delimitMate'"显示缩进
Plug 'Yggdroot/indentLine'"单词下划线
"Plug 'itchyny/vim-cursorword'"快速符号包围
Plug 'tpope/vim-surround'"异步语法检查
Plug 'dense-analysis/ale'"代码大纲
Plug 'majutsushi/tagbar'"自动补全
Plug 'neoclide/coc.nvim', {'branch': 'release'}"MarkDown
Plug 'godlygeek/tabular'
Plug 'plasticboy/vim-markdown'
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() } }call plug#end()"多光标
nmap <silent> <C-c> <Plug>(coc-cursors-position)
nmap <silent> <C-d> <Plug>(coc-cursors-word)
xmap <silent> <C-d> <Plug>(coc-cursors-range)
" use normal command like `<leader>xi(`
nmap <leader>x <Plug>(coc-cursors-operator)"设置主题
set background=dark
colorscheme gruvbox
hi Normal guibg=NONE ctermbg=NONE"MarkDown 设置
let g:vim_markdown_frontmatter = 1
let g:mkdp_auto_start = 1
let g:vim_markdown_folding_disabled = 1"自动补全设置
" function! s:check_back_space() abort
" let col = col('.') - 1
" return !col || getline('.')[col - 1] =~# '\s'
" endfunction" inoremap <silent><expr> <TAB>
" \ pumvisible() ? coc#_select_confirm() :
" \ coc#expandableOrJumpable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" :
" \ <SID>check_back_space() ? "\<TAB>" :
" \ coc#refresh()" let g:coc_snippet_next = '<tab>'" nmap <leader>rn <Plug>(coc-rename)
set signcolumn=number " 在行号的位置提醒错误" 配置tab和shift tab对候选词进行选取" <TAB> to select candidate forward or
" pump completion candidate
" 使用tab键向下选择自动补全的候选词
inoremap <silent><expr> <TAB>\ coc#pum#visible() ? coc#pum#next(1) :\ CheckBackspace() ? "\<Tab>" :\ coc#refresh()
" <s-TAB> to select candidate backward
" 使用shift+tab向上选择自动补全的候选词
inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"" Make <CR> to accept selected completion item or notify coc.nvim to format
" <C-g>u breaks current undo, please make your own choice.
" 按回车键确认我们所选择的候选词
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm()\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"function! CheckBackspace() abortlet col = col('.') - 1return !col || getline('.')[col - 1] =~# '\s'
endfunction"语法检查设置
let g:ale_fix_on_save = 1
let g:ale_lint_on_insert_leave = 1
let g:ale_linters = {
\ 'c++': ['gcc'],
\ 'c': ['gcc'],
\ 'python': ['pylint'],
\}
let g:ale_sign_column_always = 1
let g:ale_set_highlights = 1
let g:ale_sign_error = 'E'
let g:ale_sign_warning = 'W'"C/C++函数/类高亮
let g:cpp_class_scope_highlight = 1
let g:cpp_member_variable_highlight = 1
let g:cpp_class_decl_highlight = 1
let g:cpp_experimental_simple_template_highlight = 1
let g:cpp_concepts_highlight = 1
let c_no_curly_error=1"缩进设置
set cindent"按键映射----------------------------------------------------------------------"取消高亮
nnoremap <Leader><CR> :noh<CR>"语法检查映射
nnoremap <C-n> :ALENextWrap<CR>
nnoremap <C-m> :ALEPreviousWrap<CR>
nnoremap <Leader>d :ALEDetail<CR>"函数跳转
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)"重命名
nmap <leader>rn <Plug>(coc-rename)"挂起代码大纲
nnoremap <F8> :TagbarToggle<CR>"窗口切换
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l"标签管理
map <leader>tn :tabnew<cr>
map <leader>h gT
map <leader>l gt"符号包围
vnoremap (( <esc>`>a)<esc>`<i(<esc>
vnoremap << <esc>`>a><esc>`<i<<esc>
vnoremap [[ <esc>`>a]<esc>`<i[<esc>
vnoremap {{ <esc>`>a}<esc>`<i{<esc>
vnoremap "" <esc>`>a"<esc>`<i"<esc>
vnoremap '' <esc>`>a'<esc>`<i'<esc>
vnoremap `` <esc>`>a"<esc>`<i"<esc>"可视化查找
vmap / y/<C-R>"<CR>
vmap ? y/<C-R>"<CR>
xnoremap * :<C-u>call <SID>VSetSearch('/')<CR>/<C-R>=@/<CR><CR>
xnoremap # :<C-u>call <SID>VSetSearch('?')<CR>?<C-R>=@/<CR><CR>function! s:VSetSearch(cmdtype)let temp = @snorm! gv"sylet @/ = '\V' . substitute(escape(@s, a:cmdtype.'\'), '\n', '\\n', 'g') let @s = temp
endfunction"NERDTree
map <leader>nn :NERDTreeToggle<cr>
map <leader>nb :NERDTreeFromBookmark
map <leader>nf :NERDTreeFind<cr>"Zenroom
nnoremap <silent> <leader>z :Goyo<cr>"MarkDown
nmap <m-s> <Plug>MarkdownPreviewStop
nmap <m-p> <Plug>MarkdownPreview
nmap <m-t> <Plug>MarkdownPreviewToggle"ESC映射
inoremap jj <esc>
cnoremap jj <esc>"终端快速跳转
tnoremap <C-h> <C-w>h
tnoremap <C-j> <C-w>j
tnoremap <C-k> <C-w>k
tnoremap <C-l> <C-w>l"终端结束
tnoremap :q<CR> exit<CR>
但是这里需要nodejs
的依赖才能使用coc
插件
- 安装NodeJs
参考: https://blog.csdn.net/darkwindzzh/article/details/82192704
-
找到官网: https://nodejs.cn/download/
-
下载长期支持版本: 20.14.0 ,并选择
Linux 二进制文件 (x64)
-
解压
tar -xvf node-v20.14.0-linux-x64.tar.xz
- 重命名
mv node-v20.14.0-linux-x64 nodejs
- 移动至软件目录
opt
sudo mv nodejs /opt
- 添加环境变量
- 修改/etc/profile文件 增加以下内容:
#SET PATH FOR NODEJS
export NODE_HOME=/opt/nodejs
export PATH= N O D E H O M E / b i n : NODE_HOME/bin: NODEHOME/bin:PATH
修改开机启动项
进入/etc/default/grub
文件
sudo vim /etc/default/grub
修改GRUB_DEFAULT
的默认值,原来是0,表示Ubuntu系统,若需要修改为Windows,则需要将数字修改为开机时Windows所在的位置,修改完之后执行以下命令
sudo update-grup