下面指令执行之前建议先挂个代理#
启动一个 Ubuntu 容器#
快速创建一个 Ubuntu 容器
1
2
| xhost +;\
podman run -it --net=host -e DISPLAY=$DISPLAY --name=devenv -v /home/hcy/Documents/ubuntu/:/home/devenv/ ubuntu /bin/bash
|
Ubuntu 容器基本设置#
基本设置和基本软件
1
2
3
4
5
6
7
8
9
| apt update;\
apt upgrade -y;\
apt install jq xz-utils curl sudo git apt-transport-https ca-certificates ripgrep vim-tiny -y;\
useradd -m devenv;\
usermod -s /bin/bash devenv;\
sudo sh -c 'echo "devenv ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers';\
sudo chown devenv /home/devenv/;\
sudo chgrp devenv /home/devenv/;\
su devenv
|
切换到普通用户目录#
回到家目录
1
2
3
| cd ~;\
pwd;\
touch .bashrc
|
配置 .bashrc#
改变 Shell 外观,别名 Neovim ,配置 Shell 代理
1
2
3
4
5
6
7
8
9
10
| cat >> .bashrc << EOF
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
alias iv='nvim ~/.config/nvim/init.vim'
alias v='nvim'
alias ls='ls --color'
alias p='export ALL_PROXY=socks5://127.0.0.1:7897'
alias np='unset ALL_PROXY'
EOF
|
记得开代理先#
打开代理 p
1
2
3
| bash;\
source ~/.bashrc;\
p
|
拉取最新的 Neovim#
apt 安装的版本很旧,直接 github 拉取最新
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| cd ~;\
source .bashrc;\
response=$(curl -s https://api.github.com/repos/neovim/neovim/releases/latest);\
version=$(echo "$response" | jq -r '.tag_name');\
download_url=$(echo "$response" | jq -r '.assets[0].browser_download_url');\
echo "--- Neovim version: "$version" ----";\
curl -L -o neovim.tar.gz $download_url;\
sudo tar -zxvf neovim.tar.gz -C /opt/;\
unset response;\
unset version;\
unset download_url;\
rm neovim.tar.gz;\
echo "alias nvim=/opt/nvim-linux64/bin/nvim" >> ~/.bashrc;\
source ~/.bashrc
|
拉取具有 LSP 的 Neovim 配置#
配置有 LSP 的
1
| curl -sL https://raw.githubusercontent.com/HCY-ASLEEP/NVIM-Config/main/nvim-config.sh | sh
|
拉取没有 LSP 的 Neovim 配置#
配置没有 LSP 的
1
| curl -sL https://raw.githubusercontent.com/HCY-ASLEEP/NVIM-Config/main/nvim-config-without-lsp/nvim-config.sh | sh
|
拉取最新 Node.js#
软件仓库里面也是太旧了,需要拉取最新的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| cd ~;\
latest_version=$(curl -sL https://nodejs.org/en/download/ | grep -o -E 'v[0-9]+\.[0-9]+\.[0-9]+' | head -n 1);\
download_url="https://nodejs.org/dist/$latest_version/node-$latest_version-linux-x64.tar.xz";\
install_dir="/opt/nodejs";\
sudo mkdir $install_dir;\
sudo chown -R devenv $install_dir;\
sudo chgrp -R devenv $install_dir;\
curl -o nodejs.tar.xz $download_url;\
tar -xf nodejs.tar.xz -C $install_dir;\
echo -e "\nexport PATH=\$PATH:"$install_dir"/node-"$latest_version"-linux-x64/bin/" >> ~/.bashrc;\
rm nodejs.tar.xz;\
. ~/.bashrc
export PATH=$PATH:$install_dir/node-$latest_version-linux-x64/bin/;\
npm config set registry https://registry.npm.taobao.org;\
npm config set registry https://registry.npm.taobao.org;\
npm i -g yarn;\
unset latest_version;\
unset download_url;\
unset install_dir;\
bash;\
echo "---- Node.js $latest_version installed ----"
|
快速安装 miniconda (国内要撤销代理)#
清华源安装
1
2
3
4
5
6
7
8
| curl https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -o ~/miniconda.sh;\
sh ~/miniconda.sh -b;\
rm ~/miniconda.sh;\
~/miniconda3/bin/conda init bash;\
sed -n '/# >>> conda initialize >>>/,/# <<< conda initialize <<</p' ~/.bashrc >> ~/.condainit;\
sed -i '/# >>> conda initialize >>>/,/# <<< conda initialize <<</d' ~/.bashrc;\
echo 'alias cab="source ~/.condainit"' >> ~/.bashrc;\
. ~/.bashrc
|
安装 vim-language-server#
安装 vimscript LSP
1
| https://github.com/iamcco/vim-language-server
|
1
| npm install -g vim-language-server
|
安装 pyright language server#
通过 pip 安装
安装 clangd language server#
直接 apt 安装,但是要想获得真正的补全还要安装 gcc 和 g++
1
| sudo apt install clangd
|
安装 black python 格式化工具#
格式化 python
设置容器内输入法变量#
这个好像对我没有用
1
2
| sudo sh -c 'echo "\nexport GTK_IM_MODULE=fcitx\nexport QT_IM_MODULE=fcitx\nexport XMODIFIERS=@im=fcitx\n" >> /etc/bash.bashrc';\
. /etc/bash.bashrc
|
Host 的快速指令设置(需要根据实际修改一下)#
配置 .bashrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| cat >> .bashrc << EOF
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
alias p='export ALL_PROXY=socks5://127.0.0.1:7890'
alias np='unset ALL_PROXY'
alias l='curl "http://172.30.255.42:801/eportal/portal/login?user_account=392432&user_password=12542614" ; echo'
alias v='nvim'
alias iv='nvim ~/.config/nvim/init.vim'
alias devenv='xhost + >> /dev/null;\
podman start devenv;\
podman exec -it \
-e DISPLAY=$DISPLAY \
devenv /bin/bash -c \
"cd /home/devenv/; su devenv;"'
alias u='sudo apt update; sudo apt upgrade -y;'
EOF
|