0%

  1. 使用U盘启动快捷项,启动PE
  2. 在分区大师工具看下自己ESP在哪个盘符,就在UEFI引导修复里面选择哪个盘符。
  3. 开UEFI引导修复,在ESP里面选择H盘符(若没有则点击 挂载
  4. 选择根目录:windows目录(例:C:\Windows
  5. 点击开始修复,点击确定
  6. 最后重新开机,就可以进入系统了

  • 准备工作

  • 步骤

  1. 右击系统镜像 - 挂载

  2. 将下载的WTG解压出来,然后运行

  3. 按照下图进行设置

    • 点击 浏览... ,选择挂载的 系统镜像的目录 -> sources -> install.wim
    • 选择安装的系统的U盘,即 浏览... 下面一栏(左面第二栏)
    • 再下面一栏(左面第三栏),选择要安装系统的版本(推荐:专业版或企业版)
    • 高级选项(右面)- 常用:选择: UEFI+MBR,其他的根据自己的需求来选择
  4. 然后,使用U盘快捷启动进入系统就可以了

【Note】:如果原来系统的打不开了,即引导出了问题,见下一篇文章(UEFI引导修复)

进入tmux翻屏模式

  • 先按 ctrl+b,松开,然后再按 [
  • 实现上下翻页: 进入翻屏模式后,PgUp, PgDn 实现上下翻页
  • 退出: q

ps: ctrl + b + [,很多人会以为是同时按三个键,但是这样是不行的。

简单介绍下tmux的其他功能

常用快捷键

快捷键 功能
Ctrl-B % 竖直拆分屏幕(两个 Shell 分别位于左右)
Ctrl-B " 水平拆分屏幕(两个 Shell 分别位于上下)
Ctrl-B O 切换到另一个 Shell
Ctrl-B ? 查看帮助
Ctrl-B d 断开 tmux 并让其在后台运行(可以使用 tmux attach 重新进入)

创建tmux

1
tmux new -s 名字

进入已创建的tmux

1
tmux a -t 名字

临时退出tmux

1
2
ctrl + b + d

杀死tmux

1
2
tmux外:tmux kill-session -t 名字
tmux内:ctrl + d

列出已有的tmux列表

1
tmux ls

删除所有tmux

1
tmux kill-server

  1. 部分设置
1
2
3
4
"workbench.colorCustomizations" : {
"terminal.foreground" : "#00FD61",
"terminal.background" : "#383737"
}
  1. 完整设置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"workbench.colorCustomizations": {
"terminal.background": "#181818",
"terminal.foreground": "#D8D8D8",
"terminalCursor.background": "#D8D8D8",
"terminalCursor.foreground": "#D8D8D8",
"terminal.ansiBlack": "#181818",
"terminal.ansiBlue": "#7CAFC2",
"terminal.ansiBrightBlack": "#585858",
"terminal.ansiBrightBlue": "#7CAFC2",
"terminal.ansiBrightCyan": "#86C1B9",
"terminal.ansiBrightGreen": "#A1B56C",
"terminal.ansiBrightMagenta": "#BA8BAF",
"terminal.ansiBrightRed": "#AB4642",
"terminal.ansiBrightWhite": "#F8F8F8",
"terminal.ansiBrightYellow": "#F7CA88",
"terminal.ansiCyan": "#86C1B9",
"terminal.ansiGreen": "#A1B56C",
"terminal.ansiMagenta": "#BA8BAF",
"terminal.ansiRed": "#AB4642",
"terminal.ansiWhite": "#D8D8D8",
"terminal.ansiYellow": "#F7CA88"
},

  1. 更改Git的样式

    1. 更改主题透明度和光标
    2. 更改字体
    3. 更改中文
  2. 美化

    1. 基本配置

      在用户根目录下新建一个名为 .minttyrc 的文件,写入以下内容,然后重启 git bash,就能看到美化后的样子了。

      1
      2
      3
      $ cd ~
      $ touch .minttyrc
      $ vi .minttyrc

      复制以下代码到 .minttyrc

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      FontHeight=11
      Font=Consolas
      Transparency=low
      FontSmoothing=full
      Locale=zh_CN
      Charset=GBK
      Columns=88
      Rows=26
      OpaqueWhenFocused=no
      Scrollbar=none
      Language=zh_CN

      ForegroundColour=131,148,150
      BackgroundColour=0,43,54
      CursorColour=220,130,71

      BoldBlack=128,128,128
      Red=255,64,40
      BoldRed=255,128,64
      Green=64,200,64
      BoldGreen=64,255,64
      Yellow=190,190,0
      BoldYellow=255,255,64
      Blue=0,128,255
      BoldBlue=128,160,255
      Magenta=211,54,130
      BoldMagenta=255,128,255
      Cyan=64,190,190
      BoldCyan=128,255,255
      White=200,200,200
      BoldWhite=255,255,255
      CursorType=block
      CursorBlinks=no
    2. 更新 git-prompt.d

      仅仅是换了一个主题还不够,还需要更改终端提示符,更改 git 安装目录下 etc 目录里面的一个文件即可,这个文件也可以通过绝对路径访问到。

      进入

      1
      $ cd /etc/profile.d/git-prompt.sh

      复制代码到 git-prompt.sh

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      if test -f /etc/profile.d/git-sdk.sh
      then
      TITLEPREFIX=SDK-${MSYSTEM#MINGW}
      else
      TITLEPREFIX=$MSYSTEM
      fi

      if test -f ~/.config/git/git-prompt.sh
      then
      . ~/.config/git/git-prompt.sh
      else
      PS1='\[\033]0;Bash In $PWD\007\]' # 窗口标题
      PS1="$PS1"'\n' # 换行
      PS1="$PS1"'\[\033[32m\]' # 绿色
      PS1="$PS1"'\u ' # 用户名
      PS1="$PS1"'\[\033[0m\]' # 灰色
      PS1="$PS1"'at ' # 自定义内容
      PS1="$PS1"'\[\033[35m\]' # 粉红色
      PS1="$PS1"'\t ' # 时间
      PS1="$PS1"'\[\033[33m\]' # 黄色
      PS1="$PS1"'\W ' # 当前目录
      if test -z "$WINELOADERNOEXEC"
      then
      GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
      COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
      COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
      COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
      if test -f "$COMPLETION_PATH/git-prompt.sh"
      then
      . "$COMPLETION_PATH/git-completion.bash"
      . "$COMPLETION_PATH/git-prompt.sh"
      PS1="$PS1"'\[\033[36m\]' # change color to cyan
      PS1="$PS1"'`__git_ps1`' # bash function
      fi
      fi
      PS1="$PS1"'\[\033[0m\]' # 灰色
      PS1="$PS1"'$ ' # 命令提示符
      fi

      MSYS2_PS1="$PS1" # for detection by MSYS2 SDK's bash.basrc

愚人节

100篇

谨以此篇纪念我逝去的半天


  • Clion 中使用头文件定义类,源文件实现

  1. include什么

    导入头文件(.h)和源文件(.cpp)

    Note: 只导入 源文件(.cpp) 也可以

  2. CMakeLists.txt

    1. 手动添加

      1
      2
      3
      4
      5
      6
      7
      cmake_minimum_required(VERSION 3.15)
      project(HCpp)

      set(CMAKE_CXX_STANDARD 11)

      add_executable(HCpp main.cpp)
      add_executable(ElemType ElemType.cpp ElemType.h)
    2. 自动添加

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      #if ($HEADER_COMMENTS)
      /**
      * Author: ${USER_NAME}
      * Date: ${DATE}
      * TODO:
      * Describe:
      #if ($ORGANIZATION_NAME && $ORGANIZATION_NAME != "")
      * Copyright (c) $YEAR ${ORGANIZATION_NAME}#if (!$ORGANIZATION_NAME.endsWith(".")).#end All rights reserved.
      #end
      */
      #end
  • 代码

  1. ElemType.h

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    /**
    * Author: Dgimo
    * Date: 2020/4/1
    * TODO:
    * Describe:
    */

    #ifndef HCPP_ELEMTYPE_H
    #define HCPP_ELEMTYPE_H

    #include <iostream>

    class ElemType {
    public:
    int data;

    ElemType();
    ElemType(int);
    friend std::ostream &operator <<(std::ostream &, const ElemType &);
    };

    #endif //HCPP_ELEMTYPE_H
  2. ElemType.cpp

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    /**
    * Author: Dgimo
    * Date: 2020/4/1
    * TODO:
    * Describe:
    */

    #include "ElemType.h"

    ElemType::ElemType() {
    this->data = 0;
    }

    ElemType::ElemType(int data) {
    this->data = data;
    }

    std::ostream& operator <<(std::ostream &out, const ElemType &e)
    {
    out << e.data;
    return out;
    }
  3. main.cpp

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream>
    #include "ElemType.h"
    #include "ElemType.cpp"

    using namespace std;


    int main() {
    ElemType e = ElemType(10);
    cout << e << endl;
    return 0;
    }

    运算符重载:详见 运算符重载

  • 重载运算符规则

  1. 重载意义

    函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作;

    运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能;

    C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。

    比如,我们定义两个string类对象a,b后我们之所以可以使用+运算,是因为string类重载了+运算符。

  2. 语法

    1
    2
    3
    4
    <返回类型说明符> operator <运算符符号>(<参数表>)
    {
    <函数体>
    }
  3. 哪些运算符可以被重载,哪些运算符不能被重载

    • 可以被重载的运算符:

      算术运算符:+ , - , * , / , % , ++ , --

      位操作运算符:& , | , ~ , ^ , << , >>

      逻辑运算符:! , && , ||

      比较运算符:< , > , >= , <= , == , !=

      赋值运算符:= , += , -= , *= , /= , %= , &= , |= , ^= , <<= , >>=

      其他运算符:[] , () , -> , ,(逗号运算符) , new , delete , new[] , delete[] , ->*

    • 不允许的运算符重载:

      . , .* , :: , ?: ,siezof

  • 重载运算符函数在类内部

  1. Notes:

    1. 运算符重载函数是类的成员函数时>

      1. 注意

        要是内部的,必须得是<=1个参数,不需要加 friend(友元函数)

      2. 语法(在类内声明,在类外实现时的代码)
        1
        2
        3
        4
        5
        <返回类型说明符> <类名>::operator <运算符符号>(<参数表>)
        {
        <函数体>
        }

    2. 运算符重载函数不是类的成员函数时(或者说当运算符函数是非成员函数时

      1. 函数在类中声明的时候需要在前面加上 friend(友元函数),不管参数是不是类的对象
      2. 函数的参数与该运算符作用的运算对象数量一样多
    3. 为什么用 const&:

      1. const

        1. 我们不希望在这个函数中对用来进行赋值的“原版”做任何修改。函数加上const后缀的作用是表明函数本身不会修改类成员变量。
        2. 加上const,对于const的和非const的实参,函数就能接受;如果不加,就只能接受非const的实参。
      2. &(引用):

        这样可以避免在函数调用时对实参的一次拷贝,提高了效率。

  1. 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    /**
    * Author: Dgimo
    * Date: 2020/3/30
    * TODO: 类运算符重载
    * Describe:
    */


    #include <iostream>

    using namespace std;


    typedef struct {
    int first;
    int second;
    } TestStuct;


    /*
    * 类运算符重载
    */
    class TestClass {
    private:
    int first;
    int second;

    public:

    TestClass(int, int);
    TestClass();

    void show(string);

    TestClass operator+(const TestClass &);
    TestClass operator+(const TestStuct &);
    friend TestClass operator+(const TestClass &, const TestClass &); // 如果不是内部的,得加friend 声明不是内部的,如果不是两个会怎样?见下面!!!
    friend TestClass operator+(const TestStuct &, const TestStuct &); // 只要在类内部定义的运算符重载,就需要加上friend

    // TestClass operator+(const TestClass &, const TestClass &); // 要是内部的,必须得是<=1个参数,不需要加 friend


    };

    TestClass::TestClass(int first, int second) {
    this->first = first;
    this->second = second;
    }

    TestClass::TestClass()
    {
    this->first = 1;
    this->second = 2;
    }

    TestClass TestClass::operator+(const TestClass &tc) { // TestClass + TestClass
    return TestClass(first + tc.first, second + tc.second);
    }

    TestClass TestClass::operator+(const TestStuct & ts) { // TestClass + TestStruct
    return TestClass(first + ts.first, second + ts.second);
    }

    TestClass operator+(const TestClass &fir, const TestClass &sec) { // 全局:TestClass + TestCLass 实际上和 TestClass TestClass::operator+(const TestClass &tc)
    return TestClass(fir.first + sec.first, fir.second + sec.second);
    }

    TestClass operator+(const TestStuct &fir, const TestStuct &sec) {
    return TestClass(fir.first + sec.first, fir.second + sec.second);
    }

    void TestClass::show(string str) {
    cout << str << ": " << "first: " << this->first << ", second: " << this->second << endl;
    }

    int main()
    {
    TestClass tc1, add_tc, add_tc1, add_ts;
    TestClass tc2 = TestClass(2, 3);

    TestStuct ts1, ts2;
    ts1.first = 1, ts1.second = 2;
    ts2.first = 10, ts2.second = 20;


    tc1.show("tc1");
    tc2.show("tc2");

    add_tc = tc1 + tc2; // TestClass + TestClass
    add_tc.show("add_tc");

    add_tc1 = add_tc + ts1; // TestClass + TestStruct
    add_tc1.show("add_tc1");

    add_ts = ts1 + ts2; // TestStrcut + TestStrcut
    add_ts.show("add_ts");

    return 0;
    }
  • 重载运算符在函数外部

  1. 暂时未发现 Bug

  2. 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    /**
    * Author: Dgimo
    * Date: 2020/3/31
    * TODO: 结构体运算符重载
    * Describe:
    */


    #include <iostream>

    using namespace std;

    /*
    * 结构体运算符重载
    */
    typedef struct {
    int first;
    int second;
    } TestStuct;

    TestStuct operator+(TestStuct ts1, TestStuct ts2)
    {
    TestStuct res;
    res.first = ts1.first + ts2.first;
    res.second = ts1.second + ts2.second;
    return res;
    }

    bool show(TestStuct ts)
    {
    cout << "first: " << ts.first << ", second: " << ts.second << endl;
    }

    int main()
    {
    TestStuct ts1;
    ts1.first = 1;
    ts1.second = 2;

    TestStuct ts2;
    ts2.first = 2;
    ts2.second = 3;

    TestStuct res_t = ts1 + ts2;
    show(res_t);
    return 0;
    }
  • <<>> 只能定义友元函数

  1. 原因

    定义为成员函数,那么就隐含this指针了对吧,你要知道重载其实也是一种函数,那么函数就有调用他的对象,如果是成员函数,那么调用他的对象就肯定是想对应的类对象了对吧,但是<<和>>调用的对象肯定只能是cout或者cin对吧,那么久不能定义为成员函数了,只有定义成友元,那么就可以把cin,cout作为一个参数传进你重载的操作符函数里面去了

  2. 语法:

    1. 在类中:

      1
      friend ostream &operator <<(ostream &out, const ElemType &e);
    2. 在外面:

      1
      ostream &oprator <<(ostream &out, const ElemType &e);
  3. 代码

    1. 头文件(.h)

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      #ifndef ELEMTYPE_H
      #define ELEMTYPE_H

      #include <iostream>

      using namespace std;

      class ElemType
      {
      public:
      int data;
      ElemType();
      ElemType(int);

      friend ostream &operator <<(ostream &out, const ElemType &e); // Success

      protected:

      private:
      };

      #endif // ELEMTYPE_H
    2. 源文件(.cpp)

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      #include "ElemType.h"

      ElemType::ElemType()
      {
      //ctor
      this->data = 0;
      }

      ElemType::ElemType(int data)
      {
      this->data = data;
      }


      ostream& operator <<(ostream &out, const ElemType &e)
      {
      out << e.data;
      return out;
      }

JetBrains 家族其他软件的手法相似,按需使用即可,此路不通,找度娘

  • Win10

  1. 配置

    1. 下载 setting_3.zip, setting_4.zip, setting_5.zip, setting_6.zip, setting_7.zip, setting_8.zip

      数字越大,版本越新

    2. 打开 Clion

    3. 选择: File - Import setting

    4. 选择这个 setting 文件即可(一般全部导入,看个人)

  1. 取消开始界面打开默认项目配置
    1. 打开:File - Settings - Appearance & Behavior - System Settings
    2. 取消勾选 Reopen last project on startup
  1. 更改模板注释:

    1. 打开:File - Settings - Editor - File and Code Templates - Includes

    2. 下面有一个面板,在面板输入

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      #if ($HEADER_COMMENTS)
      /**
      * Author: ${USER_NAME}
      * Date: ${DATE}
      * TODO:
      * Describe:
      #if ($ORGANIZATION_NAME && $ORGANIZATION_NAME != "")
      * Copyright (c) $YEAR ${ORGANIZATION_NAME}#if (!$ORGANIZATION_NAME.endsWith(".")).#end All rights reserved.
      #end
      */
      #end

      参考文档

  1. Clion 多个 main 函数存在

    1. CMakeLists.txt 中加入

      1
      2
      3
      4
      5
      6
      7
      # 遍历项目根目录下所有的 .cpp 文件
      file (GLOB files *.cpp)
      foreach (file ${files})
      string(REGEX REPLACE ".+/(.+)\\..*" "\\1" exe ${file})
      add_executable (${exe} ${file})
      message (\ \ \ \ --\ src/${exe}.cpp\ will\ be\ compiled\ to\ bin/${exe})
      endforeach ()
    2. 为了方便可以自己定义快捷键:(个人用的是: Alt-Shift+R

      1. File - Settings - Keymap
      2. 搜索 Reload cmake project 即可
    3. 参考:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      cmake_minimum_required(VERSION 3.15)
      project(DataStruct)

      set(CMAKE_CXX_STANDARD 11)

      # 遍历项目根目录下所有的 .cpp 文件
      file (GLOB files *.cpp)
      foreach (file ${files})
      string(REGEX REPLACE ".+/(.+)\\..*" "\\1" exe ${file})
      add_executable (${exe} ${file})
      message (\ \ \ \ --\ src/${exe}.cpp\ will\ be\ compiled\ to\ bin/${exe})
      endforeach ()
  2. CMakeLists 自动加载

    1. 打开 Files - settings - Build, Execution, Deployment - CMake
    2. 选择 Automatically reload CMake project on editing
  1. 侧边栏无焦点自动隐藏
    1. 选择侧边栏的 扳手
    2. 选择 View Mode - Dock Unpinned
  1. 汉化步骤

    1. 下载 resources-cn.jar
    2. resources-cn.jar 复制到 安装目录下lib文件夹下
    3. 结束
  2. 快捷键

    快捷键 含义 备注
    Ctrl + Shift + U 大小写切换
    Ctrl + Shift + Space 补全单词 new后直接键入构造器、构造器内提供构造信息
    Ctrl + Alt + L 格式化代码
    Ctrl + Shift + Backspace 回到最后编辑的地方
    Ctrl + N 查找类
    Ctrl + F12 快速查看类成员
    Ctrl + P 提示参数信息
    Ctrl + Alt + B 查看接口、抽象类的实现类
    Ctrl + F7 找到某个类、变量、函数等在文中被使用到的的地方
    连续点击Shift 全局搜索
    Shift + F6 重新命名变量
    连续按两次Esc 搜索框就会消失
    Alt + insert 添加自动代码生成信息 新建新的文件
    Ctrl + j 插入完整的代码块 默认只有 for, iter, itit,也可以自己在 Setting—>Live Templates 里添加自定义的代码块
    Ctrl + Alt + -/+ 展开折叠当前函数、类
    Ctrl + Shift + -/+ 展开折叠所有函数、类
    Ctrl + Alt + T 就可以选择给这些代码包裹上 if, for 等(surround with)
  3. 自动换行

    idea设置自动换行其实很简单,只需要进行一步操作就可以了。

    看下图:我们只需要在相应的位置加上文件的类型就可以了,比如我们写的类都是.java文件,那么我们只需要加上 *.java就可以实现自动换行了。

  1. JetBrains学生认证:自行百度

  2. JetBrains sync配置同步:

    Files - Sync ……

  3. Clion 输出乱码

    1. 在设置里将编码都设置为UTF8,并点击OK保存设置;
    2. 按住Ctrl+Shift+Alt+/选中Registry...,然后取消掉 run.processes.with.pty 后面的

  • 双系统时间不一致

在Ubuntu的命令行使用

  1. 首先我们把硬件时间(BIOS时间)将默认的UTC改为CST,然后重启,使得两个系统的时间保持一致

    sudo timedatectl set-local-rtc 1kv

    #上述代码中的1改为0即可将硬件时间修改为默认的UTC时间

    sudo reboot

    #重启系统使改动生效

  2. 接着我们更新一下系统时间

    sudo apt-get install ntpdate

    #这里的操作是安装ntpdate工具

    sudo ntpdate time.windows.com

    #使用ntpdate工具从time.windows.com上面同步时间

  3. 最后我们将时间更新到硬件上,以保证重启后改动不会被还原

    sudo hwclock --localtime --systohc

    #这里的代码意思是使用hwclock命令将本地时间localtime从sysclock同步到hwclock

  • Windows Defender关闭

    1. cmd 运行 regedit
    2. 定位到: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SecurityHealthService
    3. 在右侧找到 DWORD(32位) 值,名为 Start
    4. 修改数值数据为4(十六进制)
    5. 重启文件资源管理器,或注销再登录/重启系统

    注意:

    1. 如果你安装第三方杀软或安全软件,Windows Defender会自动被关闭。
    2. start的默认值为 3
  • Ubuntu不能访问Windows下的磁盘

    1. 控制面板—系统和安全—电源选项—选择电源按钮的功能
    2. 首先点击上部分的 更改当前不可用的设置
    3. 然后去掉 启用快速启动(推荐) 前面的勾即可
    4. 这个时候再选择Windows关机后,就是完全关机了
  • 不能读取exfat格式的u盘问题

    1. Ubuntu默认不支持exfat格式的U盘,只需要运行如下的命令:sudo apt-get install exfat-utils
    2. 安装完成后重启即可
  • 不能挂载移动硬盘问题

    1. 在终端输入如下命令,查看分区挂载情况: sudo fdisk -l
    2. 输入下面的命令: sudo ntfsfix /dev/sdb1

      注意:/dev/sdb1 为移动硬盘的设备名,找到硬盘size对应的设备名

  • Ubuntu 更新慢

    1. 步骤:

      1. 选择 软件和更新
      2. 打开 软件和更新窗口
      3. 我们点击 Ubuntu软件 选项卡下的 其他站点
      4. 这里有好多国外的源及我们国内的源,我也试了不少,我目前使用的是aliyun的源,感觉速度还不错,其他国内的速度也都不可以,大家也可以试试。不要怕麻烦,就是要折腾
      5. 我们选择 mirrors.aliyun.com,然后点击 选择服务器
      6. 同样需要我们密码认证
      7. 修改成功
      8. 等待系统更新完毕,源更新成功后,会自动关闭窗口。此时,我们安装软件或更新软件(系统)就是用的我们选择的源啦。
    2. 网址:Ubuntu加快软件安装更新速度方法

  • Sublime快捷键

    1
    2
    3
    4
    [
    { "keys": ["ctrl+enter"], "command": "move_to", "args": {"to": "eol", "extend": false} },
    { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} },
    ]
  • 主题、配色

  1. 主题: Ayu
  2. 配色: Ayu-light
  3. 配置文件(首选项-设置):
    1
    2
    3
    4
    5
    6
    7
    8
    {
    "color_scheme": "Packages/ayu/ayu-light.sublime-color-scheme",
    "ignored_packages":
    [
    "Vintage"
    ],
    "theme": "ayu-light.sublime-theme"
    }