/dotfiles

use stow to manager my dotfiles

Primary LanguageShellGNU General Public License v2.0GPL-2.0

dotfiles

使用stow管理我的配置文件

alacritty

使用的字体是SauceCodePro Nerd Font,这是Source Code ProNerd版本。

使用的主题配色是Gruvbox Material Dark Medium

i3-and-i3blocks

i3blocks中的配置文件依赖于一些我写的或者网上找到的脚本,可能在其他机器上运行效果不好,需要根据用途修改。

配置好了的效果如下: i3wm效果图

nvim

使用的是轻量化的插件管理器vim-plug而且我认为vim并不需要很优秀的补全方案,如果实在很依赖智能补全,完全可以使用VS code或者IDE搭配它们提供的vim插件,因此我安装插件的原则还是够用就行,尽量精简。

补全框架真的香!


我使用的插件:

插件功能 插件名
括号自动补全 jiangmiao/auto-pairs
彩虹括号 luochen1990/rainbow
为起始页提供更多功能 goolord/alpha-nvim
更方便地使用内置终端 skywind3000/vim-terminal-help
更方便地运行外部命令 skywind3000/asyncrun.vim
markdown预览插件 iamcco/markdown-preview.nvim
一种很好看的配色 morhetz/gruvbox
可以sudo保存文件 lambdalisue/suda.vim
显示缩进线 Yggdroot/indentLine
括号编辑 tpope/vim-surround
状态栏 nvim-lualine/lualine.nvim
代码片段 hrsh7th/vim-vsnip
查找、过滤、预览、选择 nvim-telescope/telescope.nvim

提供的功能:

  • <Leader>rn编译并运行(预览)bash python c lisp tex asm rust的代码文件
  • <Leader>m预览markdown文件
  • <Leader>ff查找文件
  • <Leader>fg在工作路径下查找

使用此功能需要ripgrep

  • <Leader>fb列出所有的缓冲区
  • <Leader>fh列出帮助
  • <Leader>t打开或关闭错误提示

文件搜索效果:

文件搜索

代码一键运行效果: 代码一键运行


代码补全:

用到的插件有 neovim/nvim-lspconfig hrsh7th/cmp-nvim-lsp hrsh7th/cmp-buffer hrsh7th/cmp-path hrsh7th/cmp-cmdline hrsh7th/nvim-cmp hrsh7th/cmp-vsnip hrsh7th/vim-vsnip neovim/nvim-lspconfig simrat39/rust-tools

支持 lua、rust、C、/、C++、python、bash 等

补全提示效果:

代码补全


其他:

:make 会在当前目录下执行./build.sh,这只是我的个人习惯,可以删去lua/basic.lua中的set.makeprg = './build.sh'

执行完make之后可以使用copen查看信息。

zsh

我认为使用如oh-my-zsh这样的插件管理器会让zsh的启动速度变慢很多,因此我是手动管理的插件。

在我使用Archiso和发行版grml的时候,我意外地发现它们的默认zsh配置是如此地好用,因此我使用的是来自grml官网的配置文件,而我自己的配置在.zsh_custom_rc中。

安装grml官网的教程,可以很轻松地下载到grml配置的zshrc

wget -O .zshrc https://git.grml.org/f/grml-etc-core/etc/zsh/zshrc

我使用的插件:

插件功能 插件名
使用fzf快速补全 fzf-tab.plugin.zsh
fish一样高亮 zsh-syntax-highlighting.zsh
在敲命令时实时提示 zsh-autosuggestions.zsh
提供更强大的补全 zsh-completions.plugin.zsh
C-r搜索历史记录时使用fzf zsh-fzf-history-search

lf

启动lf之前首先要初始化ueberzug,因此alias lf=lfub,该脚本用于初始化工作,在scripts目录中。

打开:

功能 依赖名称
图片 viewnior
视频 mpv
pdf zathura
opendocument libreoffice
压缩或打包文件 aunpack
根据 mime type mimeopen

预览:

很多文件种类的预览都是基于将封面转换为图片来实现的

功能 依赖名称
图片 ueberzug
视频 ffmpegthumbnailer
多媒体 mediainfo
html lynx
markdown glow
epub gnome-epub-thumbnailer
pdf pdftoppm
其他文本 bat
zip atool
opendocument odt2txt
加密 gpg

其他:

功能 依赖名称
终端 alacritty
剪贴板 xclip
仓库状态 git

要在/usr/share目录下找到脚本git-prompt.sh,用于显示仓库状态

ranger

(已弃用,如今使用 lf )

只是安装了一个主题ranger_devicons

git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons

urxvt

使用的也是Gruvbox主题。

urxvt配置较为麻烦的一点就是字体文件只有写入配置文件才会被使用,你可以使用命令fc-list | awk -F : '{ print $2 }'来查看你的系统中字体的名字。

user-dirs

关于用户目录中如DownloadDocuments等子目录的本地化配置。

40-libinput.conf

libinput的触摸板配置。