从零配置 linux 开发环境

news2024/9/20 22:02:12

文章目录

  • 目的
  • 效果图
  • 配置本地 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 cloud
        HostName xxx.xxx.xxx.xxx
        User remote_linux_machine_user_name
        Port your_port
        IdentityFile ~/.ssh/id_ssh_cloud
        ServerAliveInterval 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.coloradmin.cn/o/736408.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go语言开发者的Apache Arrow使用指南:高级数据结构

经过对前面两篇文章《Arrow数据类型》[1]和《Arrow Go实现的内存管理》[2]的学习,我们知道了各种Arrow array type以及它们在内存中的layout,我们了解了Go arrow实现在内存管理上的一些机制和使用原则。 Arrow的array type只是一个定长的、同类型的值序列…

[SWPUCTF 2021 新生赛]jicao

点进去后是一段php代码 <?php highlight_file(index.php); include("flag.php"); $id$_POST[id]; $jsonjson_decode($_GET[json],true); if ($id"wllmNB"&&$json[x]"wllm") {echo $flag;} ?> 包含了flag.php文件&#xff0c;设定…

数据结构关键路径问题:下面是一个有10个活动的AOE图,时间余量最大的活动是()

关键路径问题 名人说&#xff1a;莫听穿林打叶声&#xff0c;何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 本篇笔记整理&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 关键路径问题〇、概念说明1、AOE网2、关键路…

4-软件错误(BUG)

目录 1.什么是bug? 2.如何描述一个bug? ①发现问题的版本 ②问题出现的环境 ③错误重现的步骤 ④预期行为的描述 ⑤错误行为的描述 ⑥其他 ⑦不要把多个bug放到一起 PS&#xff1a;案例1 PS&#xff1a;案例2 3.如何定义bug的级别&#xff1f; ①Blocker&#x…

FFmpeg5.0源码阅读—— avcodec_send_packetavcodec_receive_frame

摘要&#xff1a;本文主要描述了FFmpeg中用于解码的接口的具体调用流程&#xff0c;详细描述了该接口被调用时所作的具体工作。   关键字&#xff1a;ffmpeg、avcodec_send_packet、avcodec_receive_frame   读者须知&#xff1a;读者需要了解FFmpeg的基本使用流程&#xf…

CUDA C编程及GPU基本知识【二】

文章目录 1、CPU和GPU的架构2、CPUs: 延迟导向设计和GPUs: 吞吐导向设计2.1 CPUs: 延迟导向设计2.2 GPUs: 吞吐导向设计2.3 GPU&CPU特点2.4 GPU编程&#xff1a;什么样的问题适合GPU 3、GPU编程与CUDA3.1 CUDA编程并行计算整体流程3.2 CUDA编程术语3.2.1 硬件3.2.2 内存模型…

Hive分桶

分桶的概述 为什么要分桶 数据分区可能导致有些分区数据过多&#xff0c;有些分区数据极少。分桶是将数据集分解为若干部分(数据文件)的另一种技术。分区和分桶其实都是对数据更细粒度的管理。当单个分区或者表中的数据越来越大&#xff0c;分区不能细粒度的划分数据时&#x…

阐述说明NLP发展历史,以及 NLP与chatgpt的关系

自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;是人工智能&#xff08;AI&#xff09;领域的一个重要分支&#xff0c;关注计算机与人类&#xff08;自然&#xff09;语言之间的交互。NLP的目标是使计算机能够理解、生成和解释自然语言&…

心法利器[89] | 实用文本生成中的解码方法

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会&#xff0c;与大家一起成长。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2022年新一版的文章合集已经发布&#xff0c;累计已经60w字了&#xff0c;获取方式看这里&…

[CVPR‘23] PanoHead: Geometry-Aware 3D Full-Head Synthesis in 360 deg

论文&#xff5c;项目 总结&#xff1a; 任务&#xff1a;3D human head synthesis现有问题&#xff1a;GANs无法在「in-the-wild」「single-view」的图片情况下&#xff0c;生成360度人像解决方案&#xff1a;1&#xff09;提出了two-stage self-adaptive image alignment&am…

C++ 设计模式之策略模式

文章目录 一、简介二、场景三、举个栗子四、小结参考资料 一、简介 策略模式的定义很简单&#xff1a;即创建一系列的算法,把它们一个个封装起来 , 并且使它们可相互替换&#xff08;用扩展的方式来面对未来变化&#xff09;。在GoF一书中将其定位为一种“对象行为式模式”&…

vs code insiders 配置c语言

vs code insiders 配置c语言 1.下载插件 2.再配置代码 &#xff08;1&#xff09;launch.json {// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/…

操作系统的可扩展访问控制

访问控制是操作系统安全的基石&#xff0c;当前的操作系统已部署了很多访问控制的模型&#xff1a;Unix和Windows NT多用户安全&#xff1b;SELinux中的类型执行&#xff1b;反恶意软件产品&#xff1b;Apple OS X&#xff0c;Apple iOS和Google Android中的应用沙盒&#xff1…

RNN介绍

时间序列的表示 [seq_len, batch_size, vec ] seq_len表示一个句子通常有多少个单词或者一个序列有多少个时间段,batch_size表示同时多个样本,vec表示单词的编码长度 请问rnn和lstm中batchsize和timestep的区别是什么? - 知乎 (zhihu.com) import torch import torch.nn …

MYSQL05高级_查看修改存储引擎、InnoDB和MyISAM对比、其他存储引擎介绍

文章目录 ①. 查看、修改存储引擎②. InnoDB和MyISAM对比③. Archive引擎 - 归档④. Blackhole引擎丢数据⑤. CSV - 引擎⑥. Memory引擎 - 内存表⑦. Federated引擎 - 访问远程表⑧. Merge引擎 - 管理多个MyISAM⑨. NDB引擎 - 集群专用 ①. 查看、修改存储引擎 ①. 查看mysql提…

Spring Boot原理分析(一):项目启动(上)——@SpringBootApplication

文章目录 〇、准备工作一、SpringBootApplication.java源码解析1.源码2.自定义注解3.组合注解4.注解ComponentScan过滤器 5.注解SpringBootConfigurationConfiguration 6.注解EnableAutoConfiguration 本文章是Spring Boot源码解读与原理分析系列博客的第一篇&#xff0c;将会介…

Mac(M1Pro)下运行ChatGLM2

最近很多人都尝试在M1/M2芯片下跑chatglm/chatglm2&#xff0c;结果都不太理想&#xff0c;或者是说要32G内存才可以运行。本文使用cpu基于chatglm-cpp运行chatglm2的int4版本。开了多个网页及应用的情况下&#xff08;包括chatglm2)&#xff0c;总体内存占用9G左右。chatglm2可…

PYTHON+YOLOV5+OPENCV,实现数字仪表自动读数,并将读数结果进行输出显示和保存

最近完成了一个项目&#xff0c;利用pythonyolov5实现数字仪表的自动读数&#xff0c;并将读数结果进行输出和保存&#xff0c;现在完成的7788了&#xff0c;写个文档记录一下&#xff0c;若需要数据集和源代码可以私信。 最后实现的结果如下&#xff1a; 项目过程 首先查阅文…

从单体到SpringBoot/SpringCloud微服务架构无感升级的最佳实践

目录导读 从单体到SpringBoot/SpringCloud微服务架构无感升级的最佳实践1. 业务背景2. 当前问题3. 升级方案3.1 架构设计4. 详细设计4.1 迁移阻碍4.2 解决思路 5. 实现过程5.1 认证兼容改造5.2 抽象业务流程5.2.1 抽象业务的思路5.2.2 抽象业务的抽象编码5.2.3 抽象业务的具体实…

BFF网关模式开发指南

BFF是近些年新衍生出来的一种开发模式&#xff0c;或者说是一种适配模式的系统&#xff0c;BFF全称为Backend OF Front意为后端的前端&#xff0c;为了适配微服务模式下前端后端系统接口调用混乱而出现的。在如今微服务盛行的趋势下&#xff0c;大型系统中划分出了数十个服务模…