首页 > 系统相关 >年枫的 NOI Linux!

年枫的 NOI Linux!

时间:2025-01-01 11:41:27浏览次数:1  
标签:Plug set NOI vim symbols let 年枫 Linux airline

前言

改用 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=2

call 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=2

call 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

标签:Plug,set,NOI,vim,symbols,let,年枫,Linux,airline
From: https://www.cnblogs.com/NianFeng/p/18645417

相关文章

  • Linux中的包名"xxx"和"xxx-dev"有什么区别?
    1.引入在安装包的时候,有时候需要安装xxx的包,有时候又需要安装xxx-dev的包(在CentOS系列发行版上则是xxx-devel)。这两类包之间又什么区别呢?2.结论不包含-dev的包里面包含的是运行所需要的二进制文件或者连接库文件(如xxx.so),而包含-dev的包则包含包的源码文件(如.h文件),为的......
  • NOIP2024 游记
    花开于尘世梦乡,何不着不遗余力去绽放。写于赛前不觉间,又是清秋至。从去年12月到现在,我参加了那么多比赛,认识了那么多人,取得了那么多并不显眼却令我满意的成绩。一年过去,平衡树还是没有完全学懂,但是图论和DP也还是强了些吧。至少现在的我不会再因为有不懂的算法而痛失分数......
  • Linux第一课:c语言 学习记录day01
    0、大纲1、Linux命令2、基础内容:进制转换、词法符号、变量常量、输入输出3、语句:分支语句、循环语句、循环控制语句4、数组:一维数组、字符数组、排序、二维数组5、指针:一级指针、二级指针、指针和数组、指针数组、数组指针6、函数:函数基本用法、string函数族、开辟堆区空......
  • Linux入门基础(Centos7)
    Linux入门基础Linux内核Linux的目录结构Linux的层级关系表示Linux命令基础格式ls命令cd命令pwd命令相对路径和绝对路径特殊路径符mkdir命令touch命令cat命令more命令cp命令mv命令rm命令which命令find命令grep命令wc命令管道符echo命令反引号重定向符tail命令vim编辑器命......
  • NOIP2024游记?
    NOIP2024早就该写了,一直不知道写什么。进场之前有些激动,可能是紧张,更多可能是兴奋。每次大考之前都这样,合理吗?感觉系统还算流畅,先把四个题溜一眼。T1看了一会,我不会!又读几遍题,似乎是分成若干段再贪心就完了,细节没多想。看T2,真不是直接计数就好了(狂喜)。T3是啥啊?T4是啥啊?写T1,细......
  • Linux 虚拟机环境安装(jdk/mysql/redis/tomcat/nginx/挂载)
    =================================================================准备工作=================================================================yuminstallwgetyuminstall-ygcc-c++pcrepcre-develzlibzlib-developensslopenssl-develyuminstallchkconfi......
  • Linux 部署kkfileview4.0.0
    =================================================================linux部署kkfileview4.0.0=================================================================#安装LiberOfficewgethttps://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gztar-z......
  • Linux 部署filebrowser2.31.2
    =================================================================linux部署filebrowser2.31.2=================================================================#tar.gz安装包下载:https://github.com/filebrowser/filebrowser/releases/latestcd/usr/local/linux/f......
  • centos/linux安装shellcheck报错
    centos/linux安装shellcheck报错在centos上安装shellcheck时,可能会因为各种各样的原因安装不了,如下:笔者在安装时使用命令sudoyuminstallshellcheck时常报错404,403等等还有就是笔者在用wget方式安装时也是不行,连不上github,显示连接超时这可让我犯愁了,要编写shell脚本需要......
  • Linux上安装jdk
    在线环境的话,通过命令下载,离线环境的话,组要自行去oracle官网下载后上传wget--no-check-certificate--no-cookies--header"Cookie:oraclelicense=accept-securebackup-cookie"http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa8016......