Git 修正中文乱码

在 Linux (Mac)使用 git status 或者 git ls-files 的时候,若 git 在显示中文文件名的时候出现类似下面这个乱码: "\321\203\321\201\321\202\320\260\320\275\320\276\320\262" 这个因为 git 默认预设之会打印出 non-ASCII 字符,对于 UTF-8 的文件名或者信息,会用 quoted octal notation 印出。 Git has always used octal utf8 display, and one way to show the actual name is by using printf in a bash shell. Since Git 1.7.10 introduced the support of unicode, this wiki page mentions: By default, git will print non-ASCII file names in quoted octal notation, i.e. “\nnn\nnn…”. ...

四月 18, 2023 · 1 分钟 · 84 字 · HCY

VIM 全局搜索目录下所有文件关键词

vimgrep 和 lvimgrep 是 vim 内置的搜索命令,可以处理不太复杂的正则表达式 它们的搜索结果都会放入一个列表里面,grep 和 vimgrep 的搜索结果放在 quickfix list 里,quickfix list 可以使用 :cw 或者 :copen 在 vim 中打开,它的结果可以和所有的vim窗口共享;lgrep 和 lvimgrep 的结果存放在 location list 里,location list 是当前窗口的,可以使用 :lw 或者 :lopen 打开 最妙的是搜索结果在cw或lw展现的时候,可以回车跳转到指定文件的搜索文本的位置 g:代表所有匹配,而不是其中的一行匹配 j:代表vim不会自动跳转到第一个匹配的地方 比如要在当前文件夹下递归所有文件搜索tar或者是zip,就可以这样搜: 1 2 : lvim /\<\(tar\|zip\)\>/gj **/* : lw tip: 使用cword取当前文件光标所在出的文字,.vimrc配置如下: 1 map <F3> :execute "lvimgrep /" . expand("<cword>") . "/gj **/*" <Bar> lw<CR> 上述配置完成后,在vim中当前光标下,按下F3就会在vim的当前目录下搜索所有的文件及其子文件夹的文件,并显示出来,还可以使用 %:e 来做,意思是当前目录(%)下的同类型文件(e),如下: 1 map <F3> :execute "lvimgrep /" . expand("<cword>") . "/gj " . expand("%:e") <Bar> lw<CR> 关闭autocmds以加速搜索,使用vimgrep搜索上百个文件会很慢,而用外置的grep就很快,一个原因是vimgrep使用vim的时序来读取文件,而这个时序将执行几个autocommands,所以我们在检索时关掉这个功能就会提速不少,所以最终的vimrc中配置如下: 1 map <F3> :noautocmd execute "lvimgrep /" . expand("<cword>") . "/gj **/*" <Bar> lw<CR>

三月 22, 2023 · 1 分钟 · 93 字 · HCY

Git 自动化提交脚本 (bash)

我自己的: 1 2 3 4 5 6 cd $(dirname $0) cur=`date +%Y-%m-%d\ \|\ %H-%M-%S` git add -A git commit -m "$cur" git push -f origin main unset cur 网上的: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/bin/bash echo "=================" echo "auto git by JOEY" echo "======= 🤪 =========" echo -e " ▶ \033[33;1mgit add . \033[0m" git add . git status echo -e " ▶ \033[33;1mcommit message: \033[37;1m" read msg echo -e " ▶ \033[33;1mgit commit -m '$msg' \033[0m" git commit -m "$msg" echo -e " ▶ \033[33;1mgit push " echo -e "\033[37;1mstart pushing ...\033[0m " git push echo -e " \033[37;1mAll Done\033[0m"

三月 19, 2023 · 1 分钟 · 125 字 · HCY

VIM 自带的自动补全

VIM 的自带补全是根据上下文出现过的单词作为补全元的,将以下代码加入到你的 init.vim 里面就可以实现 Tab 触发补全以及连续使用 Tab 来进行切换选中补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 " Simple tab completion ----------------------------------------------------------------------------- " A simple tab completion, if you use the coc.nvim, you should remove this simple completion inoremap <expr> <Tab> getline('.')[col('.')-2] !~ '^\s\?$' \|\| pumvisible() \ ? '<C-N>' : '<Tab>' inoremap <expr> <S-Tab> pumvisible() \|\| getline('.')[col('.')-2] !~ '^\s\?$' \ ? '<C-P>' : '<Tab>' augroup SimpleComplete autocmd CmdwinEnter * inoremap <expr> <buffer> <Tab> \ getline('.')[col('.')-2] !~ '^\s\?$' \|\| pumvisible() \ ? '<C-X><C-V>' : '<Tab>' augroup END " When you use konsole, you may need this hi Pmenu ctermfg=yellow hi PmenuSel ctermbg=darkgray ctermfg=white 不过值得注意的是,这个 VIM 设置片段不应该与其他那些自动补全插件一起使用,容易造成冲突,比如不能和 coc.nvim 一起使用 ...

三月 19, 2023 · 1 分钟 · 114 字 · HCY

Podman 换源

Podman 默认注册表配置文件在 /etc/containers/registries.conf 国内的镜像源有: docker官方中国区 https://registry.docker-cn.com 网易 http://hub-mirror.c.163.com USTC http://docker.mirrors.ustc.edu.cn 阿里云 http://<你的ID>.mirror.aliyuncs.com 修改为以下内容: 1 2 3 4 5 6 # 这个是添加 dockerhub 的搜索源 unqualified-search-registries = ["docker.io"] [[registry]] prefix = "docker.io" location = "xxxxxxxx.mirror.aliyuncs.com"

三月 19, 2023 · 1 分钟 · 33 字 · HCY