[新增] 添加'公共/函数.zsh'->'版本对比'模块, 将zsh配置从bash脚本移动到zsh中, 初步搭建go语言自动安装模块, 优化'安装.zsh'和"start.sh"
This commit is contained in:
parent
b89996c7db
commit
4afc66bdc5
68
start.sh
68
start.sh
|
@ -1,11 +1,11 @@
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
# wget -qO- https://gitea.whlug.cn/xunmi/getLinux/raw/start.sh | bash
|
|
||||||
PACK_LIST=("git" "zsh")
|
PACK_LIST=("git" "zsh")
|
||||||
# 脚本根地址
|
# 脚本根地址
|
||||||
ROOT_URL="https://gitea.whlug.cn/xunmi/x/"
|
ROOT_URL="https://gitea.whlug.cn/xunmi/x/"
|
||||||
# 插件和依赖安装的路径
|
# 脚本安装默认路径
|
||||||
ROOT_INSTALL=/opt/xunmi
|
ROOT_INSTALL="/opt/xunmi"
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# 终端配色 #
|
# 终端配色 #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -17,9 +17,7 @@ readonly aCOLOUR=(
|
||||||
'\e[90m' # 2: 灰
|
'\e[90m' # 2: 灰
|
||||||
'\e[91m' # 3: 红
|
'\e[91m' # 3: 红
|
||||||
'\e[32m' # 4: 绿
|
'\e[32m' # 4: 绿
|
||||||
'\e[33m' # 5: 黄
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Show() {
|
Show() {
|
||||||
if (($1 == 0)); then
|
if (($1 == 0)); then
|
||||||
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[0]} 成功 $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[0]} 成功 $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
||||||
|
@ -28,19 +26,11 @@ Show() {
|
||||||
exit 1
|
exit 1
|
||||||
elif (($1 == 2)); then
|
elif (($1 == 2)); then
|
||||||
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[4]} 信息 $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[4]} 信息 $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
||||||
elif (($1 == 3)); then
|
|
||||||
echo -e "${aCOLOUR[2]}[$COLOUR_RESET${aCOLOUR[5]} 通知 $COLOUR_RESET${aCOLOUR[2]}]$COLOUR_RESET $2"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
Warn() {
|
|
||||||
echo -e "${aCOLOUR[3]}$1$COLOUR_RESET"
|
|
||||||
}
|
|
||||||
|
|
||||||
GreyStart() {
|
GreyStart() {
|
||||||
echo -e "${aCOLOUR[2]}\c"
|
echo -e "${aCOLOUR[2]}\c"
|
||||||
}
|
}
|
||||||
|
|
||||||
ColorReset() {
|
ColorReset() {
|
||||||
echo -e "$COLOUR_RESET\c"
|
echo -e "$COLOUR_RESET\c"
|
||||||
}
|
}
|
||||||
|
@ -50,7 +40,7 @@ ColorReset() {
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# 更新包管理器
|
# 更新包管理器
|
||||||
Update_Package_Resource() {
|
Update_PKG() {
|
||||||
Show 2 "更新包管理器..."
|
Show 2 "更新包管理器..."
|
||||||
GreyStart
|
GreyStart
|
||||||
if [ -x "$(command -v oma)" ]; then
|
if [ -x "$(command -v oma)" ]; then
|
||||||
|
@ -66,9 +56,10 @@ Update_Package_Resource() {
|
||||||
|
|
||||||
# 安装依赖
|
# 安装依赖
|
||||||
Install_PKG() {
|
Install_PKG() {
|
||||||
Update_Package_Resource
|
Update_PKG
|
||||||
for ((i = 0; i < ${#PACK_LIST[@]}; i++)); do
|
for ((i = 0; i < ${#PACK_LIST[@]}; i++)); do
|
||||||
pack=${PACK_LIST[i]}
|
pack=${PACK_LIST[i]}
|
||||||
|
[ -x "$(command -v $pack)" ] && continue
|
||||||
Show 2 "安装必要的依赖项: ${aCOLOUR[4]} $pack $COLOUR_RESET"
|
Show 2 "安装必要的依赖项: ${aCOLOUR[4]} $pack $COLOUR_RESET"
|
||||||
GreyStart
|
GreyStart
|
||||||
if [ -x "$(command -v oma)" ]; then
|
if [ -x "$(command -v oma)" ]; then
|
||||||
|
@ -87,58 +78,23 @@ Install_PKG() {
|
||||||
Show 0 "依赖安装完成"
|
Show 0 "依赖安装完成"
|
||||||
}
|
}
|
||||||
|
|
||||||
# 下载配置
|
|
||||||
Download_Config() {
|
|
||||||
# 创建下载文件的临时目录
|
|
||||||
Show 0 "正在进行插件下载与配置"
|
|
||||||
# 下载zsh扩展
|
|
||||||
GreyStart
|
|
||||||
ohmyzsh_dir=${ROOT_INSTALL}/oh-my-zsh
|
|
||||||
sudo rm -vrf $ohmyzsh_dir
|
|
||||||
sudo git clone https://gitcode.com/mirrors/ohmyzsh/ohmyzsh.git ${ohmyzsh_dir} || Show 1 "关键依赖下载失败"
|
|
||||||
cd ${ohmyzsh_dir}/custom/plugins/
|
|
||||||
sudo git clone https://gitcode.com/mirrors/zsh-users/zsh-autosuggestions.git
|
|
||||||
sudo git clone https://gitcode.com/mirrors/zsh-users/zsh-syntax-highlighting.git
|
|
||||||
# 下载预设配置
|
|
||||||
config_url=${ROOT_URL}raw/配置/zshrc
|
|
||||||
sudo wget -t 3 -q --show-progress -c "${config_url}" || Show 1 "无法下载预设配置( ${config_url} )"
|
|
||||||
sudo sed -i "s:export ZSH=/etc/oh-my-zsh:export ZSH=$ohmyzsh_dir:" zshrc
|
|
||||||
sudo mv zshrc /etc/skel/.zshrc
|
|
||||||
cp -v /etc/skel/.zshrc $HOME
|
|
||||||
cd $HOME
|
|
||||||
ColorReset
|
|
||||||
Show 2 "寻觅基础环境安装完成"
|
|
||||||
}
|
|
||||||
|
|
||||||
Download_X(){
|
Download_X(){
|
||||||
Show 0 "开始下载配置言灵"
|
Show 0 "开始下载配置言灵"
|
||||||
GreyStart
|
GreyStart
|
||||||
x_dir=$ROOT_INSTALL/x
|
x_dir=$ROOT_INSTALL/x
|
||||||
sudo rm -vrf $x_dir
|
sudo rm -vrf $x_dir
|
||||||
sudo git clone $ROOT_URL $x_dir || Show 1 "言灵拉去失败"
|
sudo git clone $ROOT_URL $x_dir || Show 1 "言灵拉去失败"
|
||||||
|
mkdir -vp $HOME/.config/xunmi
|
||||||
|
echo "言灵一路径=$ROOT_INSTALL" >> $HOME/.config/xunmi/信息
|
||||||
ColorReset
|
ColorReset
|
||||||
X_START=1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#################################################################
|
#################################################################
|
||||||
# 主函数(main) #
|
# 主函数(main) #
|
||||||
#################################################################
|
#################################################################
|
||||||
|
|
||||||
([ -x "$(command -v git)" ] && [ -x "$(command -v zsh)" ]) || Install_PKG
|
Install_PKG
|
||||||
# 如果携带 -c 则不下载安装ohmyzsh
|
Download_X
|
||||||
if [ -f $HOME/.zshrc ]; then
|
sudo chown -R $USER:$USER $ROOT_INSTALL
|
||||||
mv $HOME/.zshrc $HOME/.zshrc.old
|
[ -f "安装.zsh" ] && zsh 安装.zsh || zsh $x_dir/安装.zsh
|
||||||
fi
|
|
||||||
[[ "$@" == *-c* ]] || Download_Config
|
|
||||||
# 如果携带 -x 则不下载安装言灵
|
|
||||||
[[ "$@" == *-x* ]] || Download_X
|
|
||||||
sudo chown -R $USER:$USER $x_dir
|
|
||||||
# 写入配置文件
|
|
||||||
mkdir -p $HOME/.config/xunmi
|
|
||||||
echo "寻觅=${ROOT_INSTALL}" > $HOME/.config/xunmi/PATH.sh
|
|
||||||
if [ -f "安装.zsh" ]; then
|
|
||||||
zsh 安装.zsh
|
|
||||||
else
|
|
||||||
(( $X_START == 1 )) && zsh $x_dir/安装.zsh
|
|
||||||
fi
|
|
||||||
exec zsh
|
exec zsh
|
||||||
|
|
39
公共/函数.zsh
39
公共/函数.zsh
|
@ -59,14 +59,39 @@ readonly 色彩=(
|
||||||
# 通用函数 #
|
# 通用函数 #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# 用判断用户输入的值, 输入 `是/Y/y/yes` 返会0, 其他情况返会1
|
# 更具用户输入判断是否需要继续
|
||||||
# 位置参数 1 -> 字符 <- 用于提示用户选择时候的提示语
|
# *-* 位置参数 1 -> 字符 <- 用于提示用户选择时候的提示语
|
||||||
|
# -*- 返回值: 如果 输入`是/Y/y/yes` 返会0, 其他情况返会1
|
||||||
是否() {
|
是否() {
|
||||||
输出 3 "$1((是/否 Yes/No))"
|
输出 3 "$1((是/否 Yes/No))"
|
||||||
read r
|
read r
|
||||||
if echo "$r" | grep -Eq "^[是Yy][Ee]?[Ss]?$";then
|
if echo "$r" | grep -Eq "^[是Yy][Ee]?[Ss]?$";then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 用于判断两个版本号之间的大小
|
||||||
|
# 格式实例:1.0.0, v8.8, go1.20.8
|
||||||
|
# *-* 位置参数 1 -> 版本1 <- 第一个版本号
|
||||||
|
# *-* 位置参数 2 -> 版本2 <- 第二个版本号
|
||||||
|
# -*- 如果 版本1 >= 版本2 则返会0, 否者返会1
|
||||||
|
# 使用实例: 版本对比 "$1" "$2" && echo "1: $1" || echo "2: $2"
|
||||||
|
版本对比() {
|
||||||
|
# 使用IFS分割版本号为数组
|
||||||
|
IFS='.' read -r -A 版本数组A <<< ${1//[^0-9.]/}
|
||||||
|
IFS='.' read -r -A 版本数组B <<< ${2//[^0-9.]/}
|
||||||
|
|
||||||
|
# 逐段比较各个部分的大小
|
||||||
|
for ((i=1; i <= ${#版本数组A[@]}; i++)); do
|
||||||
|
if (( ${版本数组A[i]} > ${版本数组B[i]} )); then
|
||||||
|
return 0
|
||||||
|
elif (( ${版本数组A[i]} < ${版本数组B[i]} )); then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 如果循环结束仍未返回,则认为两个版本号相等
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
78
公共/开发环境.zsh
Normal file
78
公共/开发环境.zsh
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
#!/usr/bin/zsh
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# 用于快速配置旧世界的开发环境 #
|
||||||
|
# 支持的语言: #
|
||||||
|
# [ ] go #
|
||||||
|
# [ ] rust #
|
||||||
|
# [ ] java #
|
||||||
|
# [ ] nodejs #
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
# 不使用包管理器, 直接用官网的二进制包
|
||||||
|
# 龙芯旧世界更新频率低, 且迟早被弃用, 旧世界仅做有限支持
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# 变量 #
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
local 旧世界一下载地址="http://ftp.loongnix.cn"
|
||||||
|
|
||||||
|
typeset -A 语言一go=(
|
||||||
|
['主件']=['go' 'gofmt']
|
||||||
|
['下载地址']="https://golang.google.cn/dl/"
|
||||||
|
['版本正则']="go1.*linux-${系统一主机架构}\.tar\.gz"
|
||||||
|
['旧世界地址']="${旧世界一下载地址}/toolchain/golang/go-1.21/abi1.0/go1.21.5.linux-loong64.tar.gz"
|
||||||
|
)
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# 函数(func) #
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
# latest_version=$(curl -s https://golang.google.cn/dl/ | grep -o 'go1.*linux-.*\.tar\.gz' | head -n 1)
|
||||||
|
|
||||||
|
开发环境一检测一go(){
|
||||||
|
# 检测安装情况
|
||||||
|
版本一在线=$(curl -s ${语言} | grep -o 'go1.*linux-.*\.tar\.gz' | head -n 1)
|
||||||
|
if [[ ${系统一世界类型}=="旧世界" ]]; then
|
||||||
|
版本一在线="go1.21.5"
|
||||||
|
下载地址="${旧世界一下载地址}/toolchain/golang/go-1.21/abi1.0/go1.21.5.linux-loong64.tar.gz"
|
||||||
|
fi
|
||||||
|
if 1;then
|
||||||
|
版本一主机=$(go version) | awk '{print $3}'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 用于检测
|
||||||
|
开发环境一检测(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# 加载主机信息
|
||||||
|
开发环境一初始化(){
|
||||||
|
目录一配置=$HOME/.config/xunmi
|
||||||
|
source ${目录一配置}/信息.zsh
|
||||||
|
|
||||||
|
if [[ ${系统一主机架构}=="龙" ]]; then
|
||||||
|
if [[ ${系统一世界类型}=="新世界" ]]; then
|
||||||
|
系统一主机架构="loong64"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
开发环境一安装一go(){
|
||||||
|
# 换源 go env -w GOPROXY=https://goproxy.cn
|
||||||
|
}
|
||||||
|
|
||||||
|
开发环境一安装(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 主函数(main) #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
开发环境一初始化
|
||||||
|
|
||||||
|
|
||||||
|
|
121
安装.zsh
121
安装.zsh
|
@ -9,6 +9,8 @@ source /etc/os-release
|
||||||
# 脚本在执行过程中遇到任何非零返回码的命令时立即退出
|
# 脚本在执行过程中遇到任何非零返回码的命令时立即退出
|
||||||
# set -e
|
# set -e
|
||||||
|
|
||||||
|
readonly 言灵一版本一在线="v1.0.0"
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# 全局变量 #
|
# 全局变量 #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -42,6 +44,17 @@ readonly 系统一发行版一名称=$(echo "${NAME}")
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 从git镜像仓库获取依赖
|
||||||
|
# *-* -> 位置参数 1 <- 拉去`作者/仓库名`, 比如: ohmyzsh/ohmyzsh
|
||||||
|
# *-* -> 位置参数 2 <- 保存地址, 保存到本地的哪个路径
|
||||||
|
获取一git(){
|
||||||
|
git镜像="https://gitcode.com/mirrors"
|
||||||
|
色彩一灰色
|
||||||
|
输出 2 "正在拉去 $1 ..."
|
||||||
|
git clone --depth 1 -q ${git镜像}/$1.git $2
|
||||||
|
色彩一清除
|
||||||
|
}
|
||||||
|
|
||||||
检查一架构() {
|
检查一架构() {
|
||||||
case ${CPU一架构} in
|
case ${CPU一架构} in
|
||||||
*x86_64*)
|
*x86_64*)
|
||||||
|
@ -77,7 +90,13 @@ readonly 系统一发行版一名称=$(echo "${NAME}")
|
||||||
系统一发行版一标识符="安同"
|
系统一发行版一标识符="安同"
|
||||||
# 前三个是字体包
|
# 前三个是字体包
|
||||||
系统一包列表=('jetbrains-mono' 'powerline-fonts' 'fantasque-sans-mono-nerd-fonts')
|
系统一包列表=('jetbrains-mono' 'powerline-fonts' 'fantasque-sans-mono-nerd-fonts')
|
||||||
;;
|
;;
|
||||||
|
*debian*)
|
||||||
|
if [[ ${系统一发行版一名称}=="Ubuntu" ]]; then
|
||||||
|
系统一发行版一标识符="乌班图"
|
||||||
|
系统一包列表=('universal-ctags')
|
||||||
|
fi
|
||||||
|
;;
|
||||||
*openwrt*)
|
*openwrt*)
|
||||||
输出 1 "暂不支持openwrt"
|
输出 1 "暂不支持openwrt"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -102,46 +121,84 @@ readonly 系统一发行版一名称=$(echo "${NAME}")
|
||||||
输出 2 "主机信息检测模块启动"
|
输出 2 "主机信息检测模块启动"
|
||||||
检查一架构
|
检查一架构
|
||||||
检查一发行版
|
检查一发行版
|
||||||
|
# 检查本地版本
|
||||||
|
if [[ -n ${言灵一版本一本地} ]]; then
|
||||||
|
if 版本对比 ${言灵一版本一在线} ${言灵一版本一本地}; then
|
||||||
|
是否 "发现本地版本已是最新版, 是否需要重复安装" || 输出 1 "已退出安装"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
# 将本机信息更新到指定文件
|
# 将本机信息更新到指定文件
|
||||||
mkdir -vp ${目录一配置}
|
配置信息=${目录一配置}/信息
|
||||||
rm -v ${目录一配置}/信息.zsh
|
rm -v ${配置信息}
|
||||||
echo "系统一发行版标识=${系统一发行版一标识符}" >> ${目录一配置}/信息.zsh
|
echo "言灵一路径=${言灵一路径}" >> ${配置信息}
|
||||||
echo "系统一世界类型=${世界一类型}" >> ${目录一配置}/信息.zsh
|
echo "言灵一版本一本地=${言灵一版本一在线}" >> ${配置信息}
|
||||||
echo "系统一主机架构=${主机一架构}" >> ${目录一配置}/信息.zsh
|
echo "言灵一系统一发行版=${系统一发行版一标识符}" >> ${配置信息}
|
||||||
|
echo "言灵一系统一世界类型=${世界一类型}" >> ${配置信息}
|
||||||
|
echo "言灵一系统一主机架构=${主机一架构}" >> ${配置信息}
|
||||||
输出 0 "主机信息检测完毕"
|
输出 0 "主机信息检测完毕"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
优化一常用命令一zsh(){
|
||||||
|
# 创建下载文件的临时目录
|
||||||
|
输出 2 "启动zsh优化"
|
||||||
|
# 下载zsh扩展
|
||||||
|
色彩一灰色
|
||||||
|
配置一路径=${言灵一路径}/oh-my-zsh
|
||||||
|
sudo rm -vrf ${配置一路径}
|
||||||
|
获取一git ohmyzsh/ohmyzsh ${配置一路径}
|
||||||
|
获取一git zsh-users/zsh-autosuggestions ${配置一路径}/custom/plugins/zsh-autosuggestions
|
||||||
|
获取一git zsh-users/zsh-syntax-highlighting ${配置一路径}/custom/plugins/zsh-syntax-highlighting
|
||||||
|
|
||||||
|
if [ -f $HOME/.zshrc ]; then
|
||||||
|
mv $HOME/.zshrc $HOME/.zshrc.old
|
||||||
|
fi
|
||||||
|
cp -v ${目录一根}/配置/zshrc $HOME/.zshrc
|
||||||
|
sed -i "s:export ZSH=/etc/oh-my-zsh:export ZSH=${配置一路径}:" $HOME/.zshrc
|
||||||
|
是否 "是否需要将zsh预设配置赋予所有新用户" && sudo mv $HOME/.zshrc /etc/skel/.zshrc
|
||||||
|
if 是否 "将Zsh设置为默认命令行"; then
|
||||||
|
chsh -s /usr/bin/zsh
|
||||||
|
输出 0 "已将zsh设置为默认命令行,此设置主要适用于ssh和tty如终端不生效则需要在可视化设置中手动配置启动时加载 '/usr/bin/zsh' "
|
||||||
|
else
|
||||||
|
输出 2 "如需将zsh设置为默认命令行请执行: 'chsh -s /usr/bin/zsh' "
|
||||||
|
fi
|
||||||
|
色彩一清除
|
||||||
|
输出 0 "Zsh优化完成"
|
||||||
|
}
|
||||||
|
|
||||||
优化一常用命令一vim(){
|
优化一常用命令一vim(){
|
||||||
输出 2 "启动vim优化, 安装代码检查和树状目录插件, 并优化配置(具体配置可以查看 $HOME/.vimrc 文件)"
|
输出 2 "启动vim优化, 安装代码检查和树状目录插件, 并优化配置(具体配置可以查看 $HOME/.vimrc 文件)"
|
||||||
vim一配置路径=$HOME/.vim/pack/xunmi
|
vim一配置路径=$HOME/.vim/pack/xunmi
|
||||||
色彩一灰色
|
色彩一灰色
|
||||||
|
if [ -f $HOME/.vimrc ]; then
|
||||||
|
mv $HOME/.vimrc $HOME/.vimrc.old
|
||||||
|
fi
|
||||||
|
cp -v ${目录一根}/配置/vimrc $HOME/.vimrc
|
||||||
rm -vrf ${vim一配置路径}
|
rm -vrf ${vim一配置路径}
|
||||||
mkdir -vp ${vim一配置路径}/{opt,start}
|
mkdir -vp ${vim一配置路径}/{opt,start}
|
||||||
vim说明=${目录一根}/配置/vim配置说明.vim
|
vim说明=${目录一根}/配置/vim配置说明.vim
|
||||||
git clone --depth 1 https://gitcode.com/mirrors/scrooloose/nerdtree.git ${vim一配置路径}/start/树状目录
|
获取一git scrooloose/nerdtree ${vim一配置路径}/start/树状目录
|
||||||
git clone --depth 1 https://gitcode.com/dense-analysis/ale.git ${vim一配置路径}/start/代码检查工具
|
获取一git dense-analysis/ale ${vim一配置路径}/start/代码检查工具
|
||||||
git clone --depth 1 https://gitcode.com/jiangmiao/auto-pairs.git ${vim一配置路径}/start/括号补齐
|
获取一git jiangmiao/auto-pairs ${vim一配置路径}/start/括号补齐
|
||||||
git clone --depth 1 https://gitcode.com/Yggdroot/LeaderF.git ${vim一配置路径}/start/模糊搜索器
|
获取一git preservim/nerdcommenter ${vim一配置路径}/start/注释工具
|
||||||
if 是否 "是否启用基于c的模糊搜索(默认使用python, c的性能会好很多)"; then
|
获取一git vim-airline/vim-airline ${vim一配置路径}/start/VIM状态栏
|
||||||
vim -c ":LeaderfInstallCExtension" ${vim说明}
|
获取一git vim-airline/vim-airline-themes ${vim一配置路径}/start/VIM状态栏_皮肤
|
||||||
fi
|
获取一git Yggdroot/LeaderF ${vim一配置路径}/start/模糊搜索器
|
||||||
git clone --depth 1 https://gitcode.com/mirrors/ludovicchabant/vim-gutentags.git ${vim一配置路径}/start/标签生成器
|
# if 是否 "是否启用基于c的模糊搜索(默认使用python, c的性能会好很多)"; then
|
||||||
|
# vim -c ":LeaderfInstallCExtension" ${vim说明}
|
||||||
|
# fi
|
||||||
|
获取一git ludovicchabant/vim-gutentags ${vim一配置路径}/start/标签生成器
|
||||||
if 是否 "是否需要安装vim代码补全工具(代码补全工具需要nodejs支持, 如找不到nodejs脚本将会自动安装)"; then
|
if 是否 "是否需要安装vim代码补全工具(代码补全工具需要nodejs支持, 如找不到nodejs脚本将会自动安装)"; then
|
||||||
输出 2 "默认会安装 shell c/c++ cmake go java json markdown perl python r rust 语言的补全"
|
输出 2 "默认会安装 shell c/c++ cmake go java json markdown perl python r rust 语言的补全"
|
||||||
色彩一灰色
|
色彩一灰色
|
||||||
git clone --depth 1 https://gitcode.com/neoclide/coc.nvim.git ${vim一配置路径}/start/代码补全
|
获取一git neoclide/coc.nvim ${vim一配置路径}/start/代码补全
|
||||||
# todo: 这里调用一个nodejs的检查工具
|
# todo: 这里调用一个nodejs的检查工具
|
||||||
# 编译和启动
|
# 编译和启动
|
||||||
npm -C ${vim一配置路径}/start/代码补全 i && npm -C ${vim一配置路径}/start/代码补全 ci
|
npm -C ${vim一配置路径}/start/代码补全 i && npm -C ${vim一配置路径}/start/代码补全 ci
|
||||||
vim -c ":CocInstall coc-sh coc-clangd coc-cmake coc-go coc-json coc-java coc-markdownlint coc-perl coc-pyright coc-r-lsp coc-rls" ${vim说明}
|
vim -c ":CocInstall coc-sh coc-clangd coc-cmake coc-go coc-json coc-java coc-markdownlint coc-perl coc-pyright coc-r-lsp coc-rls" ${vim说明}
|
||||||
是否 "是否安装前端相关代码补全工具(html css js/ts vue)" && vim -c ":CocInstall coc-css coc-html coc-tsserver coc-vetur" ${vim说明}
|
# 是否 "是否安装前端相关代码补全工具(html css js/ts vue)" && vim -c ":CocInstall coc-css coc-html coc-tsserver coc-vetur" ${vim说明}
|
||||||
fi
|
fi
|
||||||
git clone --depth 1 https://gitcode.com/mirrors/preservim/nerdcommenter.git ${vim一配置路径}/start/注释工具
|
|
||||||
git clone --depth 1 https://gitcode.com/vim-airline/vim-airline.git ${vim一配置路径}/start/VIM状态栏
|
|
||||||
git clone --depth 1 https://gitcode.com/mirrors/vim-airline/vim-airline-themes.git ${vim一配置路径}/start/VIM状态栏_皮肤
|
|
||||||
|
|
||||||
cp -v ${目录一根}/配置/vimrc $HOME/.vimrc
|
|
||||||
色彩一清除
|
色彩一清除
|
||||||
|
输出 0 "Zsh优化完成"
|
||||||
}
|
}
|
||||||
|
|
||||||
优化一常用命令一ls(){
|
优化一常用命令一ls(){
|
||||||
|
@ -183,7 +240,10 @@ readonly 系统一发行版一名称=$(echo "${NAME}")
|
||||||
# 优化git, 修复git中文显示为8进制风格的问题
|
# 优化git, 修复git中文显示为8进制风格的问题
|
||||||
git config --global core.quotepath false
|
git config --global core.quotepath false
|
||||||
|
|
||||||
|
git config --global core.editor "vim"
|
||||||
|
|
||||||
typeset -A 列表=(
|
typeset -A 列表=(
|
||||||
|
["zsh"]="添加omyzsh, zsh自动补齐, 快速添加sudo, 便捷操作目录, 优化命令行提示符等"
|
||||||
["vim"]="添加常用配置项(允许复制 添加行号 显式当前行等), 常用插件(目录 语法检测)"
|
["vim"]="添加常用配置项(允许复制 添加行号 显式当前行等), 常用插件(目录 语法检测)"
|
||||||
["ls"]="使用lsd替代老旧的ls, (lsd是rust编写的兼容ls的目录查看工具, 其丰富的配色和图标可有效增加目录的可读性)"
|
["ls"]="使用lsd替代老旧的ls, (lsd是rust编写的兼容ls的目录查看工具, 其丰富的配色和图标可有效增加目录的可读性)"
|
||||||
#["cat"]="使用bat替代cat"
|
#["cat"]="使用bat替代cat"
|
||||||
|
@ -201,17 +261,6 @@ readonly 系统一发行版一名称=$(echo "${NAME}")
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
选配(){
|
|
||||||
if 是否 "将Zsh设置为默认命令行"; then
|
|
||||||
chsh -s /usr/bin/zsh
|
|
||||||
输出 0 "已将zsh设置为默认命令行,此设置主要适用于ssh和tty,如终端不生效则需要在可视化设置中手动配置启动时加载 '/usr/bin/zsh' "
|
|
||||||
else
|
|
||||||
输出 2 "如需将zsh设置为默认命令行请执行: 'chsh -s /usr/bin/zsh' "
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# 主函数(main) #
|
# 主函数(main) #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -223,10 +272,10 @@ echo "
|
||||||
"
|
"
|
||||||
目录一根=$PWD
|
目录一根=$PWD
|
||||||
目录一配置=$HOME/.config/xunmi
|
目录一配置=$HOME/.config/xunmi
|
||||||
|
source ${目录一配置}/信息
|
||||||
# 判断当前执行的位置 如果不再项目路径中就去寻找路径
|
# 判断当前执行的位置 如果不再项目路径中就去寻找路径
|
||||||
if [ ! -f "公共/函数.zsh" ]; then
|
if [ ! -f "公共/函数.zsh" ]; then
|
||||||
source ${目录一配置}/*
|
目录一根=${言灵一路径}/x
|
||||||
目录一根=${寻觅}/x
|
|
||||||
fi
|
fi
|
||||||
echo "执行目录: ${目录一根}"
|
echo "执行目录: ${目录一根}"
|
||||||
|
|
||||||
|
@ -243,4 +292,6 @@ echo "执行目录: ${目录一根}"
|
||||||
优化一常用命令
|
优化一常用命令
|
||||||
# 配置一开发环境
|
# 配置一开发环境
|
||||||
|
|
||||||
选配
|
echo "言灵一版本一本地=${言灵一版本一在线}" >> ${目录一配置}/信息
|
||||||
|
|
||||||
|
输出 0 "已成功安装 言灵 ${言灵一版本一在线}"
|
||||||
|
|
12
龙架构/开发环境.zsh
12
龙架构/开发环境.zsh
|
@ -1,12 +0,0 @@
|
||||||
#!/usr/bin/zsh
|
|
||||||
|
|
||||||
#####################################
|
|
||||||
# 用于快速配置旧世界的开发环境 #
|
|
||||||
# 支持的语言: #
|
|
||||||
# [ ] golang #
|
|
||||||
# [ ] rust #
|
|
||||||
# [ ] java #
|
|
||||||
# [ ] nodejs #
|
|
||||||
#####################################
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user