平滑滚动功能测试
这个页面用来测试平滑滚动和高亮功能。
普通锚点测试
点击下面的链接测试普通的锚点跳转:
跳转到第一节
跳转到第二节
跳转到第三节
第一节
这是第一节的内容。Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua.
子标题 1.1
更多内容…
子标题 1.2
更多内容…
第二节
这是第二节的内容。Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
第三节
这是第三节的内容。Duis aute irure dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat nulla pariatur.
MathJax公式测试
测试Ma ...
基础的mbr启动
首先安装编译器nasm:sudo apt install nasm
写一个基础的启动demo:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859;主引导程序
;------------------------------------------------------------
SECTION MBR vstart=0x7c00
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov fs,ax
mov sp,0x7c00
; 清屏 利用0x06号功能,上卷全部行,则可清屏。
; -----------------------------------------------------------
;INT 0x10 功能号:0x06 功能描述:上卷窗口
;----------------------- ...
配置环境
安装bochs
安装x11环境:
sudo apt-get install libx11-dev libxrandr-dev libxpm-dev # Debian/Ubuntu
正常可以通过sudo apt install bochs bochs-x一键安装,但是我还是选择手动从源码编译。
选择安装bochs 2.8版本
123456789101112131415161718192021222324252627wget https://jaist.dl.sourceforge.net/project/bochs/bochs/2.6.2/bochs-2.6.2.tar.gz?viasf=1 .
mv bochs-2.6.2.tar.gz* bochs-2.6.2.tar.gz
tar zxvf bochs-2.6.2.tar.gz
cd bochs-2.6.2/
# 注意这里你的安装目录修改成自己的
./configure \
--prefix=/opt/bochs \
--enable-debugger \
--enable-disasm \
--enabl ...
fnos 修改ip地址
NOTE
最简单的可以直接nmtui终端图形化修改,编辑ip地址即可,也可以参考下面的手动修改配置文件
使用终端方法修改ip地址
配置文件都在目录:/etc/NetworkManager/system-connections
修改对应网卡配置文件即可,例如我的是Wired\ connection\ 1.nmconnection:
123456789101112131415161718192021[connection]
id=Wired connection 1
uuid=f64bdc14-ec23-3822-80fd-524052387046
type=ethernet
autoconnect-priority=-999
interface-name=eno1
timestamp=1737565491
[ethernet]
[ipv4]
address1=192.168.6.180/24,192.168.6.1
...
linux重命名账户名
重命名仅需要用root用户执行以下命令:
123456789101112131415161718192021export olduser=gxt_kt
export newuser=gogongxt
# 修改用户名
sudo usermod -l ${newuser} ${olduser}
# 重命名主目录
sudo mv /home/${olduser} /home/${newuser}
# 修改用户组名
sudo groupmod -n ${newuser} ${olduser}
# 更新主目录的所属用户和组
sudo chown -R ${newuser}:${newuser} /home/${newuser}
sudo usermod -d /home/${newuser} -m ${newuser}
# 手动编辑配置文件,将旧用户名替换为新用户名
cat /etc/passwd | grep ${olduser}
cat /etc/shadow | grep ${olduser}
cat /etc/group | grep ${olduse ...
环境变量使用export导出
在当前shell设置环境变量有两种方式:
ABC="123"
export ABC="123"
第一种只对当前文件有效,对子shell无效
❌bash other.sh
其实也是开了一个子shell,所以第一种方法对这个无效
❌sudo bash -c "echo $ABC" 同理也不行。
✅sudo echo $ABC
可以获取,因为$ABC会直接在当前shell展开
第二种对当前shell和子shell都有效,因此以上三种都可以获取到值
因此export可以让环境变量传递下去,当已有变量ABC,想export可以直接export ABC
在当前shell使用sudo执行命令的一些特殊技巧
-E 等价于 –preserve-env
保留原来环境变量,如果不指定,则会清空当前用户环境变量。
-H 等价于 –set-home 设置home为新用户的
所以这两个组合起来用很好用,也就是-EH或者-HE没区别
测试示例帮助理解这两个参数的使用:123456789101112131415161718192021222324252627282 ...
git进阶学习资料:
https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
git小技巧
git基础概念
commit branch HEAD
commit就是节点,可以理解为整个git就是通过一个个commit构建起来的,每个commit都会基于一个父节点。commit
通过哈希值唯一标识
branch会指向一个具体的节点
HEAD指向一个分支(间接指向了那个分支的commit节点),如果直接指向某个具体的commit,则处于detached状态,新的提交不属于任何分支,新提交可能丢失,所以需要及时转成新的分支
git reset和git
checkout切换commit区别
理解这个,你首先需要理解git基础概念的知识,理解branch和HEAD的区别
git reset移动的是HEAD当前所在的分支,把当前分支移动到某个commit节点
git checkout移动的是HEAD,进入detached HEAD状态
branch仍然指向原来的commit节点 git chec ...
windows的alacritty配置文件存放在:
%APPDATA%\alacritty\alacritty.toml
文件内容基本可以参考我的linux配置:https://github.com/gxt-kt/dotfiles/blob/master/alacritty/.config/alacritty/alacritty.toml
只需要额外注意以下内容:
因为默认不能使用<C-/>或者说是<C-_>快捷键,所以在配置里已经加入了
1234[keyboard]
bindings = [
{ key = "Slash", mods = "Control", chars = "\u001f" }
]
如果需要alacritty启动的时候自动启动wsl,那么配置加入以下内容:
123[terminal.shell]
# default is "powershell" in windows ( https://alacritty.org/config-alacritty.html#terminal )
program = "C:\\Users\ ...
im-select
nvim自动切换中英文输入法
自动切换中英文输入法使用的是im-select软件
nvim插件:https://github.com/keaising/im-select.nvim
关于im-select的安装可以参考https://github.com/keaising/im-select.nvim
安装完成之后,可以实现在进入到编辑模式时自动切换输入法到中文,退出编辑模式(例如esc)会自动进入到英文。
这个针对本地的终端有用,但是如果是用ssh连接,因为ssh没法知道本地的im-select软件在哪,所以就要麻烦一点。
不过已经有人实现了:https://github.com/mkdir700/im-select-remote.nvim
这个远程支持ssh的我没实际尝试,就不多讲了。


