[TOC]
新环境的必备配置
edge浏览器
//如何关闭edge推荐的强密码 地址栏输入 edge://settings/autofill/passwords/settings 或者 要关闭Microsoft Edge在注册或更改密码时推荐的强密码,你可以在设置中关闭一个开关。具体操作如下:
- 在Edge浏览器中,点击右上角的“设置及其他”(
...图标)。 - 选择 “设置” 。
- 在左侧选择 “密码和自动填充”。
- 继续选择 “Microsoft密码管理器”。
- 点击 “更多设置”,找到 “建议强密码” 的选项。
- 将对应的开关关闭即可。
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)的。让我们逐一解析这个命令的各个部分:
-
export PS1="...":这是设置环境变量PS1的命令,用于自定义bash的命令行提示符。 -
\u@\h:\w:这部分是提示符的静态部分,其中:\u代表当前用户名。@是分隔符。\h代表主机名。:是另一个分隔符。\w代表当前工作目录。
-
\[\033[01;32m\]和\[\033[00m\]:这两部分是用于改变文本颜色的ANSI转义序列。\033[01;32m设置文本为绿色并加粗。\033[00m重置文本颜色和样式。
-
\$(__git_ps1):这部分是动态部分,用于显示当前Git分支的名称。__git_ps1是一个内建函数,用于获取当前Git分支的名称。
-
$:这个符号表示命令行提示符的结束。
总之,这个配置会在命令行提示符前显示当前用户、主机名、工作目录以及当前Git分支的名称(以绿色加粗显示)。
[windows]everything 搜索文件名
//everything 加排除文件夹: C:\Users\nisy\AppData\Roaming\Microsoft\Windows\Recent 或者排除文件类型中加 *.lnk
//打开如下开关:
Docear
//docear 首次使用时注意点:只导入pdf;不显示书签(pdf management 中去掉bookmark).
//配套docear使用的pdf expressx阅读器的如下设置:
电脑配置
//我的matebook 电脑的grub损坏后的修复: 首先关闭bios的“安全芯片”,然后:

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 控制。通过修改此文件,可以排除特定的系统目录、文件系统或文件类型。
- 编辑配置文件:使用
sudo权限编辑此文件。sudo vi /etc/updatedb.conf # 或使用你熟悉的编辑器,如 nano - 关键配置项:
PRUNEPATHS:排除指定的路径。这是最常用的选项,只需将你不想搜索的目录路径(如系统缓存、临时文件、特定项目)添加至此。PRUNEFS:排除指定的文件系统类型(如网络文件系统)。PRUNENAMES:排除指定扩展名的文件。
- 配置示例:
# 开启搜索限制 PRUNE_BIND_MOUNTS = "yes" # 排除的路径(系统文件、缓存、Docker数据等) PRUNEPATHS = "/tmp /var/spool /media /mnt /var/lib/docker" # 排除的文件系统 PRUNEFS = "NFS nfs afs" - 使配置生效:修改保存后,必须手动更新数据库,因为
locate依赖一个预建的数据库(通常每天自动更新一次)。
此后,sudo updatedblocate将不再搜索你排除的路径。
⚡ 节省搜索时间的综合策略
除了上述核心配置,结合以下方法可以让你在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.conf 的 PRUNEPATHS 排除无关目录;二是记得在配置变更或大量文件变动后运行 sudo updatedb 更新数据库。
根据你的具体需求,可以灵活选用表格中的其他策略:
- 只找已知文件名的位置:配置好的
locate是最快的。 - 需要按时间、大小等属性找文件:直接用
find命令。 - 日常频繁在特定项目下搜索:可以尝试
fd或配置好规则的find。
如果你能告诉我更多关于你的使用场景(例如,你主要搜索哪些类型的文件,或者觉得当前搜索慢的具体情况),我可以给出更具体的建议。
vscode
常用插件
//代码提交前,打开 indent-rainbow,indent-rainbow 让代码空格保持4格,避免3个空格等格式比较乱的情况:
关闭预览模式
如果你不喜欢预览模式,你可以在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",默认值为打钩,我们只需要把钩去掉即可
** 搜索到末尾不需要从头开始,关闭如下开关:

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中如果写文档拷贝的代码,其英文的双引号会默认自动被替换成中文的双引号,很讨厌,需要在这里关闭掉:

Q:从wps文档拷贝图片到另一个文档,如何避免图片被压缩?
A:在使用 WPS 文档从一个文档拷贝图片到另一个文档时,若想避免图片被压缩,可以尝试以下几种方法:
一、调整图片插入选项
-
插入图片时选择“插入图片文件”
- 在目标文档中,点击“插入”选项卡,选择“图片”按钮。在弹出的下拉菜单中,选择“图片文件”选项。然后在弹出的“插入图片”对话框中,找到并选中源文档所在位置的图片文件,点击“插入”按钮。这样插入的图片是直接以文件的形式插入,不会像复制粘贴那样容易被压缩。
- 例如,你有一个名为“图片1.jpg”的图片文件在源文档所在文件夹中,通过这种方式插入到目标文档后,图片的原始尺寸和质量就能得到较好的保留。
-
设置图片插入后的链接选项
- 当你插入图片后,在图片上右键单击,选择“设置图片格式”选项。在弹出的“设置图片格式”对话框中,切换到“图片”选项卡。在“链接”区域,你可以选择“链接到文件”选项。
- 这样做的好处是,图片在文档中显示时,会直接引用源文件,不会在文档中存储图片的压缩版本。不过,这也意味着如果源文件被移动或删除,文档中的图片可能会无法正常显示。
二、更改文档的图片压缩设置
-
关闭自动压缩图片功能
- 点击“文件”选项卡,选择“选项”按钮。在弹出的“WPS 文字选项”对话框中,切换到“高级”选项卡。在“图片”区域,找到“图片压缩”选项。取消勾选“自动压缩图片”复选框。
- 这样在复制粘贴图片到文档时,WPS 文档就不会自动对图片进行压缩处理,从而避免了图片质量的降低。不过,这也可能会导致文档的文件大小增加,因为图片以原始质量存储。
-
调整图片压缩选项
- 如果不想完全关闭自动压缩图片功能,可以在“图片压缩”选项中进行详细设置。例如,你可以选择“压缩图片”复选框,然后在下方的“压缩选项”中,选择“仅压缩文档中的图片”和“删除裁剪的图片区域”复选框。
- 这样可以在一定程度上控制图片的压缩程度,同时避免过度压缩导致图片质量过差。不过,具体效果还需要根据图片的实际情况和文档的需求来调整。
三、使用专业图片处理软件预处理图片
-
使用 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:
Kate
//关闭滚动条的mini-map
ubuntu
Ubuntu 安装synaptic
如果 apt 找不到 Synaptic,可能是因为 Universe 软件源未启用,运行:
sudo add-apt-repository universe
sudo apt update
sudo apt install synaptic
其他
guake
//默认不是全屏的,全屏如下配置:
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 csv2md | csv2md 1.csv 2.md | csv表格转成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 启动类型
- 以管理员身份运行命令提示符或 PowerShell
- 在 Windows 搜索框(或按 Win + R)中输入 cmd 或 powershell。
- 在搜索结果中,右键点击“命令提示符”或“Windows PowerShell”,选择“以管理员身份运行”。
- 执行命令
- 在打开的窗口中,输入以下命令并按回车:
查询当前设置:
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个开关:
文本处理
如何用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
其他
//关闭微信支付后摇一摇功能:
进入微信-我-服务-钱包-客服中心-消费者保护-隐私保护,关闭“支付后摇一摇”功能。好深的设置.