首页 > 编程语言 > 详细

Manjaro安装及配置教程

时间:2020-08-29 09:48:54      阅读:100      评论:0      收藏:0      [点我收藏+]

直接放链接https://blog.csdn.net/ArcueidCroft/article/details/105363360

下面是复制粘贴过来的内容,去上面的地址看

 

 

Manjaro系统的安装与各项配置

最后更新2020-07-30
本文包括

{

  1. manjaro安装

  2. qq的安装与配置

  3. 网易云的安装与bug解决(更新最新版本)

  4. julia的安装教程

  5. nvidia的驱动设置 (已更新

  6. 更换到deepin桌面

  7. 硬盘空间维护(清理pacman cache)

  8. 系统美化(美化shell);

  9. spaceVIm(基于neoVim)

}

先放一张成品图


*** 2020-7-30 版本 ***

一、(初始系统win系统)manjaro系统的安装

1、准备工作

1) 8g以上u盘*1(虽然实际根本不到8g)
2) 空闲的磁盘空间40g左右
3) 脑子

2、Manjaro镜像的下载

manjaro镜像下载有很多方式,可以去官方网站下载,官网下载可能速度较慢,所以也可以也可以去清华大学开源网站、中科大开源网站等等国内镜像站下载。
这里以清华为例(下称兔娜
1)搜索 “清华开源镜像站” 点击进入(不会有人不会百度吧,不会吧不会吧不会吧?)以防有人不会清华大学开源镜像站
2)找到manjaro-cd一栏,点进去会发现有~-xfce ~-gnome ~-kde选项,这代表三种不同的桌面版本(可以理解为装修不一样),个人推荐kde和gnome,两个桌面环境美化优秀(相比xfce可能更占),对于现在性能的电脑基本不在话下。
3)选择manjaro-kde进入选择一个版本(最好别选择后面带有pre的,这是测试版,可能会有bug)
4)选择后缀为.iso的文件下载即可(一般两三个G
ps:兔娜的源东西很多很稳定,但是还是软件不全,要下载一些软件建议各个开源站都去找找看

3、刻录U盘制作

1)下载刻录工具:
网上有很多刻录工具,我们这里推荐使用小巧的 rufus
2)刻录 iso
插入u盘
打开软件
选择设备为你插入的u盘
引导类型选择 镜像文件
选择你刚刚下载好的 iso 文件
选择开始( 警告:  DD 模式写入!切记!!!!
等待写入完成

4、制作Manjaro系统盘

1)右键 我的电脑
2)点击 管理
3)弹出界面点击 磁盘管理
4)右键一个有空余的磁盘,点击 压缩卷
5)按照提示压缩一个空白的磁盘出来,大小至少40g,压缩完以后下面会显示被压缩的磁盘有一部分黑色的 未分配 不用管。

5、进入BIOS更改启动程序

1)查找或者尝试(一般网上有),用各种方法进入BIOS
2)更改关闭 security boot 和 fast boot
3)如果第6部找不到启动项,回来bios调节使U盘优先级更高。
具体因为机型不同请自行百度。

6、安装Manjaro

1)插入U盘
2)重启,开机时狂按 某个键 (机型不同请百度自己的机型或者多重启测试)进入 bootmenu(启动选项)
3)进入 bootmenu 后选择USB UEFI 进入u
盘安装系统
4)进入界面后上下移动光标分别设置
tz(timezone) 为Asia/Shanghai
keytable为us(不动)
lang(language)为zh_CN
driver为free(开机以后会根据显卡类别重新安装的,不慌)
5)设置好后,移动光标到 BOOT:manjaro。XXXXXXX XXXX 回车进入安装界面

6)进入可视化安装界面以后点击桌面上的Install Manjaro开始安装
6.1)进入欢迎卡一会,然后选位置Asia/shanghai,键盘不动
6.2)分区一定要选择 手动分区,选择你之前压缩的那个 储存器 点击我们之前分好的那个区(此时在安装界面会显示这个区啥都没有,连颜色都么有),点击新建,让后挂载点设置为 / ,确定,下一步
6.3)为了简化安装不用继续分区,找到点击可以查看每个分区的属性,挨个查看,直到找到挂载点为 /boot 的分区,点击下面的属性把 /boot/efi 勾上确定。
7)用户设置,姓名,计算机名,用户密码,管理员(root)密码设置。(建议好好设置管理员密码,很重要)
8)点击 下一步 (剩下自己看着配置)
9)狂点 下一步
10)重启,选择进入 bootmenu 此时会出现选项manjaro,(可以把u盘取下来了)选择manjaro进入。

7.初步配置Manjaro

1)进入系统后,打开终端(在“开始菜单”里)
2)输入(回车键是运行!!!!!)
2.1)寻找国内镜像站

su
# 输入密码进入root权限(配置系统
pacman-mirrors -i -c China -m rank
# 排列出manjaro中国开源镜像站并弹窗(注意大小写)
# 选择任意一个镜像站,这里我们选择兔娜姐姐(清华大学镜像站https://mirrors.tuna.tsinghua.edu.cn/)

 

2.2)添加CN-Arch源

nano /etc/pacman.conf
# 使用nano编辑器编辑pacman(包管理器-理解为appstore)配置文件
# 在文件的最后两行加入
[archlinuxcn]
Server=https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

 

2.3) 更新指令 (常用)
上一步结束后执行(不用新开对话框,保证在su状态下执行就可

pacman -Syy # 软件包列表更新
pacman -S archlinuxcn-keyring # 导入key
pacman -Syu # 全局更新

2.4)安装中文输入法
这里推荐安装manjaro

pacman -S fcitx-im fcitx-configtool manjaro-asian-input-support-fcitx
pacman -S fcitx-cloudpinyin

 

安装好后输入

exit
# 退回普通用户
nano ~/.xprofile
# 使用nano编辑器编辑文件,如果文件不存在会自动创建

 

在文件中输入以下内容,并且按ctrl+o回车确定,ctrl+x退回终端

export LC_ALL=zh_CN.UTF-8
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=“@im=fcitx”

 

在fcitx设置中配置云拼音来源为百度。

2.5) 安装软件方法
可以在 开始菜单 中的 添加/删除软件 中直接安装,也记录下名称,在终端安装(终端安装好像帅一点?)

su # 如果已经在root环境下则不用提权

# 常用安装删除指令一览
pacman -S XXXXX
# 安装XXXXX

pacman -R XXXXX
# 删除XXXXX(Remove)(保留依赖的包)

pacman -Rs XXXXX
# 删除XXXXX以及其依赖的包(诛灭九族)

pacman -U XXXXX
# 安装自己下载的XXXXX包(taz.gz)

pacman -Sc
# 清理未安装的包文件

 

比如:

# 安装VScode
sudo pacman -S visual-studio-code-bin
# sudo命令自行百度(如果处于root状态,也就是“su”过了就可以不要)

# 安装网易云音乐(可能会有中文无法输入的bug,以后再更新
sudo pacman -S netease-cloud-music

安装完成后须在 开始菜单 中找到并且添加到桌面,不然是不会主动添加的

二、各类软件及bug

1、关于QQ(Tim无需修改文件就可以输入中文,而且表现更好)

安装QQ
打开一个终端

su # 提权
pacman -S deepin.com.qq.im

 

如果你安装的manjaro是gnome,那么恭喜你
大功告成!
但如果是xfce和kde,这时候还打不开qq
原因是缺乏一个必要的依赖,安装即可

pacman -S cinnamon-settings-daemon
/usr/lib/cinnamon-settings-daemon/csd-xsettings # 执行运行该环境

 

并且添加开机脚本(系统设置->开关机->自动启动->添加脚本->复制/usr/lib/cinnamon-settings-daemon/csd-xsettings,并且确定即可。
关于无法看到图片和头像
原因是不支持ipv6但是linux默认开启ipv6,禁用即可

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

 

PS:每次关机后重新打开QQ前都要重新输入,且禁用ipv6后无法使用软件版百度网盘,如需使用重新开启ipv6即可(上面的1改成0,重新执行)
关于聊天框不能输入中文
修改run.sh即可

nano /opt/deepinwine/apps/Deepin-QQ/run.sh

 

找个地方输入

export LC_ALL=zh_CN.UTF-8
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=“@im=fcitx”

 

保存,重新打开QQ即可(永久使用)

2、网易云bug

由于官方源和AUR以及yay都删除了网易云依赖的包 qcef ,所以需要我们自己编译安装 \

# 克隆脚本
git clone https://aur.archlinux.org/qcef.git
# 切换到路径
cd qcef
#编译安装
makepkg -si

### 注意安装过程中会要求输入密码

 

关于无法输入中文
修改.bash文件

sudo nano /opt/netease/netease-cloud-music/netease-cloud-music.bash

 

直接全部替换成我这个就行

#!/bin/sh
HERE="$(dirname "$(readlink -f "${0}")")"
#export LD_LIBRARY_PATH="${HERE}"/libs
#export QT_PLUGIN_PATH="${HERE}"/plugins 
#export QT_QPA_PLATFORM_PLUGIN_PATH="${HERE}"/plugins/platforms
export XDG_CURRENT_DESKTOP=DDE
export LD_LIBRARY_PATH=/usr/lib
exec "${HERE}"/netease-cloud-music $@

 

3、科学计算语言julia

安装

sudo pacman -S julia

安装好后更换国内镜像

julia # 回车进入julia
# 按"]"键进入Pkg包管理模式
(@v1.4) pkg> add PkgMirrors # 回车
# 安装好后,按"backspace"(退格键退出包管理模式)
julia> PkgMirrors.availables() # 列出可用镜像源
julia> PkgMirrors.setmirror("USTC") # 选择中科大镜像源

 

使用并且安装镜像

julia> import PkgMirrors # 每次重新打开都需要重新引用

# 全包升级
(1.4.0) pkg> update
# 安装XXXXX包
(1.4.0) pkg> add XXXXX

 

如果julia版本在1.4以上可以使用服务器加速下载

julia> ENV["JULIA_PKG_SERVER"] = "https://kr.pkg.julialang.org"
# 两组服务器
# https://pkg.julialang.org 位于美国
# https://kr.pkg.julialang.org 位于韩国首尔

 

然后再安装包

4、n卡双显卡的驱动(实现命令切换显卡)

本节部分引用自github显卡切换项目

1、删除开源驱动,安装闭源驱动

我们安装的时候安装的是开源驱动(free),如果直接安装nvidia驱动会黑屏卡死。
方法1)在 Manjaro-Setting-Manager(开始菜单里有)中找到 硬件设定 , 选择 Auto Install Proprietary Diver 安装闭源驱动。
删除带有bumblebee的驱动(右键删除)
方法2)命令行安装

sudo mhwd -i pci video-nvidia
# 选择你最合适的驱动安装(我的1060显卡是440)

 

查看显卡安装情况

# 普通用户下
mhwd -li

 

如果是看到有video-linux以及video-nvidia-xxxxx,而且后者的属性是 false 说明安装成功。否则重新装

切记:本流程未全部完成前千万别重启!

切记:本流程未全部完成前千万别重启!

切记:本流程未全部完成前千万别重启!

2、安装插件所需依赖

由于我们最后安装的插件是github直接下载的,没有附带环境依赖。所以我们先安装环境依赖文件。

sudo pacman -S linux54-headers acpi_call-dkms xorg-xrandr xf86-video-intel git

 

注意!

我的内核版本是5.4,所以我安装的是linux54-header,请安装前先查看自己的内核版本(系统设置 / 内核 查看正在运行的内核),选择对应的安装。比如你的是5.3,那就安装linux53-headers。

3、安装插件

先启用

sudo modprobe acpi_call

安装github插件

#从github克隆
git clone https://github.com/dglt1/optimus-switch-sddm.git 
cd ~/optimus-switch-sddm  # 切换到插件文件夹
chmod +x install.sh	      # 给安装程序添加权限
sudo ./install.sh	      # 安装插件

 

大功告成!

现在你可以用命令切换显卡了

# 启用Intel核显
sudo set-intel.sh

# 启用Nvidia-Prime
sudo set-nvidia.sh

 

4、“售后服务”

切换显卡后会发现字体大小发生了改变,而且登录界面也会变大或者缩小,这是因为字体的dpi并未固定:
系统字体:
系统设置 / 字体 选择固定DPI 值为96
登录界面:
系统设置 / 开机和关机 / 登录屏幕(SDDM)/ 高级 选择“同步”

解决画面撕裂
系统设置/显示和监控/混成器
设置“放缩方法” = 精确
“渲染后端” = OpenGL 3.1
“避免撕裂” = 全场景重华 // 此项如果显卡8行的话当我没说
”保留缩略图“ = 只对显示的窗口
点击应用,OK,现在可以快乐视频了!

5、“增值服务”

图形化界面
github图形化切换显卡项目

顺便说一句:我直接启动nvidia-prime之后删除了linux-video驱动,强制所有程序使用独显,现在还没出现啥大问题,只是耗电上去了。

切换到Deepin桌面环境

1、下载deepin桌面环境

sudo pacman -S deepin deepin-extra

 

2、修改配置

sudo nano /etc/lightdm/lightdm.conf

 

找到其中[*seat]下面的
greeter-session= 改成 greeter-session=lightdm-deepin-greeter
注意如果前面有#(处于注释状态)要删除#
3、(如果是KDE执行这步,不然跳过)禁用kde登录

sudo systemctl disable sddm

 

4、卸载原来的桌面工具(可选)

XFCE下
# 我之前有讲过Rsc命令
sudo pacman -Rsc xfce4
KDE下
sudo pacman -Rsc plasma
sudo pacman -Rsc kde-applications

 

5、重启电脑 享受Deepin

reboot
# 或者直接重启

 

6、还原KDE或者Xfce
按照我的步骤反推回去就行
7、售后服务
其实 还是KDE香,真的。

清理pacman cache(包管理缓存文件)

摘录自OSTechNix

在我们多次更新以后,可能遇到硬盘空间不够的问题(特别是 单硬盘双系统 用户),这个时候我们就需要进行包管理器的缓存清除。

# 提权
su

# 查看安装包缓存数量
ls /var/cache/pacman/pkg | wc -l

# 查看占用系统空间大小
du -sh /var/cache/pacman/pkg

# 保留最新的三个版本其余清除
paccache -r

# 只保留最新版本
paccache -rk 1

# 删除已经卸载的安装包的缓存
paccache -ruk0
# 等价于这一条命令
pacman -Sc

# 删除所以缓存文件(我上面已经讲过)
pacman -Scc
# 这条命令慎重使用

 

售后服务:

比如我想在安装完包后自动清理怎么办呢?
加入pacman脚本即可

# 新建一个脚本
sudo mkdir /etc/pacman.d/hooks
sudo nano /etc/pacman.d/hooks/clean_package_cache

 

打开后加入以下几行

# 触发脚本条件
[Trigger]
# 升级
Operation = Upgrade
# 安装
Operation = Install
# 删除
Operation = Remove
Type = Package
Target = *
# 执行以下动作
[Action]
# 屏幕显示:正在清除缓存
Description = Cleaning pacman cache...
When = PostTransaction
# 命令是
Exec = /usr/bin/paccache -r

 

最后的这个命令可以更改(改成你喜欢的就行)。

美化

shell的美化

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# 注意root身份也要执行一次
# 插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

 

 

配置文件

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
	ZSH_THEME="agnoster"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to automatically update without prompting.
# DISABLE_UPDATE_PROMPT="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see ‘man strftime‘ for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
	git 
	zsh-autosuggestions
	)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR=‘vim‘
# else
#   export EDITOR=‘mvim‘
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
################################################################################
#color{{{
autoload colors
colors

for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
eval _$color=‘%{$terminfo[bold]$fg[${(L)color}]%}‘
eval $color=‘%{$fg[${(L)color}]%}‘
(( count = $count + 1 ))
done
FINISH="%{$terminfo[sgr0]%}"
#}}}


#命令提示符
#RPROMPT=$(echo "$RED%D %T$FINISH")
#PROMPT=$(echo "$CYAN%n@$YELLOW%M:$GREEN%/$_YELLOW>$FINISH ")


#PROMPT=$(echo "$BLUE%M$GREEN%/
#$CYAN%n@$BLUE%M:$GREEN%/$_YELLOW>>>$FINISH ")
#标题栏、任务栏样式{{{
case $TERM in (*xterm*|*rxvt*|(dt|k|E)term)
precmd () { print -Pn "\e]0;%n@%M//%/\a" }
preexec () { print -Pn "\e]0;%n@%M//%/\ $1\a" }
;;
esac
#}}}




#关于历史纪录的配置 {{{
#历史纪录条目数量
export HISTSIZE=10000
#注销后保存的历史纪录条目数量
export SAVEHIST=10000
#历史纪录文件
export HISTFILE=~/.zsh_history
#以附加的方式写入历史纪录
setopt INC_APPEND_HISTORY
#如果连续输入的命令相同,历史纪录中只保留一个
setopt HIST_IGNORE_DUPS
#为历史纪录中的命令添加时间戳
setopt EXTENDED_HISTORY

#启用 cd 命令的历史纪录,cd -[TAB]进入历史路径
setopt AUTO_PUSHD
#相同的历史路径只保留一个
setopt PUSHD_IGNORE_DUPS

#在命令前添加空格,不将此命令添加到纪录文件中
#setopt HIST_IGNORE_SPACE
#}}}

# 补全{{{
#彩色补全菜单
eval $(dircolors -b)
export ZLSCOLORS="${LS_COLORS}"
zmodload zsh/complist
zstyle ‘:completion:*‘ list-colors ${(s.:.)LS_COLORS}
zstyle ‘:completion:*:*:kill:*:processes‘ list-colors ‘=(#b) #([0-9]#)*=0=01;31‘

#修正大小写
zstyle ‘:completion:*‘ matcher-list ‘‘ ‘m:{a-zA-Z}={A-Za-z}‘
#错误校正
zstyle ‘:completion:*‘ completer _complete _match _approximate
zstyle ‘:completion:*:match:*‘ original only
zstyle ‘:completion:*:approximate:*‘ max-errors 1 numeric

#kill 命令补全
compdef pkill=kill
compdef pkill=killall
zstyle ‘:completion:*:*:kill:*‘ menu yes select
zstyle ‘:completion:*:*:*:*:processes‘ force-list always
zstyle ‘:completion:*:processes‘ command ‘ps -au$USER‘

#补全类型提示分组
zstyle ‘:completion:*:matches‘ group ‘yes‘
zstyle ‘:completion:*‘ group-name ‘‘
zstyle ‘:completion:*:options‘ description ‘yes‘
zstyle ‘:completion:*:options‘ auto-description ‘%d‘
zstyle ‘:completion:*:descriptions‘ format $‘\e[01;33m -- %d --\e[0m‘
zstyle ‘:completion:*:messages‘ format $‘\e[01;35m -- %d --\e[0m‘
zstyle ‘:completion:*:warnings‘ format $‘\e[01;31m -- No Matches Found --\e[0m‘
zstyle ‘:completion:*:corrections‘ format $‘\e[01;32m -- %d (errors: %e) --\e[0m‘

# cd ~ 补全顺序
zstyle ‘:completion:*:-tilde-:*‘ group-order ‘named-directories‘ ‘path-directories‘ ‘users‘ ‘expand‘
#}}}


##行编辑高亮模式 {{{
# Ctrl+@ 设置标记,标记和光标点之间为 region
zle_highlight=(region:bg=magenta #选中区域
special:bold      #特殊字符
isearch:underline)#搜索时使用的关键字
#}}}

##空行(光标在行首)补全 "cd " {{{
user-complete(){
case $BUFFER in
"" )                       # 空行填入 "cd "
BUFFER="cd "
zle end-of-line
zle expand-or-complete
;;
"cd --" )                  # "cd --" 替换为 "cd +"
BUFFER="cd +"
zle end-of-line
zle expand-or-complete
;;
"cd +-" )                  # "cd +-" 替换为 "cd -"
BUFFER="cd -"
zle end-of-line
zle expand-or-complete
;;
* )
zle expand-or-complete
;;
esac
}
zle -N user-complete
bindkey "\t" user-complete
#}}}



#命令别名 {{{
alias cp=‘cp -i‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias ls=‘ls -F --color=auto‘
alias ll=‘ls -l --color=auto‘
alias grep=‘grep --color=auto‘
alias la=‘ls -a‘
alias pacman=‘pacman --color=auto‘
alias yay=‘yay --color=auto‘
#}}}


#漂亮又实用的命令高亮界面
setopt extended_glob
TOKENS_FOLLOWED_BY_COMMANDS=(‘|‘ ‘||‘ ‘;‘ ‘&‘ ‘&&‘ ‘sudo‘ ‘do‘ ‘time‘ ‘strace‘)


recolor-cmd() {
region_highlight=()
colorize=true
start_pos=0
for arg in ${(z)BUFFER}; do
((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]## #}}))
((end_pos=$start_pos+${#arg}))
if $colorize; then
colorize=false
res=$(LC_ALL=C builtin type $arg 2>/dev/null)
case $res in
*‘reserved word‘*)   style="fg=magenta,bold";;
*‘alias for‘*)       style="fg=cyan,bold";;
*‘shell builtin‘*)   style="fg=yellow,bold";;
*‘shell function‘*)  style=‘fg=green,bold‘;;
*"$arg is"*)
[[ $arg = ‘sudo‘ ]] && style="fg=red,bold" || style="fg=blue,bold";;
*)                   style=‘none,bold‘;;
esac
region_highlight+=("$start_pos $end_pos $style")
fi
[[ ${${TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]}:+yes} = ‘yes‘ ]] && colorize=true
start_pos=$end_pos
done
}
check-cmd-self-insert() { zle .self-insert && recolor-cmd }
check-cmd-backward-delete-char() { zle .backward-delete-char && recolor-cmd }

zle -N self-insert check-cmd-self-insert
zle -N backward-delete-char check-cmd-backward-delete-char

 

SpaceVim

安装

# root下
pacman -S neovim

# 普通用户下
curl -sLf https://spacevim.org/cn/install.sh | bash

 

自动配置不用管

Manjaro安装及配置教程

原文:https://www.cnblogs.com/IICaesar/p/13580722.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!