从零配置 linux 开发环境

文章目录

  • 目的
  • 效果图
  • 配置本地 Windows 主机
    • 好用工具
    • WSL
    • SSH 连接远程 Linux 开发机
    • 配置本机字体
    • 【in-prog】配置 vscode 远程连接
  • 配置远程 Linux 主机
    • zsh & oh-my-zsh
    • 配置 github 的 SSH
    • neovim
      • vundle
        • init.vim 文件
      • vim-plug
        • .lua 文件
    • tmux
    • clang
    • cpplint

目的

记录下我的开发环境的配置流程,方便以后自己在新机上配置
github:我的 Linux 配置

效果图

在这里插入图片描述
vim-plug 的配置效果
在这里插入图片描述
vundle 的配置效果
在这里插入图片描述

配置本地 Windows 主机

好用工具

Snipaste:一款很好用的截图工具有很多 QQ 截图没有的功能
steam 和 uu 加速器:没有好心情写不了代码

WSL

在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker
解决windows 安装wsl的部分问题

安装好后,更新下 Ubuntu 软件包
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
sudo reboot 重启 Ubuntu

SSH 连接远程 Linux 开发机

目的:用 WSL 连接远程 Linux 开发机

  1. 在本地计算机的终端里打开 WSL
  2. 运行 ssh-keygen -t rsa, 一直回车, 生成 SSH 密钥对(公钥和私钥)
  3. 密钥将保存在 ~/.ssh 目录下,文件名为 id_rsa(私钥)和 id_rsa.pub(公钥)。
  4. cat ~/.ssh/id_rsa.pub 输出的公钥内容,手动复制到剪贴板里。
  5. 来到远程服务器,如果 ~/.ssh 目录不存在,创建并设置正确的权限:mkdir -p ~/.ssh 然后 chmod 700 ~/.ssh
  6. 将公钥内容追加到 ~/.ssh/authorized_keys 文件末尾

最后,将下面这段代码追加到 WSL 的 ~/.ssh/config 文件末尾

Host cloudHostName xxx.xxx.xxx.xxxUser remote_linux_machine_user_namePort your_portIdentityFile ~/.ssh/id_ssh_cloudServerAliveInterval 3

执行 ssh cloud 就能连接远程 Linux 开发机

配置本机字体

font Downloads 安装字体
在这里插入图片描述
下载后打开压缩包,随便选一个安装,然后来终端设置字体
在这里插入图片描述
在这里插入图片描述
配色我喜欢 Solarized Dark,字体选 Hack Nerd Font 点保存,如果提示找不到字体,重启终端即可

【in-prog】配置 vscode 远程连接

vscode 的「File」→「Preferences」→「Settings」→「Text Editor」→「Font」→「Font Family」末尾追加 , Hack Nerd Font

配置远程 Linux 主机

centos 和 ubuntu 配置起来都差不多

zsh & oh-my-zsh

写得很好的一篇博客: Zsh-Powerlevel10k: 最好看,方便,实用的命令行主题
再安装个插件:zsh-syntax-highlighting

LS_COLORS 可以这样配
export LS_COLORS="rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:"

配置 github 的 SSH

Github配置ssh key的步骤(大白话+包含原理解释)
github 上创建一个空的项目,里面有教怎么把代码 push 上去
在这里插入图片描述

neovim

vundle

安装 YouCompleteMe 代码补全工具

init.vim 文件

vim-plug

.lua 文件

这里可以看到各种牛逼的配置: neovimcraft
我选最多星的:NvChad
看下 安装要求,得全部满足
得先安装好各种组件,其中 neovim 至少要安装 0.9.0 版本的
apt-get 的版本很老,只有 0.6.1,先把 neovim 删掉
跳转后,下载并解压 nvim-linux64.tar.gz,把解压后的 前面的路径/bin/nvim 添加到 $PATH 里

具体安装见 NvChad: 最簡單且完整的 Vim 設置
NvChad 是一个强大的预配置库,用户基于它能更快的改出自己合意的配置
nvchad 后续配置

tmux

clang

cpplint

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/13986.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea配置本地maven保姆级教程

一、说在前面 idea默认会带有maven插件,原则上是可以不需要配置的。但有个缺点,他是把本地仓库直接安装在了系统盘里面,随着时间的推移,仓库越来越大,笔记本的压力会比较大。 本文是下载自己的maven包,集…

Linux命令(41)之top

Linux命令之top 1.top介绍 linux命令top是用来实时监测服务器资源的使用状况&#xff0c;包含进程、cpu、内存等等 2.top用法 top [参数] top常用参数 参数说明-d屏幕刷新时间间隔-i<time>设置刷新时间间隔-u<user>指定用户名-p<pid>指定进程号 top命令中…

运输层:TCP可靠传输

1.运输层&#xff1a;TCP可靠传输 笔记来源&#xff1a; 湖科大教书匠&#xff1a;TCP可靠传输 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 TCP实现可靠传输的方式&#xff1a;以字节为单位的滑动窗口 发送方将31 ~ 41号报文段发送 假设32 ~ 3…

【人工智能与机器学习】基于卷积神经网络CNN的猫狗识别

文章目录 1 引言2 卷积神经网络概述2.1 卷积神经网络的背景介绍2.2 CNN的网络结构2.2.1 卷积层2.2.2 激活函数2.2.3 池化层2.2.4 全连接层 2.3 CNN的训练过程图解2.4 CNN的基本特征2.4.1 局部感知&#xff08;Local Connectivity&#xff09;2.4.2 参数共享(Parameter Sharing)…

深度学习实战41-基于LSTM-GRU模型搭建对糖尿病数据的预测与应用

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下深度学习实战41-基于LSTM-GRU模型搭建对糖尿病数据的预测与应用&#xff0c;本文将向大家介绍一种基于LSTM-GRU的糖尿病预测模型&#xff0c;包括模型的原理、中文糖尿病csv数据样例、利用PyTorch框架进行模型训练与…

基于单片机的语音识别智能垃圾桶垃圾分类的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;液晶显示当前信息和状态&#xff1b;通过语音识别模块对当前垃圾种类进行语音识别&#xff1b; 通过蜂鸣器进行声光报警提醒垃圾桶已满&#xff1b;采用舵机控制垃圾桶打开关闭&#xff1b;超声波检测当前垃圾桶满溢程度&#xff1…

K8s集群部署最新Jenkins 2.387.1

K8s集群部署最新Jenkins 2.387.1 概述环境准备设置存储目录并启动NFS服务安装 NFS 服务端 动态创建 NFS存储&#xff08;动态存储&#xff09;部署jenkins服务 概述 Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作…

虚假人脸检测实验

虚假人脸检测实验 虚假人脸识别 数据集链接 链接&#xff1a;https://pan.baidu.com/s/1hDyJ91dAwI5j5GTR0hD_cA?pwd4cki 原理 ResNet-18是一种经典的CNN网络&#xff0c;是 Deep Residual Learning 团队在 2017 年提出的。它是为了解决 ImageNet 数据集上的图像分类任务而…

SOLIDWORKS小问题解答 硕迪科技

众所周知&#xff0c;SOLIDWORKS的使用者非常多&#xff0c;在使用过程中呢也会有一些小问题&#xff0c;前几天就有朋友来咨询了两个问题&#xff0c;可能其他使用者也有这样的问题&#xff0c;所以今天硕迪科技统一为大家解答 问题一&#xff1a;SOLIDWORKS装配图中的颜色怎么…

Java对象内存布局和对象头

文章目录 1 定义2 详细介绍2.1 对象头2.1 实例数据2.1 对齐填充 3 JOL查看内存布局 1 定义 2 详细介绍 2.1 对象头 【对象标记】 Mark Word 【类元信息】 又名类型指针 2.1 实例数据 2.1 对齐填充 3 JOL查看内存布局 public class ObjectLayout {public static void …

前端学习——CSS3

新增长度单位 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>Document</title><style>* {margin: 0;padding: 0;}.box1 {width: 200px;height: 200px;background-color: deepskyblue;…

FPGA综合设计实验:基于PWM脉宽调制的呼吸流水灯设计

目录 一、引言 二、项目准备 1.项目预期目标 2.项目原理及总体实现思路 三、项目模块设计 1.顶层模块 2.按键控制模块 3.呼吸灯模块 4.数码管显示模块 5.二进制转BCD码模块 四、项目测试 1.仿真测试 2.实物测试 五、项目总结 1.选题思考与过程反思 2.设计的具体…