oh my zsh 在Ubuntu下的配置教程

oh my zsh 是十分好用的基于 zsh 的配置框架,它能简化 Linux 终端用户的很多日常操 作。而且,它的界面相对于原始的 bash 来说,非常好看。这篇文章就是用来介绍如何在 Ubuntu 下安装并配置 oh my zsh 及其常用插件的。 oh my zsh 安装与基本配置 在 oh my zsh 安装前需要先执行以下命令安装下列 git、curl、zsh。 % sudo apt install git curl zsh 安装完依赖项目后,直接执行下面的命令来一键安装: % sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 设置 zsh 为默认 shell: % chsh 按照提示一步一来,输入/bin/zsh 即可。 常用插件安装 单单配置 oh my zsh 本身是远远不够的,你可能需要以下常用插件来真正达到简化操作的 目的。 z 历史目录管理 zsh-autosuggestions 命令提示 zsh-syntax-highlighting 高亮 sudo 忘记加 sudo 前缀之时 extract 一个命令解压几乎所有安装包 z 无需额外安装,直接在 plugins 中填写即可。 zsh-autosuggestions 先执行以下命令,然后在 plugins 中填写。 ...

2021年11月22日

使用 space-vim-dark 一键配置、美化vim编辑器

一直以来我都使用一些成熟的配置文件来帮助我配置、美化 vim 编辑器,然而我原来使用 的 spf13-vim.sh 已经很久不更新了,它的插件列表中有些插件已经不能正常下载了。所以 我想寻找它的替代品,最后发现 space-vim-dark 还不错。 space-vim-dark 基本介绍 经过我的寻找,找到了一个比较好用且美观的配置文件 space-vim-dark。这个 space-vim-dark 可能是国人编写的 vim 配置文件,它能很好使得 vim 适应暗色模式。 先 贴出仓库地址:https://github.com/liuchengxu/space-vim-dark 这是它的效果图,整体 看还是不错的。 用它配置、美化 vim 编辑器 设置 space-vim-dark 非常简单,你只需要在你的 vim 插件管理器中添加下面的设置。 Plug 'liuchengxu/space-vim-dark' 整体使用下来,我觉得该有的插件还是有的,并且用起来顺手不少。 加入额外配置 在~/.spacevim 中可以加入你自己的一些配置。

2021年11月22日

求解三维装箱问题的混合模拟退火算法的实现 MATLAB

由于要数学建模中需要解决一个三维装箱的问题,我经过搜寻选定了张德富教授等在计算机 学报上发表的《求解三维装箱问题的混合模拟退火算法》这篇论文作为解决问题的理论基 础。 该论文的摘要如下: 提出了一个高效求解三维装箱问题(Three Dimensional Container Loading Problem 3D-CLP)的混合模拟 退火 算法 .三维装箱问题要求装载给定箱子集合的一个子 集到容器 中 , 使得被装载 的箱子总体 积最大 .文中介绍 的 混合 模拟退火算法基于三个重要算 法 :(1)复合块生成算法 , 与传统算法 不同的是文中提出的复合块 不只包含单 一 种类 的箱子 , 而是可以在一定的限制条件下包含 任意种类的箱子 .(2)基础启发式算法 , 该 算法 基于块装 载 , 可以 按 照指定装载序列生成放置方案.(3)模拟退火算法,以复合块 生成和基础启发式算法为基础, 将装载序列作为可行 放置 方案的编码 , 在编码空间中 采用模拟退火算法进行搜 索以寻找问题的近似最 优解 .文 中采用 1 50 0 个弱异构 和 强异构的装箱问题数据对算法进行测试 .实验结 果表明 , 混合模拟退火算法的填充率超 过了目前已知的 优秀算法 . DOI号: 10.3724/SP.J.1016.2009.02147 ...

2021年9月30日

为MacOS的终端加上代理设置

MacOS 现在默认采用 Zsh,所以在用户家目录下寻找.zshrc 配置文件,如果没有则自行创 建。 编辑.zshrc 文件,在最后加入下列代码 \# set proxy alias proxy='export all\_proxy=socks5://127.0.0.1:1234' alias unproxy='unset all\_proxy' 添加完毕后,保存,在终端输入以下命令 % source ~/.zshrc 完毕。 如果需要使用代理,则预先输入 proxy 命令。如果需要取消代理,则输入 unproxy 命令。 或者如果需要默认启用代理的话,在.zshrc 配置文件末尾添加 % export https\_proxy=http://127.0.0.1:7890 http\_proxy=http://127.0.0.1:7890 all\_proxy=socks5://127.0.0.1:7890 保存。 % source ~/.zshrc 完毕。

2021年5月25日

HyperV Ubuntu虚拟机开启增强会话 调整分辨率 启用剪切板

在 HyperV 下 Windows 系虚拟机默认就能够开启增强会话。在增强会话下可以方便地和宿 主机共享剪切板与文件,并且在增强会话开启时也能够比较方便地调整分辨率。而 Ubuntu 等 Linux 系统下则默认为基本会话,分辨率的调整需要修改引导文件,而剪切板和宿主机 是独立的非常不方便。 进过查找,找到了一种可以在 Ubuntu 20.04 下开启增强会话的方 法,使用后有效,遂在此记录。 首先需要开启增强会话的话必须先在创建虚拟机的时候开 启第二代虚拟机选项,在首次启动的时候关闭 Secure Boot。记得在安装 Ubuntu 的时候不 要开启自动登录选项。 在终端下输入 % wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh % sudo chmod +x install.sh % sudo ./install.sh 在 Windows Power Shell 运行以下命令,然后重启。 \> Set-VM -VMName <your\_vm\_name> -EnhancedSessionTransportType HvSocket 重启后,就能看到链接虚拟机后会话已经为增强会话模式而后 Ubuntu 进入的 XRDP 登录页 面,此时正常输入用户名密码即可。

2021年5月25日

解决oh-my-zsh plugin 'zsh-autosuggestions' not found 与 plugin 'zsh-syntax-highlighting' not found问题

安装 zsh 插件 zsh-autosuggestions 或者 zsh-syntax-highlighting 的时候,我们一般 会遇到 oh-my-zsh plugin ‘xxx’ not found 的问题。现在,我们分析并解决 oh-my-zsh plugin ‘zsh-autosuggestions’ not found 与 plugin ‘zsh-syntax-highlighting’ not found 问题。 问题产生的原因是,没有把插件的代码仓库克隆到本地位置上,所以你想要 的插件其实并没有被安装。 解决问题非常简单,只需要简单输入以下命令: $ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions $ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting $ source ~/.zshrc 然后,你可以重新打开 shell,可以发现问题已解决。你也可以用该方法解决其他插件的此 类问题。

2021年5月25日

Synology Drive版本控制功能使用心得

经过一段时间对于 Synology Drive 的版本控制功能的使用,总结出以下不建议使用版本控 制的常见使用场景: Synology Drive 版本控制不适用于对音乐库与视频库的版本控制。这两种场景适合使 用回收站机制来管理。因为音乐和视频库的容量变动幅度较大,在一段时间内进行大量 的删除或者格式转换操作后,磁盘可用空间将迅速下降。不建议将音乐库与视频库加入 到版本控制。 版本控制不适用于对于应用程序相关数据文件(例如 Docker 容器的映射目录下的相关 文件)的备份,经过长期观察,版本控制对文件修改并不敏感。我往往发现经常变动的 应用程序数据文件一直维持在较老的版本,并没有在应用程序对该文件作出修改后立即 备份上一版本。建议使用 Cloud Sync 或者 Hyper Backup 对应用程序数据文件进行备 份。 上述问题经过长期使用总结出,如果发现其他问题则会更新此文章。

2021年5月19日

通过Gparted Live ISO可引导镜像调整硬盘分区大小

介绍 手上有一张安装了 Openwrt 的 8G 的 TF 卡,根分区的容量已经不太能够满足我的使用需 求了。所以开始着手扩大根分区的大小。根分区的所使用的的文件系统格式是 Ext4。首 先,尝试使用 DiskGenius 等 Windows 下的工具进行扩容,很遗憾都不可以。于是准备使 用 Gparted 进行扩容。由于该工具需要在 Linux 环境下运行,我不太想安装为此安装一个 Linux 发行版虚拟机所以使用 Gparted 的轻量 ISO 镜像配合 Virtual Box 虚拟机进行使 用。 准备工作 首先下载安装 VritualBox 虚拟机和 VM VirtualBox Extension Pack。VirtualBox 并默认 不支持 USB 外设操作,所以要安装而外后者来为 VirtualBox 添加 USB2.0、USB3.0 等外 设支持。 VirtualBox 下载地址 VM VirtualBox Extension Pack 以上两者下 载完后,先安装 VirtualBox。 然后安装 VM VirtualBox Extension Pack,具体在首选项 界面扩展栏目中安装。 下载 GParted Live CD/USB/HD/PXE Bootable Image,下载链 接。 步骤 创建虚拟机,分配单核、内存 512MB 即可,可以不创建虚拟硬盘。 在虚拟机设置界面中, 在 USB 设备栏目中启用 USB 控制器,根据需要选择 USB2.0 或者 USB3.0。 在储存栏目光 驱下,选择下载好的 ISO 镜像,启动虚拟机。 在第一个引导菜单中选择第一项。 而 后,按步骤一次选择或者输入Dont touch keymap, 26(简体中文),0(启动 X Window 系统)。 然后就能够进入图形界面了,点击桌面上的 Gparted 工具镜像分区操作。 分 区后,记得点击应用。 ...

2021年2月9日

YouCompleteMe C/C++ VIM CMake 工程 代码提示不可用问题

YouCompleteMe 介绍 如果安装完YouCompleteMe并配置好后 (本站有过程记录,点击这里查看),就可以 使用单文件来检测代码提示效果了。但是,当 S&E 打开他的 C/C++工程时,却发现代码提 示、跳转等功能不能正常使用。在查阅文档后,S&E 发现原来是 YouCompleteMe 相关的索 引数据库没有建立,相关的编译选项并不正确,所以 YouCompleteMe 所使用的的 clangd 就不能将多个源文件联系起来。 建立 C/C++ VIM 代码提示索引的方法 如果是使用 CMake 建立工程,则可以在 CMakeList.txt 中加入 set( CMAKE\_EXPORT\_COMPILE\_COMMANDS ON ) 或者在命令行 cmake 后加上-DCMAKE_EXPORT_COMPILE_COMMANDS=ON也行 建立索引的原理 YouCompleteMe 读取由构建系统 CMake 生成的编译数据库(通常名字叫做 compile_commands.json),这样就可以完成对于工程文件的索引。而编译数据库包含项目 中每个编译单元的编译器调用。YouCompleteMe 会寻找打开文件所在目录中的 compile_commands.json,如果没找到会递归地向上查找这个文件。如果在它找到 .ycm_extra_conf.py 之前,找到了 compile_commands.json,那么它就会停止搜索,然 后,让 clangd 处理接管并处理该文件中含有的标志。 在完成上述这些操作 后,YouCompleteMe 的相关功能就可以正常使用了。

2021年2月6日

Vim 代码提示插件 YouCompleteMe 安装与配置

介绍 对于在 Vim 下的 C/C++程序编写,如果有代码提示插件会大大提高编写效率。大型 IDE 用 的多了,刚回归 Vim 的 S&E 比较依赖这个。正好 YouCompleteMe 能够满足他的相关需 求。索性把安装与配置的过程记录在这里,以供下次回忆使用。 除了 C/C++,YouCompleteMe 支持 Java、Go、C#、Objective-C、CUDA 等,可以说是比较强大 了。但是话说,写 Java 为什么要用 Vim 呢?IDEA 貌似更好。 使用后发现这插件还支持 代码跳转、引用查找、修改函数名和格式调整等操作,挺方便。 Giuhub 仓库地 址:https://github.com/ycm-core/YouCompleteMe 前置条件 安装最新的 YouCompleteMe 插件需要满足一些条件 Vim 8.1 以上 并且启用了 Python3 扩展支持(本站有过程记录,点击这里查 看) GCC 8 以上 或者 Clang 7 以上 Python3.6 以上编译的时候有–enable-shared 选项(一般包管理器安装都带有) 对于 Debian 10, 通过包管理器安装的 Gcc 版本为 8.3.0。 然后可以通过以下命令查看 编译器版本 % cc -v 对于 python3 的版本,使用以下命令查看 % python3 --version 对于 Vim 版本,使用执行以下命令查看 ...

2021年2月6日