Tips

各类操作技巧整理

PowerShell 安装 Pscx 插件以支持命令行的完整功能, 例如 指定文件树深度

Linux 中给 coreutils 打补丁,使得执行 cp 和 mv 指令时可以显示 进度条

  • 给 cp 和 mv 命令添加进度条
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # 注意尽量不要使用 root 用户操作
    # 下载 coreutils
    $ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
    $ tar -xJf coreutils-8.32.tar.xz
    $ cd coreutils-8.32/
    # 下载 github 上的补丁
    $ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch
    # 打补丁,实现进度条显示
    $ patch -p1 -i advcpmv-0.8-8.32.patch
    patching file src/copy.c
    patching file src/copy.h
    patching file src/cp.c
    patching file src/mv.c
    # 编译安装
    $ ./configure
    $ make
    # 将打补丁生成的 cp 和 mv 命令的二进制文件复制到 bin 目录下
    $ sudo cp src/cp /usr/local/bin/cp
    $ sudo cp src/mv /usr/local/bin/mv
    接着只需要在使用 cp 和 mv 命令的时候加上 -g 参数就可以显示进度条了
    为了方便起见可以在 ~/.bashrc 文件中设置 alias
    1
    2
    alias cp='cp -ig'
    alias mv='mv -ig'

ubuntu 设置屏幕分辨率

1
$ xrandr --auto --output HDMI-0 --pos 0x0 --mode 3840x2160 --primary

将该命令加入开机启动项

1
2
$ gnome-session-properties
# 然后点击添加, 输入名称,命令,注释即可.

Ubuntu 安装 hack 字体

1
2
3
4
5
6
7
8
9
10
11
wget https://github.com/source-foundry/Hack/releases/download/v3.003/Hack-v3.003-ttf.zip # 下载字体文件
unzip Hack-v3.003-ttf.zip
sudo cp -r ttf/ /usr/share/fonts/
# 下载字体配置文件
sudo wget -O /etc/fonts/conf.d/45-Hack.conf https://raw.githubusercontent.com/source-foundry/Hack/master/config/fontconfig/45-Hack.conf
fc-cache -f -v # 清除并重新生成字体缓存和索引
# fc-cache: succeeded # 终端如此显示表示刷新成功
fc-list | grep "Hack" # 检查是否安装成功
# 删除文件
rm -rf ttf/
rm Hack-v3.003-ttf.zip

在 VS Code 中配置使用 Hack 字体

Settings->Editor: Font Family 中修改为如下内容

1
Hack, 'monospace', monospace

Visual Studio 相关配置

无法查找或打开 PDB 文件

工具 -> 选项 -> 调试 -> 常规 -> 勾选 启用源服务器支持
工具 -> 选项 -> 调试 -> 符号-> 勾选 Microsoft 符号服务器

SDL 检查

Visual Studio 开启了 SDL 检查后,某些警告会成为错误,使程序编译不通过.
关闭SDL 检查: 属性 -> 配置属性 -> C/C++ -> 常规 -> SDL 检查: 否(/sdl-)

属性表文件

  1. 创建属性表
    视图 -> 其他窗口 -> 属性管理器 ->Debug|64-> 右键: 添加新项目属性表 -> 右键该属性表: 属性->...
  2. 导入属性表
    视图 -> 其他窗口 -> 属性管理器 ->Debug|64-> 右键: 添加现有属性表

RelWithDebInfo

这种编译模式在保留 Release 模式下运行快速的前提下,又可以给特定的工程开启 Debug 模式,进行针对性的调试。这样比整个项目都采用 Debug 模式进行编译,在调试时会提高效率。
某些工程默认情况下没有配置这种编译模式,可以在 Release 模式下修改如下配置来实现这个效果.

  1. 属性 -> 配置属性 -> C/C++ -> 常规 -> 调试信息格式: 程序数据库(/Zi)
  2. 属性 -> 配置属性 -> C/C++ -> 优化 -> 优化: 已禁用(/Od)
  3. 属性 -> 配置属性 -> C/C++ -> 优化 -> 内联函数扩展: 默认值
  4. 属性 -> 配置属性 -> 链接器 -> 调试 -> 生成调试信息: 生成调试信息 (/DEBUG)

Markdown

以 HTML 格式插入图片并居中

1
2
3
4
<div align=center>
<img src="./images/image1.jpg" width=300>
<img src="./images/image1.jpg" width=300>
</div>

Windows 无法被 ping 通

原因是 Windows 默认开启了防火墙,可以关闭防火墙使其能够被局域网内其他设备访问,但请确保局域网内所有设备都是可信任的。

Windows 安全中心 -> 防火墙和网络保护 -> 专用网络 -> Microsoft Defender 防火墙: 关闭

vcpkg

vcpkg是一个 C++ 包管理工具, 类似于用 pip 来安装 python 的第三方包一样.

Install

1
2
3
> git clone https://github.com/Microsoft/vcpkg.git
> cd vcpkg
> ./bootstrap-vcpkg.bat

Usage

1
2
3
> vcpkg search (搜索包)
> vcpkg install [pkg-name] (安装包)
> vcpkg integrate install (将已安装的包与 Visual Studio 集成)

Reference

PowerShell 无法激活 Anaconda 环境?

Windows10 PowerShell无法激活 Anaconda 环境,而 CMD 可以。可能是因为 anaconda 没有被写入环境变量,且没有将 anaconda 的终端初始化为 powershell
首先将与 anaconda 有关的 3 个路径添加到环境变量中。

1
2
3
D:\Anaconda3
D:\Anaconda3\Scripts
D:\Anaconda3\Library\bin
1
2
3
4
5
6
7
8
9
10
Although Conda previously did not support PowerShell, this is now resolved in Conda 4.6.

After adding `Anaconda3/Scripts/` to your `PATH` variable, you should be able to initialize Conda for use with powershell with:

conda init powershell

Afterwards, you can use conda normally:

conda activate base

查看 conda 版本:

1
conda --version

conda 4.6以上版本内置了对 PowerShell 的支持,只需初始化一下就好了
管理员模式打开powershell:

1
PS C:\Windows\system32> conda init powershell

设置路由器当无线交换机使用

Matlab

导出矢量图

将渲染器设置为 painters 矢量图渲染器。

1
2
set(gcf,'renderer','painters')
saveas(gcf,'./filename.pdf','pdf');
1
help saveas

通常,生成向量图形文件时,saveas 会使用 Painters 渲染器。对于一些复杂图窗,saveas 会改用 OpenGL® 渲染器。如果它使用 OpenGL 渲染器,则向量图形文件会包含嵌入式图像,这可能会限制您可在其他应用程序中编辑该图像的程度。此外,如果 saveas 使用 OpenGL 渲染器生成文件,则不支持透明度。要确保 saveas 使用 Painters 渲染器,请将图窗的 Renderer 属性设置为 ‘painters’。

文件 -> 导出设置 -> 渲染 -> 勾选 自定义渲染器 -> painters(向量格式)

添加搜索路径

1
2
addpath(genpath('dirpath'))
savepath

在 VS 中使用 pthread

使用 vcpkg 包管理器安装 pthread 并与 VS2017 集成

1
2
vcpkg install pthread
vcpkg integrate install

测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// main.cpp
#include<pthread.h>
#include<iostream>
#include<Windows.h>
void* thread(void* val)
{
int value = *((int*)val);
printf("value: %d \n", value);
while (value-- > 0)
{
std::cout << value << std::endl;
}
return NULL;
}

int main()
{
pthread_t tid;
int value = 100;
pthread_create(&tid, 0, thread, &value);

system("pause");
return 0;
}

Reference

心如止水_Zen: 还有更简便的方法, 下载 vcpkg 并在 PowerShell 中 cd 到所在目录, 然后执行命令
.\vcpkg.exe install pthread
在 Visual Studio 2019 中就能直接使用 pthread 了, 不需要其他任何别的设置.

apt 锁

1
2
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
1
2
3
4
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
作者

Luo Siyou

发布于

2022-11-11

更新于

2023-05-02

许可协议