我的软件常用配置

400 阅读10分钟

[TOC]

新环境的必备配置

edge浏览器

//如何关闭edge推荐的强密码 地址栏输入 edge://settings/autofill/passwords/settings 或者 要关闭Microsoft Edge在注册或更改密码时推荐的强密码,你可以在设置中关闭一个开关。具体操作如下:

  1. 在Edge浏览器中,点击右上角的“设置及其他”(...图标)。
  2. 选择 “设置”
  3. 在左侧选择 “密码和自动填充”
  4. 继续选择 “Microsoft密码管理器”
  5. 点击 “更多设置”,找到 “建议强密码” 的选项。
  6. 将对应的开关关闭即可。

Q:[windows]如何避免window的电脑的git自动将LF转换为CRLF

A:对所有项目统一设置

sh
git config --global core.autocrlf false

这个命令会将Git的core.autocrlf选项设置为false,意味着Git不会自动将LF转换为CRLF

git配置

设置:

        git config --global user.name "你的姓名"
        git config --global user.email "你的邮箱"
        git config --global core.editor vim  #设置commit编辑工具为vim
        git config --global core.autocrlf false  #意味着Git不会自动将`LF`转换为`CRLF`。

查询:

git config --global --list

新生成SSH-key

ssh-keygen -t rsa -C "<你的邮箱>"

生成后,会在当前用户的目录下,生成一个.ssh隐藏目录,目录中会有【id_rsa】和【id_rsa.pub】两个文件,一个是私钥,一个是公钥。你现在就可以复制使用了

.gitignore的常用配置:

**/*.o
**/*.pinfo
**/*.so.map
**/*.so
**/*.a
**/*.map
**/*.pyc

Q:有什么命令行工具,在git不同的branch时,会在bash的提示符前,提示用户当前branch

A:你可以通过配置PS1环境变量来自定义命令行提示符的显示内容。以下是一个示例的bash shell配置文件(例如~/.bashrc):

export PS1="\u@\h:\w\[\033[01;32m\]\$(__git_ps1)\[\033[00m\]\$ "

这个配置会在命令行提示符前显示当前用户、主机名、工作目录以及当前分支的名称。其中,\$(__git_ps1)是用于获取当前分支名称的Git命令。

要使更改生效,你需要重新加载配置文件或关闭并重新打开终端窗口。

请注意,上述配置假设你正在使用bash shell。如果你使用的是其他shell(如zsh),则需要根据该shell的语法进行相应的修改。

如果__git_ps1找不到,可以使用:


export PS1="\u@\h:\w\[\033[01;32m\]\$(git branch 2>/dev/null | sed -n 's/^* \(.*\)/ (\1)/p')\[\033[00m\]\$ "

Q:export PS1="\u@\h:\w[\033[01;32m]$(__git_ps1)[\033[00m]$ " 表示什么

A:这个命令是用于配置bash shell的提示符(PS1)的。让我们逐一解析这个命令的各个部分:

  1. export PS1="...":这是设置环境变量PS1的命令,用于自定义bash的命令行提示符。

  2. \u@\h:\w:这部分是提示符的静态部分,其中:

    • \u 代表当前用户名。
    • @ 是分隔符。
    • \h 代表主机名。
    • : 是另一个分隔符。
    • \w 代表当前工作目录。
  3. \[\033[01;32m\]\[\033[00m\]:这两部分是用于改变文本颜色的ANSI转义序列。

    • \033[01;32m 设置文本为绿色并加粗。
    • \033[00m 重置文本颜色和样式。
  4. \$(__git_ps1):这部分是动态部分,用于显示当前Git分支的名称。

    • __git_ps1 是一个内建函数,用于获取当前Git分支的名称。
  5. $:这个符号表示命令行提示符的结束。

总之,这个配置会在命令行提示符前显示当前用户、主机名、工作目录以及当前Git分支的名称(以绿色加粗显示)。

[windows]everything 搜索文件名

//everything 加排除文件夹: C:\Users\nisy\AppData\Roaming\Microsoft\Windows\Recent 或者排除文件类型中加 *.lnk

//打开如下开关: 图片.png

图片.png

Docear

//docear 首次使用时注意点:只导入pdf;不显示书签(pdf management 中去掉bookmark).

//配套docear使用的pdf expressx阅读器的如下设置:

image.png

电脑配置

//我的matebook 电脑的grub损坏后的修复: 首先关闭bios的“安全芯片”,然后:

微信图片_20240601211838.jpg

进入manjaro后,参考: blog.csdn.net/qq_45735611…defaultbaidujs_baidulandingword~default-4-118227317-blog-118877260.235^v43^pc_blog_bottom_relevance_base4&spm=1001.2101.3001.4242.3&utm_relevant_index=7

    grub-install --target=x86_64-efi /dev/nvme0 # 重新安装grub到系统efi分区

    grub-mkconfig -o /boot/grub/grub.cfg # 重新写入引导文档

    update-grub # 更新grub信息

如何避免win+linux的双系统电脑的grub被损坏?

nisy@nisy:~$ lsattr /boot/grub/grub.cfg
--------------e------- /boot/grub/grub.cfg
nisy@nisy:~$ lsattr /boot/grub/grubenv
--------------e------- /boot/grub/grubenv
nisy@nisy:~$ 
nisy@nisy:~$ sudo chattr +i /boot/grub/grub.cfg  # 设置不可变标志(更严格的保护)
nisy@nisy:~$ sudo chattr +i /boot/grub/grubenv
nisy@nisy:~$ 
nisy@nisy:~$ 
nisy@nisy:~$ lsattr /boot/grub/grub.cfg
----i---------e------- /boot/grub/grub.cfg
nisy@nisy:~$ lsattr /boot/grub/grubenv
----i---------e------- /boot/grub/grubenv
nisy@nisy:~$ 

作用机制

chattr +i 是在 文件系统层面 设置的特殊属性,而不是在内存或操作系统层面。这意味着:

  • 这个标志直接存储在文件的 inode(索引节点)中
  • 它由 文件系统驱动程序 强制执行
  • 操作系统重启、关机都不影响这个标志
  • 甚至将硬盘挂载到其他电脑上,这个标志依然有效

linux下小工具

astyle

// C语言的代码格式化:

astyle -A1 --indent=spaces=4 --indent-classes --indent-switches --indent-namespaces --indent-preprocessor input.cpp -o output.cpp

locate

//locate能否关闭对系统文档的搜索,以及如何节省搜索时间

是的,locate 命令可以通过配置完全排除对系统文件或其他指定路径的搜索,同时有多种方法可以显著节省搜索时间。核心在于编辑其配置文件并善用一些技巧。

📝 核心操作:关闭对系统文件的搜索

locate 命令的搜索范围由配置文件 /etc/updatedb.conf 控制。通过修改此文件,可以排除特定的系统目录、文件系统或文件类型。

  1. 编辑配置文件:使用 sudo 权限编辑此文件。
    sudo vi /etc/updatedb.conf
    # 或使用你熟悉的编辑器,如 nano
    
  2. 关键配置项
    • PRUNEPATHS排除指定的路径。这是最常用的选项,只需将你不想搜索的目录路径(如系统缓存、临时文件、特定项目)添加至此。
    • PRUNEFS:排除指定的文件系统类型(如网络文件系统)。
    • PRUNENAMES:排除指定扩展名的文件。
  3. 配置示例
    # 开启搜索限制
    PRUNE_BIND_MOUNTS = "yes"
    # 排除的路径(系统文件、缓存、Docker数据等)
    PRUNEPATHS = "/tmp /var/spool /media /mnt /var/lib/docker"
    # 排除的文件系统
    PRUNEFS = "NFS nfs afs"
    
  4. 使配置生效:修改保存后,必须手动更新数据库,因为 locate 依赖一个预建的数据库(通常每天自动更新一次)。
    sudo updatedb
    
    此后,locate 将不再搜索你排除的路径。

⚡ 节省搜索时间的综合策略

除了上述核心配置,结合以下方法可以让你在Linux中查找文件更高效。

策略具体方法效果与说明
1. 优化 locate 使用限制结果数量locate -l 20 *.log避免输出过多结果,快速浏览。
精确匹配基名locate -b '\filename'仅匹配文件名(而非路径中的字符),结果更精准。
不区分大小写locate -i "*.PDF"扩大搜索范围。
2. 建立更实时的索引手动触发更新sudo updatedb在创建/移动大量文件后立即执行,确保能搜到最新文件。
提高自动更新频率通过cron配置(需自行设置),在系统空闲时段(如凌晨)更新。
3. 选用更合适的工具日常文件名搜索:使用 fd (fd-find)find 语法更简洁、速度通常更快,且默认忽略.git等目录。
复杂条件搜索:使用 find当需要按大小、时间、权限等属性搜索时,locate无法胜任,必须使用find
文件内容搜索:使用 ripgrep (rg)在文件中搜索字符串,速度极快。
4. 通用搜索原则明确搜索起点尽量在更具体的目录下搜索(如 find /home/user/project ...),避免从根目录 / 开始。
利用管道组合例如 find . -type f -name "*.c" | xargs grep "TODO",组合工具发挥各自优势。

💎 总结与建议

想让 locate 又快又准,关键是两步:一是通过 /etc/updatedb.confPRUNEPATHS 排除无关目录;二是记得在配置变更或大量文件变动后运行 sudo updatedb 更新数据库

根据你的具体需求,可以灵活选用表格中的其他策略:

  • 只找已知文件名的位置:配置好的 locate 是最快的。
  • 需要按时间、大小等属性找文件:直接用 find 命令。
  • 日常频繁在特定项目下搜索:可以尝试 fd 或配置好规则的 find

如果你能告诉我更多关于你的使用场景(例如,你主要搜索哪些类型的文件,或者觉得当前搜索慢的具体情况),我可以给出更具体的建议。

vscode

Q:VSCODE 用哪种等宽字体适合编程,并且避免O和0相似等问题,在manjaro和ubuntu上哪种字体最容易安装?

在 Manjaro 和 Ubuntu 上,JetBrains Mono 是最适合编程、最易安装、且能彻底解决 O/0、l/1 混淆的等宽字体;其次是 Fira CodeSource Code Pro,安装同样便捷。

一、最佳编程字体推荐(解决 O/0 混淆)

1. JetBrains Mono(首选)
  • 核心优势:专为编程设计,0 带明显斜杠/点、l/1/I 区分极强,等宽精准、字重丰富、Linux 渲染极佳。
  • 连字:支持 ->/=>/!= 等编程连字,代码更整洁。
  • 跨平台:Ubuntu/Manjaro 均有官方包,一键安装。
2. Fira Code
  • 核心优势:0 带点、O 为正圆,l/1 差异大;连字效果一流,社区极流行。
  • 适用:喜欢现代连字、追求代码美观的开发者。
3. Source Code Pro(Adobe 开源)
  • 核心优势:0 带斜线、O 圆润,字符极简清晰,无多余修饰,长时间编码不累眼。
  • 适用:偏好经典、无连字、稳定可靠的场景。
4. Cascadia Code(微软)
  • 核心优势:0 带斜线、O 为椭圆,终端/编辑器双优,支持连字。
  • 适用:习惯 Windows 字体、跨平台统一体验。

二、Manjaro / Ubuntu 一键安装(最便捷)

1. Ubuntu(apt 安装)
# JetBrains Mono(推荐)
sudo apt update && sudo apt install fonts-jetbrains-mono

# Fira Code
sudo apt install fonts-firacode

# Source Code Pro
sudo apt install fonts-source-code-pro
2. Manjaro(pacman 安装)
# JetBrains Mono(推荐)
sudo pacman -S ttf-jetbrains-mono

# Fira Code
sudo pacman -S ttf-fira-code

# Source Code Pro
sudo pacman -S adobe-source-code-pro-fonts
3. 通用安装(无官方包时)
# 下载字体 → 解压 → 复制到用户字体目录
mkdir -p ~/.local/share/fonts
cp *.ttf ~/.local/share/fonts/
# 刷新字体缓存
fc-cache -fv

三、VSCode 配置(生效)

打开 VSCode → Ctrl+, → 搜索 fontFamily,填入:

"editor.fontFamily": "JetBrains Mono, Fira Code, Source Code Pro, monospace",
"editor.fontLigatures": true, // 启用连字(Fira Code/JetBrains Mono 生效)
"editor.fontSize": 14,
"editor.lineHeight": 1.6

四、为什么选 JetBrains Mono?

  • 安装最省心:Ubuntu/Manjaro 均有官方仓库包,一行命令搞定。
  • 辨识度最高:0 带斜杠、l/1/I 设计差异大,彻底避免误读
  • 渲染最优:Linux FreeType 下抗锯齿、小字号清晰,长时间编码舒适。

需要我帮你对比这几款字体的连字效果、字符间距与小字号清晰度,并给出最适合你的最终选择吗?

常用插件

//代码提交前,打开 indent-rainbow,indent-rainbow 让代码空格保持4格,避免3个空格等格式比较乱的情况: 图片.png

关闭预览模式

如果你不喜欢预览模式,你可以在VSCode的设置中关闭它。具体步骤是: 点击VSCode左下角的“管理”(Manage)按钮,然后选择“设置”(Settings)。 在搜索框中输入“enablePreview”,找到“Workbench: Editor: Enable Preview”选项。 取消勾选这个选项,然后重启VSCode。

使用高亮插件 highlightwords 的配置:

参考 # 【VSCode】设置关键字高亮的插件 | Highlight Word

我自己的配置如下:

    "workbench.colorTheme": "Visual Studio Light",    //从如下开始:
    "highlightwords.colors": [
        { "light": "#e6ffb3", "dark": "pink" },
        { "light": "#b3b3ff", "dark": "lightgreen" },
        { "light": "#ffd9b3", "dark": "magenta" },
        { "light": "#ffb3ff", "dark": "cornflowerblue" },
        { "light": "#b3ffb3", "dark": "orange" },
        { "light": "#b3d9ff", "dark": "cyan" },
        { "light": "#ffff80", "dark": "green" },
        { "light": "#d1e0e0", "dark": "red" }
    ],
    "highlightwords.box": {
        "light": false,
        "dark": true
    },
    "highlightwords.defaultMode": 1,
    "highlightwords.showSidebar": true,

点击变量无法跳转道定义处:

原因:你在装完C++插件的时候,vscode往往会提醒你安装 clang。 ​解决: 你不能跳转的关键是你没有把 C_Cpp: IntelliSenseEngine 的开关打开,没有配置 C/C++:Edit Configurations(JSON)。

vscode标题栏怎么显示项目完整路径-百度经验 (baidu.com)

jingyan.baidu.com/article/fdbd42770b4d8af99e3f4885.html

VSCode关闭右侧预览功能

关闭方法:点击文件-首选项-设置,搜索"editor.minimap.enabled",默认值为打钩,我们只需要把钩去掉即可 ** 搜索到末尾不需要从头开始,关闭如下开关: image

vim

//.vimrc配置1


" ==============vim基本配置==============
set nocompatible
set backspace=indent,eol,start
set guifont=Monospace\ 14
set nu!             " 显示行号
syntax enable
syntax on
colorscheme desert

set autowrite   " 自动保存

set foldmethod=marker
set foldlevel=100  " 启动vim时不要自动折叠代码
set textwidth=80
set formatoptions+=t
set cindent
set smartindent
set noerrorbells
set showmatch
set nobackup 
set noswapfile
" set cursorline

" disable 
noremap <Up> <Nop>
noremap <Down> <Nop>
noremap <Left> <Nop>
noremap <Right> <Nop>

" remap control + arrow key to select windows
noremap <C-Down>  <C-W>j
noremap <C-Up>    <C-W>k
noremap <C-Left>  <C-W>h
noremap <C-Right> <C-W>l
noremap <C-J> <C-W>j
noremap <C-K> <C-W>k
noremap <C-H> <C-W>h
noremap <C-L> <C-W>l

" ==============YCM==============
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
  " YCM 查找定义
let mapleader=','
nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR>
nnoremap <leader>gf :YcmCompleter GoToDefinition<CR>
nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>
let g:ycm_collect_identifiers_from_tags_files = 1

set completeopt=menu,menuone   
let g:ycm_add_preview_to_completeopt = 0  " 关闭函数原型提示

let g:ycm_show_diagnostics_ui = 0 " 关闭诊断信息
let g:ycm_server_log_level = 'info'
let g:ycm_min_num_identifier_candidate_chars = 2  " 两个字符触发 补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 收集
let g:ycm_complete_in_strings=1

noremap <c-z> <NOP>
let g:ycm_key_invoke_completion = '<c-z>'   " YCM 里触发语义补全有一个快捷键
let g:ycm_max_num_candidates = 15  " 候选数量

let g:ycm_semantic_triggers =  {
			\ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],
			\ 'cs,lua,javascript': ['re!\w{2}'],
			\ }


" ===========gutentags=============
" 搜索工程目录的标志,碰到这些文件/目录名就停止向上一级目录递归
let g:gutentags_project_root = ['.root', '.svn', '.git', '.hg', '.project', '.gitignore']

" 添加ctags额外参数,会让tags文件变大
" let g:gutentags_ctags_extra_args = ['--fields=+niazlS', '--extra=+q']
 let g:gutentags_ctags_extra_args = ['--fields=+lS']
" let g:gutentags_ctags_extra_args += ['--c++-kinds=+px']
" let g:gutentags_ctags_extra_args += ['--c-kinds=+px']

if isdirectory("kernel/") && isdirectory("mm/")
	let g:gutentags_file_list_command = 'find arch/arm/ mm/ kernel/ include/ init/ lib/'
endif
	

" =======echodoc 显示函数参数===========
" ctags -R --fields=+lS .


" ======ALE静态语法检测========
let g:ale_sign_column_always = 1
let g:ale_sign_error = '✗'
let g:ale_sign_warning = 'w'
let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']
let g:ale_echo_msg_format = '[%linter%] %code: %%s'
let g:ale_lint_on_text_changed = 'normal'
let g:ale_lint_on_insert_leave = 1
"let g:airline#extensions#ale#enabled = 1
let g:ale_c_gcc_options = '-Wall -O2 -std=c99'
let g:ale_cpp_gcc_options = '-Wall -O2 -std=c++14'
let g:ale_c_cppcheck_options = ''
let g:ale_cpp_cppcheck_options = ''

" ========airline状态栏=========  
let g:airline#extensions#tabline#enabled = 1
let g:airline_section_b = '%-0.10{getcwd()}'
let g:airline_section_c = '%t'
let g:airline#extensions#tagbar#enabled = 1
let g:airline_section_y = ''

"--------------------------------------------------------------------------------
" cscope:建立数据库:cscope -Rbq;  F5 查找c符号; F6 查找字符串;   F7 查找函数定义; F8 查找函数谁调用了,
"--------------------------------------------------------------------------------
if has("cscope")
  set csprg=/usr/bin/cscope
  set csto=1
  set cst
  set nocsverb
  " add any database in current directory
  if filereadable("cscope.out")
      cs add cscope.out
  endif
  set csverb
endif


:set cscopequickfix=s-,c-,d-,i-,t-,e-

nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>


"nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
"F5 查找c符号; F6 查找字符串;   F7 查找函数定义; F8 查找函数谁调用了,
nmap <silent> <F5> :cs find s <C-R>=expand("<cword>")<CR><CR> :botright copen<CR><CR> 
nmap <silent> <F6> :cs find t <C-R>=expand("<cword>")<CR><CR> :botright copen<CR><CR>
"nmap <silent> <F7> :cs find g <C-R>=expand("<cword>")<CR><CR> 
nmap <silent> <F7> :cs find c <C-R>=expand("<cword>")<CR><CR> :botright copen<CR><CR>


 "--------------------------------------------------------------------------------
"  自动加载ctags: ctags -R
if filereadable("tags")
      set tags=tags
endif

"--------------------------------------------------------------------------------
" global:建立数据库
"--------------------------------------------------------------------------------
if filereadable("GTAGS")
	set cscopetag
	set cscopeprg=gtags-cscope
	cs add GTAGS
	au BufWritePost *.c,*.cpp,*.h silent! !global -u &
endif

//vim配置2(精简)

" ============================================
" 基础设置
" ============================================

" 关闭 vi 兼容模式
set nocompatible

" 启用语法高亮
syntax on

" 显示行号
set number

" 显示相对行号(方便跳转)
"set relativenumber

" 高亮当前行
set cursorline

" 自动缩进
set autoindent
set smartindent

" 设置缩进为 4 个空格
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab       " 将 Tab 转换为空格

" 显示状态栏
set laststatus=2

" 显示命令
set showcmd

" 设置文件编码
set encoding=utf-8
set fileencoding=utf-8

WORD & WPS

//word中关闭自动校正,避免把输入的代码篡改了:【文件】->【选项】->【校对】,关闭所有选项. word方便做笔记的方法:

//取消首行缩进

使用段落对话框。选中需要取消首行缩进的段落,单击鼠标右键。

在弹出的框中选择段落组,找到缩进这一栏,在特殊格式下点击下拉三角形,把特殊格式修改为无,最后点击确定。这个时候就可以消除首行缩进效果。

//WPS中如果写文档拷贝的代码,其英文的双引号会默认自动被替换成中文的双引号,很讨厌,需要在这里关闭掉: image

Q:从wps文档拷贝图片到另一个文档,如何避免图片被压缩?

A:在使用 WPS 文档从一个文档拷贝图片到另一个文档时,若想避免图片被压缩,可以尝试以下几种方法:

一、调整图片插入选项

  1. 插入图片时选择“插入图片文件”

    • 在目标文档中,点击“插入”选项卡,选择“图片”按钮。在弹出的下拉菜单中,选择“图片文件”选项。然后在弹出的“插入图片”对话框中,找到并选中源文档所在位置的图片文件,点击“插入”按钮。这样插入的图片是直接以文件的形式插入,不会像复制粘贴那样容易被压缩。
    • 例如,你有一个名为“图片1.jpg”的图片文件在源文档所在文件夹中,通过这种方式插入到目标文档后,图片的原始尺寸和质量就能得到较好的保留。
  2. 设置图片插入后的链接选项

    • 当你插入图片后,在图片上右键单击,选择“设置图片格式”选项。在弹出的“设置图片格式”对话框中,切换到“图片”选项卡。在“链接”区域,你可以选择“链接到文件”选项。
    • 这样做的好处是,图片在文档中显示时,会直接引用源文件,不会在文档中存储图片的压缩版本。不过,这也意味着如果源文件被移动或删除,文档中的图片可能会无法正常显示。

二、更改文档的图片压缩设置

  1. 关闭自动压缩图片功能

    • 点击“文件”选项卡,选择“选项”按钮。在弹出的“WPS 文字选项”对话框中,切换到“高级”选项卡。在“图片”区域,找到“图片压缩”选项。取消勾选“自动压缩图片”复选框。
    • 这样在复制粘贴图片到文档时,WPS 文档就不会自动对图片进行压缩处理,从而避免了图片质量的降低。不过,这也可能会导致文档的文件大小增加,因为图片以原始质量存储。
  2. 调整图片压缩选项

    • 如果不想完全关闭自动压缩图片功能,可以在“图片压缩”选项中进行详细设置。例如,你可以选择“压缩图片”复选框,然后在下方的“压缩选项”中,选择“仅压缩文档中的图片”和“删除裁剪的图片区域”复选框。
    • 这样可以在一定程度上控制图片的压缩程度,同时避免过度压缩导致图片质量过差。不过,具体效果还需要根据图片的实际情况和文档的需求来调整。

三、使用专业图片处理软件预处理图片

  1. 使用 Photoshop 等软件调整图片尺寸和格式

    • 在将图片从源文档拷贝到目标文档之前,可以先用 Photoshop 等专业图片处理软件打开图片。在软件中,你可以精确地调整图片的尺寸,使其符合目标文档中所需的大小。例如,如果目标文档中图片的插入位置宽度为 5 厘米,你可以在 Photoshop 中将图片的宽度调整为 5 厘米,同时保持图片的长宽比不变。
    • 同时,还可以将图片格式转换为高质量的格式,如 TIFF 格式。TIFF 格式是一种无损压缩的图片格式,能够较好地保留图片的原始质量。在 Photoshop 中,点击“文件”菜单,选择“另存为”选项,然后在“格式”下拉菜单中选择“TIFF”格式,并设置合适的压缩选项(如选择“LZW”压缩,这是一种无损压缩方式),最后保存图片。
    • 将经过预处理的图片插入到目标文档中,由于图片在插入前已经调整了尺寸和格式,所以在文档中显示时就不会因为压缩而导致质量下降。

source insight

//一般汉字注释需要在公司内约定好是使用UTF-8还是GB2312编码,否则出现乱码时需要手动切换: source insight 4 中文乱码问题:菜单栏中【File】->【Reload As Encoding...】->【Chinese Simplified (GB2312)】->选择后,点击load,问题解决!

//source insight 中常常有汉字乱码的情况,虽然source insight中可以改编码方式,但是有时unicode,有时ANSI的cp936编码,来回切换很麻烦,可以使用notepad++打开相关代码,在状态栏会现实“CTF-8”或者“ANSI”,然后通过菜单栏的"编码"->"转为UTF-8编码"来切换。

//关闭整个工程的overview窗口 解决方法:Options -> Perferences ->Dispaly 把Overviews (based on file type) 的勾去掉即可

//避免在一个文件中循环地搜索:CTRL+F,去掉 Wrap Around 的勾选

//在C程序里,如果遇到行末没有分号的语句,如IF, WHILE, SWITCH等, 写到该行末按回车,则新行自动相对上一行缩进两列。

Option->File type options->Auto Indient中,Auto Indient Type有三种类型None,Simple,Smart。个人推荐选用Simple类型。

KDE

// use double click instead of one click:

图片.png

Kate

//关闭滚动条的mini-map

图片.png

ubuntu

Ubuntu 安装synaptic

如果 apt 找不到 Synaptic,可能是因为 Universe 软件源未启用,运行:

sudo add-apt-repository universe
sudo apt update
sudo apt install synaptic

其他

guake

//默认不是全屏的,全屏如下配置: 图片.png

github pages

//使用github page + mkdocs 的流程:

1.在我的电脑的ubuntu 22.04 wsl2 系统中,执行mkdocs serve 可以用浏览器打开 http://127.0.0.1:8000/ 看修改后的实时效果.

2.修改md内容后,执行 mkdocs build 生成网站内容.

3.执行mkdocs gh-deploy就可以site中的 html 内容提交到代码仓库的gh-pages分支上.

4.push 文件修改到github网站,打开网页https://nsynet.github.io/ai_answer_life,检查是否网站更新成功.

pip

常用pip命令:

作用安装备注
pip install csv2mdcsv2md 1.csv 2.mdcsv表格转成md(发现csv表格如果有\r\n,转化会有问题,已提bug)

Q:为啥我的GNOME nautilus地址栏只有那种输入栏的模式,而没有按钮模式?

旧版本的nautilus是:

在gconf-editor中设置:/apps/nautilus/preferences/always_use_location_entry

目前新版本是在终端中输入: gsettings set org.gnome.nautilus.preferences always-use-location-entry true

pdftk - 用于pdf页面的提取

功能:支持 按页码范围提取页面(如 291-294),或筛选奇数页/偶数页,生成新 PDF。 安装(Linux):

sudo apt-get install pdftk

示例命令

pdftk input.pdf cat 5-7 output extracted_pages.pdf # 提取第5-7页

适用场景:自动化脚本、批量处理,无需图形界面。

(与vmware冲突时)通过命令禁用 Hyper-V 启动类型

  1. 以管理员身份运行命令提示符或 PowerShell
  2. 在 Windows 搜索框(或按 Win + R)中输入 cmd 或 powershell。
  3. 在搜索结果中,右键点击“命令提示符”或“Windows PowerShell”,选择“以管理员身份运行”。
  4. 执行命令
  5. 在打开的窗口中,输入以下命令并按回车:

查询当前设置:

bcdedit /enum | findstr hypervisorlaunchtype

关闭Hyper-V:

bcdedit /set hypervisorlaunchtype off

开启Hyper-V:

bcdedit /set hypervisorlaunchtype Auto

重启后生效.

github

//GitHub 的 Search 还有一些小技巧,比如你想搜索的结果中 star 数大于1000的,那么可以这样搜索:

android http stars:>1000

windows电脑双屏工作时,如何在另一个屏幕的任务栏里也显示输入法的状态?

开启如下2个开关:

图片.png

图片.png

文本处理

如何用bash处理文本文件,如果文件中一行有匹配到关键字"dump_reg_",则把从"dump_reg_"及其之前的该行文本的内容清除,只保留"dump_reg_"之后的内容,结果保存到output.txt ?

  $ sed 's/.*dump_reg_//' 2_写寄存器顺序.txt > output.txt

用bash或者python脚本处理一个text文本,如果文本中一行中包括某个关键字,则删除该一行,最终结果保存到另一个text文本

删除包含"keyword"的所有行,保存到新文件

grep -v "keyword" input.txt > output.txt

其他

//关闭微信支付后摇一摇功能:

进入微信-我-服务-钱包-客服中心-消费者保护-隐私保护,关闭“支付后摇一摇”功能。好深的设置.