archLinux安装记录
基于wsl的arch
启用wsl
首先,按Win + S搜索启用或关闭Windows功能(Turn Windows features on or off),打开虚拟机平台和WSL,并重启Windows。

重启后,进入Windows设置,检查更新。
更新完成后,进入Power Shell,执行:
            
            
              bash
              
              
            
          
          wsl --set-default-version 2
        这样可以将默认WSL版本设置为WSL2。
下载Arch Linux
到清华大学TUNA开源镜像站下载Arch Linux:
Index of /archlinux/iso/latest/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
下载archlinux-bootstrap-xxxx.xx.xx-x86_64.tar.gz,注意是tar.gz文件。
安装Arch Linux
在GitHub下载LxRunOffline,Releases · DDoSolitary/LxRunOffline,选mingw或msvc版本均可。
- 
在你想要安装Linux的位置创建一个目录,我这里选择D:\Arch。
 - 
将刚才下载好的tar.gz放进D:\Arch
 - 
将LxRunOffline解压好也放进D:\Arch
 - 
在D:\Arch文件夹空白位置,右击,打开Power Shell。
 - 
在Power Shell中,输入:
bash.\LxRunOffline i -n Arch -f archlinux-bootstrap-2022.05.01-x86_64.tar.gz -d D:\Arch -r root.x86_64-n后面跟一个系统名称,可自取。
-f后面跟上你下载的Arch Linux压缩包,注意日期。
-d后面跟上你的安装目录。
 - 
在Power Shell中,输入:
 
            
            
              bash
              
              
            
          
          wsl --set-version Arch 2
         Arch是你起的系统名,将Arch设为WSL2。
进入Arch Linux
- 进入Power Shell,输入
 
            
            
              bash
              
              
            
          
          wsl -d Arch
        - 删除/etc/resolv.conf
 
            
            
              bash
              
              
            
          
          rm /etc/resolv.conf
        - 退出,回到Power Shell
 
            
            
              bash
              
              
            
          
          exit
        - 重启Arch Linux
 
            
            
              bash
              
              
            
          
          wsl --shutdown Arch
wsl -d Arch
        - 添加清华Tuna源,打开pacman配置
 
            
            
              bash
              
              
            
          
          cd /etc/
explorer.exe .
         打开pacman.conf,在文件末尾添加:
            
            
              bash
              
              
            
          
          [archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
        - cd到下一级目录pacman.d,编辑mirrorlist,取消注释掉China的两个清华Tuna源链接,当然也可以取消注释所有链接。
 

- 回到Arch Linux,执行
 
            
            
              bash
              
              
            
          
          pacman -Syy
pacman-key --init
pacman-key --populate
pacman -S archlinuxcn-keyring
        - 安装基础软件
 
            
            
              bash
              
              
            
          
          pacman -S base base-devel vim git wget curl
        创建Linux账号
在Arch Linux中
- 给root加密码:
 
            
            
              bash
              
              
            
          
          passwd
        - 新建普通用户
 
            
            
              bash
              
              
            
          
          useradd -m -G wheel -s /bin/bash 用户名
passwd 用户名
        - 给用户提权。编辑/etc/sudoers
 
            
            
              bash
              
              
            
          
          vim /etc/sudoers
         将wheel ALL=(ALL) ALL取消注释,保存并退出。
- 查看当前id
 
            
            
              bash
              
              
            
          
          id -u 用户名
         记录下账号id
- 退出Arch Linux,回到Power Shell
 
            
            
              bash
              
              
            
          
          exit
        - 执行
 
            
            
              bash
              
              
            
          
          .\LxRunOffline su -n Arch -v 账户id
         -n后面跟WSL虚拟机的名字,我的是Arch。
 这样,下一次登录会自动进入刚创建的用户。
语言本地化 方法一
- 编辑/etc/locale.gen
 
            
            
              bash
              
              
            
          
          vim /etc/locale.gen
         将en_US.UTF8 UTF-8和zh_CN.UTF8 UTF-8取消注释,如果需要其他语言,请一并取消注释。
- 执行
 
            
            
              bash
              
              
            
          
          locale-gen 
locale
locale -a
        - 编辑/etc/locale.conf
 
            
            
              bash
              
              
            
          
          vim /etc/locale.conf
         添加如下内容
            
            
              bash
              
              
            
          
          # /etc/locale.conf
LANG=en_US.UTF-8
        重启Arch Linux,即可完成配置
语言本地化 方法二(设置 Locale 进行本地化)
Locale 决定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
- 
编辑 /etc/locale.gen,去掉en_US.UTF-8 所在行以及 zh_CN.UTF-8 所在行的注释符号(#)。
 - 
然后使用如下命令生成 locale。
 
 locale-gen
- 向 /etc/locale.conf 导入内容
 
 echo 'LANG=en_US.UTF-8' > /etc/locale.conf
终端显示中文!!
在 ~/.bashrc里单独设置中文 locale,即添加下面两行到文件的最开头
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
        安装Neovim
- 进入Arch Linux,执行:
 
            
            
              bash
              
              
            
          
          sudo pacman -S neovim
        - 安装配套软件:gcc/g++/gdb
 
            
            
              bash
              
              
            
          
          sudo pacman -S gcc gdb
        - Python
 
            
            
              bash
              
              
            
          
          sudo pacman -S python
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
pip install neovim
        - Node.js
 
            
            
              bash
              
              
            
          
          sudo pacman -S nodejs npm
npm install neovim
        - 用Neovim替代Vim,如果你装了zsh,编辑/.zshrc,若没装,编辑/.bashrc。
 
            
            
              bash
              
              
            
          
          alias vi='vim'
alias vim='nvim'
        Neovim
配置Neovim基本选项
- 在Arch Linux的用户根目录~中,建立如下目录结构:
 

            
            
              bash
              
              
            
          
          cd ~
mkdir .config && cd .config
mkdir nvim && cd nvim
mkdir lua && cd lua
mkdir user && cd user
mkdir conf dap lsp
        - 在nvim文件夹下新建init.lua,在user文件夹下新建options.lua。
 
编辑init.lua,编写加载程序:
            
            
              bash
              
              
            
          
          require "user.options"
         保存并退出。
- 
编辑options.lua,编写基本配置:
local options = {
cmdheight = 1,
showmode = true, --右下角显示模式
conceallevel = 0,
termguicolors = true, --如果安装第三方主题,必须设置为true
mouse = 'a', --允许鼠标
fileencoding = 'utf-8', --utf8编码
ignorecase = true, --查找时忽略大小写
smartcase = true, --智能大小写
smartindent = true, --智能锁进
cindent = true,
autoindent = true, --自动缩进
tabstop = 4, --Tab宽度
shiftwidth = 4, --每次Shift调整的缩进
number = true, --行号
relativenumber = true, --相对行号
showtabline = 2,
wrap = false, --不自动换行
cursorline = true, --高亮当前行
cursorcolumn = false, --不高亮当前列
showcmd = true, --右下角显示命令
}
--这里只列举基础的配置,更多选项可以在Vim中:set all查询--应用上面配置
vim.opt.shortmess:append 'c'
for k, v in pairs(options) do
vim.opt[k] = v
endvim.cmd "set whichwrap+=<,>,[,],h,l"
--WSL与Windows同步剪贴板
vim.cmd([[
let g:clipboard = {
\ 'name': 'win32yank-wsl',
\ 'copy': {
\ '+': 'win32yank.exe -i --crlf',
\ '': 'win32yank.exe -i --crlf',
\ },
\ 'paste': {
\ '+': 'win32yank.exe -o --lf',
\ '': 'win32yank.exe -o --lf',
\ },
\ 'cache_enabled': 0,
\ }
]]) 
按键映射
由于我的键盘可以更改键位,所以我选择不进行按键映射,如果需要设置按键映射,可以进入南风璇的文章
现代Neovim配置-(2)-按键映射 - 知乎 (zhihu.com)
插件管理
在Neovim中,推荐使用基于Lua的Packer作为插件管理器。
1.安装Packer
            
            
              bash
              
              
            
          
          git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim
        - 安装插件
 
 在~/.config/nvim/lua/user下创建plugins.lua。
 编辑~/.config/nvim/init.lua,追加:require 'user.plugins'
 编辑plugins.lua,添加:
return require('packer').startup(function()
    	use 'wbthomason/packer.nvim'
	
end)
         在function()和end之间添加你需要的插件:
 比如安装One Dark主题:
return require('packer').startup(function()
    use 'wbthomason/packer.nvim'
    use "navarasu/onedark.nvim"
end)
        保存并退出,重新进入Neovim,执行命令::PackerSync
- 卸载插件
 
 打开plugins.lua,将想要卸载的插件注释掉或删除掉。
退出并重新打开Neovim,执行::PackerClean
- 设置自动同步
 
 我们不希望在安装插件的时候反复重启Neovim,可以在plugins.lua文件头部追加:
vim.cmd [[
	augroup packer_user_config
		autocmd!
		autocmd BufWritePost plugins.lua source <afile> | PackerSync
	augroup end
]]
         这样每次保存plugins.lua文件时,Packer会自动同步插件,无需重启Neovim。
- 浮窗显示Packer(这个功能我没有设置成功)
 
 在plugins.lua中添加:
packer.init {
	display = {
		open_fn = function()
		    return require('packer.util').float { border = 'rounded' }
		end,
	}
}
        zsh(已完成,待编写)
oh-my-zsh
插件
netofetch
安装Neofetch并使用它在终端中显示系统信息
- 安装
 
sudo pacman -S netofetch
- 使用
 
neofetch
