WSL2使用(Ubuntu)
使用windows代理
运行cat /etc/resolv.conf
根据dns的ip来配置export ALL_PROXY="http://ip:7890"
配置脚本vpn.sh
#!/bin/bash
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export ALL_PROXY="http://$host_ip:7890"
source 运行该脚本即可
安装zsh美化
安装zsh:sudo apt install zsh
- 将zsh的代码clon下来:
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh - 复制.zshrc:
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc - 更改默认shell:
chsh -s /bin/zsh
打开~/.zshrc,找到ZSH_THEME="",将引号中的改成想要的主题,推荐jonathan
然后source .zshrc即可
安装python和nodejs
更新nodejs
sudo npm install n -g
sudo n stable
vim的基本配置
创建文件夹vimflies:mkdir .vimflies
进入vimfiles,创建文件夹undofile和backupfile
用vim打开.vimrc
基本配置
" -------设置
" 行号显示与相对行号
set nu
set relativenumber
" tab缩进大小为4格
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set smartindent
set termguicolors
" 光标设置
set guicursor=i:hor100-iCursor
" 高亮本行
set cursorline
" 撤销文件和备份文件的保存位置
set undodir=~/.vimfiles/undofile
set backupdir=~/.vimfiles/backupfile
" 粘贴模式的开关快捷键
map <M-p> :set paste<CR>
map <M-S-p> :set nopaste<CR>
" 设置换行的宽度
set nowrap
map <M-w> :set wrap<CR>
map <M-S-w> :set nowrap<CR>
" 菜单乱码问题
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
安装插件
运行
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
打开.vimrc
将这些粘贴到最后
call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'mhinz/vim-startify'
Plug 'Yggdroot/indentLine'
Plug 'preservim/nerdtree'
Plug 'crusoexia/vim-monokai'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()
保存过后运行PlugInstall
coc.nvim配置c++补全
依次运行
sudo npm install -g yarn
cd ~/.vim/plugged/coc.nvim/
yarn install
yarn build
安装clangd
sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install clangd --classic
打开vim,运行:
:CocInstall coc-clangd
我的配置文件
"====================================
"=== Basic setting for vim use ===
"====================================
" 行号显示与相对行号
set nu
set relativenumber
" tab缩进大小为4格
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set smartindent
set termguicolors
" 高亮本行
set cursorline
" 粘贴模式的开关快捷键
map <M-p> :set paste<CR>
map <M-S-p> :set nopaste<CR>
" 设置换行的宽度
set nowrap
map <M-w> :set wrap<CR>
map <M-S-w> :set nowrap<CR>
" 撤销文件和备份文件的保存位置
set undodir=~/.vimfiles/undofile
set backupdir=~/.vimfiles/backupfile
" 光标设置
let &t_SI.="\e[5 q"
let &t_SR.="\e[3 q"
let &t_EI.="\e[1 q"
autocmd VimEnter * silent !echo -ne "\e[1 q"
autocmd VimLeave * silent !echo -ne "\e[5 q"
" 输入命令时Tab显示
set wildmenu
" insert模式下的移动
imap <C-l> <Right>
" leader
let mapleader = "\<space>"
" acm
source ~/.vimfiles/vimrcs/acm.vim
" 一键编译c++
map <F5> :w<CR>:call Run()<CR>
imap <F5> <ESC>:w<CR>:call Run()<CR>
func! Run()
if expand("%:e") == "c" || expand("%:e") == "cc" || expand("%:e") == "cxx" || expand("%:e") == "cpp"
echo " compiling..."
:! g++ "%" -o "%<" -Wall -std=c++20 && "./%<"
redraw!
echohl WarningMsg | echo " Running finish! :-)"
endif
endfunction
" 配色
colo desert
hi Normal guibg=NONE ctermbg=NONE
hi EndOfBuffer guibg=NONE ctermbg=NONE
"====================================
"=== Plug config ====================
"====================================
" ---------mhinz/vim-startify--------
let g:startify_custom_header = [
\ ' █████╗ ██████╗███╗ ███╗███████╗██████╗ ',
\ '██╔══██╗██╔════╝████╗ ████║██╔════╝██╔══██╗',
\ '███████║██║ ██╔████╔██║█████╗ ██████╔╝',
\ '██╔══██║██║ ██║╚██╔╝██║██╔══╝ ██╔══██╗',
\ '██║ ██║╚██████╗██║ ╚═╝ ██║███████╗██║ ██║',
\ '╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝',
\]
let g:startify_custom_footer = [
\ '+------------------------------+',
\ '| Keep an open mind! |',
\ '+----------------+-------------+',
\]
let g:startify_files_number = 5
let g:startify_custom_indices = map(range(1,100), 'string(v:val)')
" ---------vim-airline/vim-airline-themes--------
"set ambiwidth=double " 设置为双字宽显示,否则无法完整显示如:☆
let g:airline_theme='bubblegum' "Airline主题
let g:airline_powerline_fonts = 1
" 开启tabline
let g:airline#extensions#tabline#enabled = 1 "tabline中当前buffer两端的分隔字符
let g:airline#extensions#tabline#left_sep = ' ' "tabline中未激活buffer两端的分隔字符
let g:airline#extensions#tabline#left_alt_sep = '|' "tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1
" 映射切换buffer的键位
nnoremap [b :bp<CR>
nnoremap ]b :bn<CR>
" ---------octol/vim-cpp-enhanced-highlight--------
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_experimental_template_highlight = 1
let g:cpp_concepts_highlight = 1
" ---------neoclide/coc.nvim--------
set pumheight=10
set updatetime=100
set signcolumn=no
inoremap <silent><expr> <TAB>
\ coc#pum#visible() ? coc#pum#next(1) :
\ CheckBackspace() ? "\<Tab>" :
\ coc#refresh()
inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm()
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
function! CheckBackspace() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
autocmd CursorHold * silent call CocActionAsync('highlight')
call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'mhinz/vim-startify'
Plug 'Yggdroot/indentLine'
Plug 'preservim/nerdtree'
Plug 'crusoexia/vim-monokai'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'Raimondi/delimitMate'
call plug#end()