Ubuntu终端配置

选择shell

shell有很多,默认的是bash,一般就够用里,想要花里胡哨点就用zsh,还有最近比较火的fish

如果在刚开始安装完Ubuntu没有改shell,后面就不要改了。

安装的软件会设置环境变量,这些环境变量都是写入sehll的配置文件的,不同shell的配置文件也不同,会导致改完shell后可能识别不到原来安装的软件里,其实默认的bash也完全够用。

如果非要改,可以在新shell的配置文件里添加一句,source一下老shell的配置文件,这样可以继承之前的环境变量。

例如在.zshrc中添加一句source ~/.bashrc

主题 & 插件

如果选择了zsh,最好安装一下oh-my-zsh,后续安装主题插件之类的都方便.

如果装了oh-my-zsh,插件和主题都会放在~/.oh-my-zsh文件夹下,custom中放的是自己后加的主题和插件

插件不要太多,其实常用的就那么几个,装太多,又卡又没用。

主要就是:窗口美化,指令提示,复杂指令简化这么几个功能

git类插件看个人需求,我更倾向于用vscode里面自带的git管理功能。另外之前在WSL2中装了git插件感觉会有点卡,当然,可能是电脑问题。

美化就仁者见仁智者见智了,网上一大堆,没用细说的必要。

主题推荐powerlevel10k,自行百度教程。

效果图,更花里胡哨的也没用意义,简单好用就行。

配置终端窗口

对终端窗口就俩要求:

  • 方便分窗口,新建终端
  • 配色,背景,透明度可以调节

Ubuntu下可以使用terminator终端窗口,安装方便

直接sudo apt install terminator就可以了。

另外还可以尝试一下tmux,这个不是一个图形化的终端,类似于一个终端插件,安装方式也是sudo apt,tmux只能方便进行分窗口新建终端,没办法调节终端的透明度之类的外观因素。

配置代理

学校内网代理软件一般都不会自动给终端加代理,想要给终端代理,需要自己设置,终端里有几个内置的环境变量https_proxy,http_proxy,ALL_PROXY,默认为空,将他们设置为代理地址就可以了,建议将代理设置成一个脚本函数,可以自己控制是否开启代理

bash 复制代码
function proxy_on(){
	export ALL_PROXY=socks5://127.0.0.1:7897
    	export http_proxy=http://127.0.0.1:7897
    	export https_proxy=http://127.0.0.1:7897
    	echo -e "已开启代理"
}

function proxy_off(){
    unset ALL_PROXY
    unset http_proxy
    unset https_proxy
    echo -e "已关闭代理"
}

可以直接放在shell的配置文件里,也可以新建一个脚本文件,然后在对应的shell配置文件中进行source。

使用方法就是指令

bash 复制代码
proxy_on # 代理开
proxy_off # 代理关

配置vim

推荐使用neovim,有很多好用的插件。

如果使用vim,vim的全局配置文件在/etc/vim/vimrc或者/etc/vim,用户配置在~/.vimrc

我个人配置就一句:

bash 复制代码
set number # 开启行数显示
syntax on # 开启语法高亮

也可以用网上的很多大佬配置好的配置文件,但是那些都太复杂了,我们这些小喽啰就别逞强了,复杂项目还是用vscode方便。

换源

现在应该用不到换源了,至少在Ubuntu24.04中不需要了,安装的时候位置选择国内地址,会直接默认使用清华源。

相关推荐
djarmy5 分钟前
ubuntu20.04搭建openharmony6.0的master分支。构建编译环境报错解决记录
c语言·ubuntu
supersolon10 分钟前
Windows下WSL(Ubuntu24.04)安装Nodejs
linux·ubuntu·node.js
进击切图仔1 小时前
跨系统时间戳同步问题解决总结
linux
Benszen1 小时前
Docker容器化解决方案全解析
运维·docker·容器
badhope1 小时前
Docker从零开始安装配置全攻略
运维·人工智能·vscode·python·docker·容器·github
wsoz2 小时前
文件IO讲解
linux·嵌入式
mounter6252 小时前
基于MLX设备的Devlink 工具全指南与核心架构演进
linux·运维·服务器·网络·架构·kernel
wefg12 小时前
【计算机网络】网络基础 - 1(网络协议/TCP/IP协议栈/局域网内外数据传输/数据封装、解包、分用)
linux·服务器·网络
xuanwojiuxin2 小时前
[linux] what‘s the kdump?
linux·运维·服务器