年枫的 NOI Linux!

news/2025/1/4 8:09:06/文章来源:https://www.cnblogs.com/NianFeng/p/18645417

前言

改用 Vim 之后,发现和命令行打交道的机会变多,使用系统设置的终端慢慢地显得单调。最近还在家里重装了 Win10,要用 VMWare 弄一个 NOI Linux,所以顺手整理了一下鼠的模板 NOI Linux!

不得不说,网上的教程是真的碎,搞的人都快麻了。限于技术,没有图片,将就一下吧(

基本配置

首先改中文。右上角设置找 Region,然后 Manage,找中文。为什么要下 10 多分钟?我爱你 NOI Linux(bushi)。然后时间设置就好搞了。

壁纸用 元芳的清明节海报,头像用 崖子老师的图VSCode 用来当写题之外的工具,配置有点讲究。先更新一发,然后安装中文(简体)、C/C++、vscode-pdf 和 cnblogs 客户端 4 个插件。ctrl-K ctrl-T 改个 Monokai 主题,之后进设置,Auto Save 设成 afterDelay,5 ms;代码字体大小开 20 px,终端字体开 16px;终端放右边(方便以后转回 VSCode);搜 Bracket,关掉括号着色;搜 Sticky Scroll,三种全关掉;搜 Cursor,开启平滑插入动画,紧接着设前后行为 5;最后,重中之重,带 Hints 和 Suggest 的全部关掉,VSCode 启动!

其他的话,下个 Snipaste 截屏,顺手在“启动应用程序”里设置一下 开机自启动。下个 Edge,因为 Firfox 上不了 bilibili,没法 听歌 找资源;Firefox 和 Edge 都要备 Tampermonkey 以及 Hoxx,方便上 CF、AT 等国外 OJ,以及 LOJ。(为什么学校的 Firefox 有 Hoxx 了?为什么家里的没有?)

左侧栏从上往下放:文件、Firefox、Edge、Vim、计算器、VSCode、Sublime(、TeXstudio,这个后面看情况装)。

然后 改下载源,进行软件更新。在 /etc/apt 里开 sudocp 保存旧设置 sources.listsources.list.bak,编辑 sources.list 用下面的覆盖:

deb ____ focal main restricted universe multiverse
deb-src ____ focal main restricted universe multiverse
deb ____ focal-updates main restricted universe multiverse
deb-src ____ focal-updates main restricted universe multiverse
deb ____ focal-backports main restricted universe multiverse
deb-src ____ focal-backports main restricted universe multiverse
deb ____ focal-security main restricted universe multiverse
deb-src ____ focal-security main restricted universe multiverse
deb ____ focal-proposed main restricted universe multiverse
deb-src ____ focal-proposed main restricted universe multiverse

____ 处填 htps://mirrors.ustc.edu.cn/ubuntu/(国防科大源)或 https://mirrors.tuna.tsinghua.edu.cn/ubuntu/(清华源)。推荐用 国防科大源,因为 本土大学 清华源安装 oh-my-bash 可能会寄。

后面的 focal 挺有趣的,好像是说 Ubuntu 每个版本都有个动物做 codename,用来指代 url 之类的。

终端美化

从首选项开始。使用内置方案的 Tango 暗色。很久之前觉得浅色的 Solarized 挺好看的,但是 Vim 在这种主题下颜色比较难受,过了挺长时间才发现问题出在主题上,难绷。

设一下 自定义透明度和颜色,大概叠两层能看清第下面那层的字就行,方便 Vim 和终端同屏 debug。用下面的颜色就行:

#2E3436 #FF2D2D #72CF1B #C4A000 #2879E1 #D26BE3 #08C0C0 #D3D7CF
#555753 #EF2929 #8AE234 #FCE94F #729FCF #EF4040 #34E2E2 #EEEEEC

第二行的亮紫色变成红色是为了修改 Vim 高亮配色,适应带壁纸的半透明主题。

下面就可以安装 oh-my-bash 了。cd 到主目录,先从 Github 上获取项目:

git clone https://github.com/ohmybash/oh-my-bash.git .oh-my-bash

同样 cp 保存 .bashrc.bashrc.bak,接下来从下载项目里面整出新配置:

cp .oh-my-bash/templates/bashrc.osh-template .bashrc

Vim 一下找到 OSH_THEME,后面主题改成 powerline-icon:source % 生效文件,于是就会发现终端乱码了。具体的,至少箭头没了,所以要 sudo apt-get install fonts-powerline 安装一下字体,这比较 trivial。

Vim 美化

说实在的,VSCode 的自动补全吾很不喜欢(虽然光标和 Monokai 的配色好评),Sublime 的高光配色极度好评,但 Vim 永远的神。

首先需要解决 Vim 没有 系统剪切板 的问题,sudo apt-get install vim-gtk 装就完事了,很快。

改完终端的基本配置,Vim 美化已经有了基础。接下来就是整插件,管理器用的是 Plug

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

但是直接运行下载 可能会卡死,因为 Github 的 raw.githubusercontent.com 大概率无法连接。这也比较 trivial,终端 ping raw.githubusercontent.com 查询 IP,接着在 /etc/hosts 里面加上 __IP__ raw.githubusercontent.com 即可。(upd:你说的对,但是家里安装炸了。考虑 Github 官网上下载 plug.vim 直接扔到 .vim/autoload 里,快多了。)(upd':家里安装没炸,是下面的 call plug 大写了 P,大家注意一下。菜鼠是这样的 qwq。)

然后在 .vim 里面 mkdir plugged plugin syntax colors doc 就安装完 Plug 了,可以开个 Vim 用 :PlugInstall 测有没有成功。(似乎可以不用?)

打开 .vimrc,上面没有配置这个玩意儿,顺手修了,文末放完整版。先加入这几行:

set ts=3
set shiftwidth=3
set softtabstop=3
set expandtab
set autoindent
set cindent
set nu
set showcmd
set laststatus=2call plug#begin('~/.vim/plugged')
call plug#end()

分别设置的是 3 格缩进、空格代替 tab、自动缩进、显示行号、显示命令、永久显示状态栏,还有 Plug 插件安装区。(好像 Plug 自带了一个注释延续的功能?爽!)然后一个个安装插件。

rainbow

高亮括号。.vimrc 里往安装区和末尾分别写:

Plug 'luochen1990/rainbow'
let g:rainbow_active = 1   " 设置全局变量,开启 vim-ranbow
let g:rainbow_conf = {     " 设置颜色、匹配对象和特殊情况\  'ctermfgs': ['lightblue', 'lightyellow', 'lightgreen', 'lightcyan', 'lightmagenta'],\  'parentheses': [['(', ')'], ['\[', '\]'], ['{', '}']],\  'separately': {'*': {}, 'nerdtree': 0, }\}

不用 GVim,所以没写 'guifgs',两个去掉 'fg' 的也省了,不影响;不想高亮标点符号,于是也删掉了 'operators'。'parentheses' 的配置看不懂,从简了。(谁来教一下 qwq!)只写 cpp,最多写 Bash、Python、Java,花里胡哨的 'separately' 也快清空了,不过由于 后面的 NERDTree 有冲突,保留了 'nerdtree' 选项。

实际上,自动下载远端会挂,手动 git clone 一样的,可以直接 下 zip 安装 解决。进入解压之后的文件夹,pwd 后复制本地路径,把上面 Plug 后面的字符串改成本地路径就可以 :PlugInstall 了。唔,好像 CSDN 有国内镜像可以解决问题?

airline

美化状态栏。配置不熟,需要参考 这篇文章。同样在 .vimrc 里往安装区和末尾分别写:

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
let g:airline_theme = "wombat"      " 更换 wombat 主题
let g:airline_powerline_fonts = 1   " 支持 Powerline 字体
let g:airline#extensions#tabline#enabled = 1                " buffer 区域美化
let g:airline#extensions#tabline#formatter = 'unique_tail'  " 合并显示路径,类似 VSCode
let g:airline#extensions#tabline#buffer_nr_show = 1         " 显示 buffer 编号
if !exists('g:airline_symbols')     " 状态栏分隔美化let g:airline_symbols = {}
endif
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.colnr = ' ℅:'
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ' :'
let g:airline_symbols.maxlinenr = '☰ '
let g:airline_symbols.dirty='⚡'

airline 的一堆选项不知道怎么设,只能说 txt 写的说明书真的帅,也真的看不懂,先将就着吧。后面这一团乱码是 PowerLine 字体,可以在解压文件的 /doc/airline.txt 里找,直接从 Github 复制也不是不行。所以,为什么 branch 也挂了(

NERDTree

文件目录。配置不熟,需要参考 这篇文章。应该已经轻车熟路了:

Plug 'preservim/nerdtree'
let g:NERDTreeWinSize = 25    " 设置默认宽度
map <F3> :NERDTreeMirror<CR>  " F3 映射开关
map <F3> :NERDTreeToggle<CR>
autocmd vimenter * NERDTree   " 自动开启、没有文件时开启、只有 NERDTree 时关闭
autocmd vimenter * if !argc()|NERDTree|endif
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
let g:NERDTreeDirArrowExpandable = '▸'    " 设置图标
let g:NERDTreeDirArrowCollapsible = '▾'
let g:NERDTreeShowHidden = 1  " 显示隐藏文件
let NERDTreeMinimalUI = 1     " 其他美化
let NERDTreeDirArrows = 1

“没有文件时开启”这一项看起来有点小丑。有个 'NERDTreeIgnore' 可以用来屏蔽部分文件,没写。进一步的美化先鸽了,加了个 F3 打开目录树的快捷键就跑路。

Surround

半自动配对。感觉这个比较鸡肋,但是装一个似乎又好用,有点尴尬。但是吾用惯了 Vim 自动缩进,拒绝装 auto-pairs,所以整个 vim-surround 磨合一下:

Plug 'tpope/vim-surround'

现行 .vimrc

现在知道为什么网上搜到的配置文件都好长一个了。

set ts=3
set shiftwidth=3
set softtabstop=3
set expandtab
set autoindent
set cindent
set nu
set showcmd
set laststatus=2call plug#begin('~/.vim/plugged')
Plug '/home/test/下载/rainbow-master'
Plug '/home/test/下载/vim-airline-master'
Plug '/home/test/下载/vim-airline-themes-master'
Plug '/home/test/下载/nerdtree-master'
Plug '/home/test/下载/vim-surround-master'
call plug#end()let g:rainbow_active = 1
let g:rainbow_conf = {\  'ctermfgs': ['lightblue', 'lightyellow', 'lightgreen', 'lightcyan', 'lightmagenta'],\  'parentheses': [['(', ')'], ['\[', '\]'], ['{', '}']],\  'separately': {'*': {}, 'nerdtree': 0, }\}let g:airline_theme = "wombat"
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline#extensions#tabline#buffer_nr_show = 1
if !exists('g:airline_symbols')let g:airline_symbols = {}
endif
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.colnr = ' ℅:'
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ' :'
let g:airline_symbols.maxlinenr = '☰ '
let g:airline_symbols.dirty='⚡'let g:NERDTreeWinSize = 25
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>
autocmd vimenter * NERDTree
autocmd vimenter * if !argc()|NERDTree|endif
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
let g:NERDTreeShowHidden = 1
let NERDTreeMinimalUI = 1
let NERDTreeDirArrows = 1

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

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

相关文章

CH340C 请求 USB 设备描述符失败

简短不看版如果出现上述状况,说明线有问题:线的确是数据线(不是电源线),但是不是能与CH340正常通讯的数据线(数据线的数据传输功能有问题。 需要更换其它数据线.前文该文分享CH340驱动使用过程可能出现的问题,以下出现的问题解决方案都建立在CH340硬件正常的情况下。CH3…

CH32V203F6P6-TSSOP20测试之02

一、问题思考 直接用官方提供的例程,为何下载程序后没有什么响应,难道自己设计的电路有什么不妥? 于是,对于电路进行具体分析,结果发现: 第一、官方的BOOT0采用杜邦线连接,在芯片手册好像找不到关于BOOT0的叙述,仅仅在《CH32V20x评估板说明书》中看到:也就是说,这芯片…

PVC

短线反弹

大语言模型提示技巧(一)-指令要清晰、具体

在与大语言模型对话时,应该提供尽可能清晰和具体的指令来表达希望模型执行的操作,这将有助于模型给出接近你所期待的输出,并降低得到无关或不正确回复的可能性。但需要注意的是,编写清晰的指令不意味着编写简短的指令,事实上,更长的提示实际上更清晰且提供了更多的上下文…

再见2024,一个算法研发的个人年终总结

元旦将近,显然又是一年岁末。 同事开始讨论中午吃什么,以及晚上的跨年计划之类的大问题。 我开始努力回想自己的2024,秉承着毕业以来每年写个人总结的习惯, 也因为近年来自己的节奏和生活越来越快,只能在年终的节点停下来回顾下自己的历程。 前言 我打开了自己的相册,下面…

; 自动设置电脑快捷键的AutoHotkey脚本程序源代码 2025年1月1日

; 自动设置电脑快捷键的AutoHotkey脚本程序源代码 2025年1月1日 ; 自动设置电脑快捷键的AutoHotkey脚本程序源代码 2025年1月1日;======== 设置显示或者隐藏MasterSeeker和Total Commander主窗口的快捷键的AutoHotkey脚本2024.10.21 ========= ; 此脚本从此行开始 ; D:\app\Re…

记 Redisson 报错 attempt to unlock lock, not locked by current thread

原文:记一次 Redisson 线上问题 → 你怎么能释放别人的锁错误信息: attempt to unlock lock, not locked by current thread by node id: b9df1975-5595-42eb-beae-bdc5d67bce49 thread-id: 52查看日志,找到对应的堆栈信息 Exception in thread "thread0" java.la…

您的公司需要小型语言模型

当专用模型超越通用模型时 “越大越好”——这个原则在人工智能领域根深蒂固。每个月都有更大的模型诞生,参数越来越多。各家公司甚至为此建设价值100亿美元的AI数据中心。但这是唯一的方向吗? 在NeurIPS 2024大会上,OpenAI联合创始人伊利亚苏茨克弗提出了一个观点:“我们所…

2024年12月总结及随笔之1T资料灭失

2024年12月总结及随笔之1T资料灭失1. 回头看 日更坚持了731天。读《数据质量管理:数据可靠性与数据质量问题解决之道》更新完成 读《图数据库实战》更新完成 读《数据保护:工作负载的可恢复性》开更并持续更新2023年至2024年12月底累计码字1834939字,累计日均码字2510字。 2…

JDK 23 新特性解析

1. 前言 JDK 23 是 Java SE 平台版本 23 的参考实现,2024 年 9 月 17 日正式发布。本文将详细解析 JDK 23 的主要新特性。 2. 新特性总览JEP 特性名称 状态 说明455 模式中的原始类型、instanceof 和 switch 预览 扩展模式匹配,允许在所有模式上下文中使用原始类型,并在 ins…

关于 Pycharm 2024 安装激活使用教程以及常见问题(激活至2026,实际上永久,亲测!)

申明:本教程 Pycharm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 !卸载老版本 Pycharm 首先,如果小伙伴的电脑上有安装老版本的 Pycharm , 需要将其彻底卸载掉,如下所示(没有安装则不用管,直接安装即…

待完成

简介 协程 执行前、执行中、执行后 全部都可以被完美正确的取消;执行前取消 这个好理解; 执行中,是协程内核 尝试取消;若开发者内部是大耗时协程,开发者自己也可以 通过 IsCancel 判断来结束协程; 执行后,但是有可能衍生出来了很多子协程,这些子协程又是有 前、中、后 …