Vim插件配置
工欲善其事,必先利其器,倒腾一下vim的配置,做个记录。
".vimrc里的内容:""===============for base configure==============
set t_Co=256
if ! has("gui_running")set t_Co=256
endifif &diffhighlight DiffAdd cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Redhighlight DiffDelete cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Redhighlight DiffChange cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Redhighlight DiffText cterm=bold ctermfg=10 ctermbg=88 gui=none guifg=bg guibg=Red
endifset ts=4
set sw=4
" set mouse=a
set expandtab
set autoindent
autocmd BufNewFile, BufRead *.c, *.cpp, *.java :CFOLD
set nu
set smartindent
set showmatch
set ruler "??????????
set nohls "?????????
set incsearch "??????
set foldenable "??????
set backspace=indent,eol,start
syntax on "????
"set background=dark
"colorscheme gruvbox
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set termencoding=utf-8
set fileformats=unix
set encoding=prc
set hlsearch
"set nohlsearch
set encoding=utf-8
set clipboard=unnamedplus
set cursorline
"hi CursorLine term=bold cterm=bold ctermbg=237
filetype plugin on"ctags
set tags=tags;
set autochdir"" Set mapleader
let mapleader = ",""nnoremap / /\v
"nnoremap ? ?\v
"map w /\v<><Left>
"nnoremap <F3> :norm yiw<CR>:/<C-R>"<CR><CR>
nnoremap <F3> :/<C-R><C-W><CR><CR>"***********************************************
""键盘命令,
""若是搭配secureCRT用系统剪切复制功能需要安装xming
""否则容易出错:
""Error: Can't open display: localhost:x.0
"***********************************************
"nmap <leader>w :w!<cr>
"nmap <leader>f :find<cr>
" 映射全选+复制 ctrl+a
map <C-A> ggVGY
map! <C-A> <Esc>ggVGY
" 选中状态下 Ctrl+c 复制
"vmap <C-c> "+y"
vnoremap <C-c> :w !xclip -selection clipboard<CR>" ==================for plugin==================
call plug#begin('~/.vim/plugged')
Plug 'itchyny/lightline.vim'
Plug 'rking/ag.vim'
Plug 'mileszs/ack.vim'
Plug 'dyng/ctrlsf.vim'
Plug 'scrooloose/nerdtree'
Plug 'Valloric/YouCompleteMe'
Plug 'majutsushi/tagbar'
Plug 'vim-airline/vim-airline'
Plug 'preservim/nerdcommenter'
Plug 'frazrepo/vim-rainbow'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'christoomey/vim-system-copy'
Plug 'Yggdroot/LeaderF', { 'do': './install.sh' }
Plug 'rrethy/vim-illuminate'
Plug 'yegappan/mru'
Plug 'vim-scripts/DrawIt'
Plug 'morhetz/gruvbox'
Plug 'ludovicchabant/vim-gutentags'
Plug 'airblade/vim-gitgutter'
Plug 'neoclide/vim-easygit'
Plug 'tpope/vim-fugitive'
Plug 'w0rp/ale'
Plug 'godlygeek/tabular'
Plug 'tpope/vim-surround'
Plug 'Yggdroot/indentLine'
call plug#end()"===================for ag search==============="
" for easy using sliver search
" nmap <leader>f :norm yiw<CR>:Ag! -t -Q "<C-R>""
nmap <leader>r :norm yiw<CR>:Ag! -t "\b<C-R>"\b""配置ag从当前项目开始搜寻
let g:ag_working_path_mode="r"
let g:ag_highlight=1
" for easy using sliver search
nmap <leader>f :norm yiw<CR>:Ag! -t -Q "<C-R>""
" Locate and return character "above" current cursor position.
function! LookUpwards()let column_num = virtcol('.')let target_pattern = '\%' . column_num . 'v.'let target_line_num = search(target_pattern . '*\S', 'bnW')if !target_line_numreturn""elsereturn matchstr(getline(target_line_num), target_pattern)endif
endfunction
imap <silent> <C-Y> <C-R><C-R>=LookUpwards()<CR>"ag
nnoremap <leader>ag :Ag! ""<left>"ack
let g:ackprg = 'ag --nogroup --nocolor --column'"ctrlsf
nnoremap <Leader>c :CtrlSF <Space>
map <s-j> <c-j>p
map <s-k> <c-k>p
"let g:ctrlsf_ackprg = 'rg'
let g:ctrlsf_default_view_mode = 'compact'
let g:ctrlsf_search_mode = 'async'
let g:ctrlsf_auto_close = {\ "normal" : 1,\ "compact": 0\ }
let g:ctrlsf_auto_focus = {\ "at" : "start",\ }
let g:ctrlsf_absolute_file_path = 0
let g:ctrlsf_auto_preview = 1
let g:ctrlsf_confirm_save = 1" nmap <C-F>f <Plug>CtrlSFPrompt
" vmap <C-F>f <Plug>CtrlSFVwordPath
" vmap <C-F>F <Plug>CtrlSFVwordExec
" nmap <C-F>n <Plug>CtrlSFCwordPath
" nmap <C-F>p <Plug>CtrlSFPwordPath
" nnoremap <C-F>o :CtrlSFOpen<CR>
" nnoremap <C-F>t :CtrlSFToggle<CR>
" inoremap <C-F>t <Esc>:CtrlSFToggle<CR>"plugin nerdtree===============================
let NERDChristmasTree=0
let NERDTreeWinSize=35
let NERDTreeChDirMode=2
let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']
let NERDTreeShowBookmarks=1
let NERDTreeWinPos="left"
"鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2"Automatically open a NERDTree if no files where specified
"autocmd vimenter * if !argc() | NERDTree | endif
"Close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
" Open a NERDTree
nmap <F1> :NERDTreeToggle<CR>
nmap <F2> :NERDTreeFind<CR>
"plugin nerdtree=============================="plugin ycm===================================
"设置跳转到方法/函数定义的快捷键
nnoremap <leader>j :YcmCompleter GoToDefinitionElseDeclaration<CR>
"触发补全快捷键
let g:ycm_key_list_select_completion = ['<TAB>', '<c-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<S-TAB>', '<c-p>', '<Up>']
let g:ycm_auto_trigger = 1
"最小自动触发补全的字符大小设置为 3
let g:ycm_min_num_of_chars_for_completion = 3
"YCM的previw窗口比较恼人,还是关闭比较好
set completeopt-=preview
"plugin ycm end================================"plugin tagbar=================================
nmap <F9> :TagbarToggle<CR>
" tagbar默认去这个目录中寻找ctags,ctags的默认安装路径也是这个目录
let g:tagbar_ctags_bin='/usr/bin/ctags' " Proper Ctags locations
let g:tagbar_width=36 " Default is 40, seems too wide
noremap <Leader>y :TagbarToggle<CR> " Display panel with (,y)
"启动 时自动focus
let g:tagbar_autofocus = 1
"plugin tagbar end============================="plugin airline================================
let g:airline_powerline_fonts=1
"let g:airline#extensions#tabline#enabled = 1 "tabline中当前buffer两端的分隔字符
nmap <tab> :bn<cr> " 设置tab键映射"
"plugin airline end============================="plugin nerd comment============================
let NERDSpaceDelims=1 " 让注释符与语句之间留一个空格
let NERDCompactSexyComs=1 " 多行注释时样子更好看
let g:NERDDefaultAlign = 'left' "将行注释符左对齐
" map <F4><leader>ci<cr> "加注释
"nmap <leader>cu "解开注释
"nmap <leader>ca "切换注释的样式:/*....*/和//..的切换
"nmap <leader>c<space> "加上/解开注释, 智能判断
"nmap <leader>cy "先复制, 再注解(p可以进行黏贴)
"nmap <leader>cs "'性感的'注释(我很喜欢这个!)
"plugin nerd comment end========================="plugin rainbow==================================
let g:rainbow_active = 1
let g:rainbow_load_separately = [\ [ '*' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],\ [ '*.tex' , [['(', ')'], ['\[', '\]']] ],\ [ '*.cpp' , [['(', ')'], ['\[', '\]'], ['{', '}']] ],\ [ '*.{html,htm}' , [['(', ')'], ['\[', '\]'], ['{', '}'], ['<\a[^>]*>', '</[^>]*>']] ],\ ]let g:rainbow_guifgs = ['RoyalBlue3', 'DarkOrange3', 'DarkOrchid3', 'FireBrick']
let g:rainbow_ctermfgs = ['lightblue', 'lightgreen', 'yellow', 'red', 'magenta']
"plugin rainbow end=============================="plugin ale======================================
let g:ale_sign_column_always = 1
let g:ale_set_highlights = 0
"自定义error和warning图标
let g:ale_sign_error = '✗'
let g:ale_sign_warning = '⚡'
"在vim自带的状态栏中整合ale
let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']
"显示Linter名称,出错或警告等相关信息
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
"普通模式下,sp前往上一个错误或警告,sn前往下一个错误或警告
nmap sp <Plug>(ale_previous_wrap)
nmap sn <Plug>(ale_next_wrap)
"<Leader>s触发/关闭语法检查
nmap <Leader>s :ALEToggle<CR>
"<Leader>d查看错误或警告的详细信息
nmap <Leader>d :ALEDetail<CR>
"文件内容发生变化时不进行检查
let g:ale_lint_on_text_changed = 'never'
let g:ale_lint_on_insert_leave = 0
"打开文件时不进行检查
let g:ale_lint_on_enter = 0
"对于Java如果安装在中文的系统上,错误和警告信息都会乱码,可以进行下面的设置
let g:ale_java_javac_options = '-encoding UTF-8 -J-Duser.language=en'"使用clang对c和c++进行语法检查,对python使用pylint进行语法检查
let g:ale_linters = {\ 'c++': ['clang', 'gcc'],\ 'c': ['clang', 'gcc'],\ 'python': ['pylint'],\}"plugin ale end=================================="plug fzf=========================================
"<Leader>f在当前目录搜索文件
nnoremap <silent> <Leader>g :Files<CR>
""<Leader>b切换Buffer中的文件
nnoremap <silent> <Leader>b :Buffers<CR>
"<Leader>p在当前所有加载的Buffer中搜索包含目标词的所有行,:BLines只在当前Buffer中搜索
nnoremap <silent> <Leader>p :Lines<CR>
"<Leader>h,改造了下可以调出上次搜索的结果,fzf自身没提供solution,需要自己想办法
nnoremap <silent> <Leader>h :Find<CR>function! s:remember(command)execute a:command" Or save it to a file for persistencelet g:prev_command = a:command
endfunctioncommand! -nargs=* Remember call s:remember(<q-args>)
command! Redo execute g:prev_commandlet cmd = 'rg -g "*.cpp" -g "*.h" -g "*.c" -g "*.java" -g "*.bp" -g "*.mk" \ --glob "!.git/*" --glob "!.repo/*" --glob "!tags" --glob "!.go" \ --column --line-number --no-heading --color=always --smart-case \ --no-ignore --no-ignore-dot 'command! -bang -nargs=* Rg \ call fzf#vim#grep(cmd.shellescape(<q-args>)."| tee /tmp/fzf-history/result", 1, <bang>0)command! -bang -nargs=* Find\ call fzf#vim#grep('cat /tmp/fzf-history/result | tr -d "\017"', 1, <bang>0)" Mapping selecting mappings
nmap <leader><tab> <plug>(fzf-maps-n)
xmap <leader><tab> <plug>(fzf-maps-x)
omap <leader><tab> <plug>(fzf-maps-o)
" Insert mode completion
imap <c-x><c-k> <plug>(fzf-complete-word)
imap <c-x><c-f> <plug>(fzf-complete-path)
imap <c-x><c-l> <plug>(fzf-complete-line)"nnoremap <silent> <Leader>z :Rg <C-R><C-W><CR>
xnoremap <silent> <Leader>z y:Rg <C-R>"<CR>
"plug fzf end======================================"plug leaderf======================================
map <leader>d :LeaderfFunction<CR>
let g:Lf_ReverseOrder = 1
let g:Lf_HideHelp = 1
let g:Lf_UseCache = 0
let g:Lf_UseVersionControlTool = 0 "0:rg or ag,1:gitgrep"
let g:Lf_IgnoreCurrentBufferName = 1
let g:Lf_RootMarkers = ['.repo']
let g:Lf_WorkingDirectoryMode = 'AF'
"let g:Lf_Gtagsconf='/etc/gtags/gtags.conf'
"let g:Lf_RememberLastSearch = 1" popup mode
let g:Lf_WindowPosition = 'popup'
let g:Lf_PreviewInPopup = 0
let g:Lf_StlSeparator = { 'left': "\ue0b0", 'right': "\ue0b2", 'font': "DejaVu Sans Mono for Powerline" }
let g:Lf_PreviewResult = {'Function': 0, 'BufTag': 0 }
let g:Lf_WindowPosition = 'bottom'"let g:Lf_ExternalCommand = "rg --files --no-heading --glob '!.git/*' --glob '!.repo/*' --glob '!tags'"
let g:Lf_ExternalCommand = 'fd %s --exclude={.git,.gitignore,.img,.proto,.tags,.svn} --type f'" 快捷键绑定``
let g:Lf_ShortcutF = "<leader>ff"
"let g:Lf_ShortcutF = '<C-P>'
let g:Lf_ShortcutB = "<leader>fb"noremap <leader>fb :<C-U><C-R>=printf("Leaderf buffer %s", "")<CR><CR>
noremap <leader>fm :<C-U><C-R>=printf("Leaderf mru %s", "")<CR><CR>
noremap <leader>ft :<C-U><C-R>=printf("Leaderf bufTag %s", "")<CR><CR>
noremap <leader>fl :<C-U><C-R>=printf("Leaderf line %s", "")<CR><CR>noremap <C-B> :<C-U><C-R>=printf("Leaderf rg --current-buffer -e %s ", expand("<cword>"))<CR>
"noremap <C-F> :<C-U><C-R>=printf("Leaderf rg -e %s ", expand("<cword>"))<CR>
noremap <C-F> :<C-U><C-R>=printf("Leaderf rg -e %s ", expand("<cword>"))<CR>
" search visually selected text literally
xnoremap gf :<C-U><C-R>=printf("Leaderf rg -F -e %s ",leaderf#Rg#visual())<CR>
noremap go :<C-U>Leaderf rg --recall<CR>" should use `Leaderf gtags --update` first
let g:Lf_GtagsAutoGenerate = 0
let g:Lf_Gtagslabel = 'native-pygments'
noremap <leader>fr :<C-U><C-R>=printf("Leaderf gtags -r %s --auto-jump",expand("<cword>"))<CR><CR>
noremap <leader>fd :<C-U><C-R>=printf("Leaderf gtags -d %s --auto-jump",expand("<cword>"))<CR><CR>
noremap <leader>fo :<C-U><C-R>=printf("Leaderf gtags --recall %s","")<CR><CR>
noremap <leader>fn :<C-U><C-R>=printf("Leaderf gtags --next %s", "")<CR><CR>
noremap <leader>fp :<C-U><C-R>=printf("Leaderf gtags --previous %s","")<CR><CR>let g:Lf_RgConfig = [\"--glob=!tags",\"--glob=!tags.*",\"--no-messages",\"-g '*.cpp'",\"-g '*.c'",\"-g '*.java'",\"-g '*.bp'",\"-g '*.mk'",\"-g '*.h'",\"-g '*.hal'",\"--column",\"--line-number",\"--no-heading",\"--color=always",\"--smart-case",\]" 排除搜索的文件夹和文件
let g:Lf_WildIgnore = {\ 'dir': ['.repo','.svn','.git','.hg','venv','.vscode','.SpaceVim.d'],\ 'file': ['.proto','.img','.gitignore','*.sw?','~$*','*.bak','*.exe','*.o','*.so','*.py[co]']\}
let g:Lf_CommandMap = {'<C-K>': ['<Up>'], '<C-J>': ['<Down>']}
let g:Lf_PopupPalette = {\ 'light': {\ 'Lf_hl_match': {\ 'gui': 'NONE',\ 'font': 'NONE',\ 'guifg': 'NONE',\ 'guibg': '#303136',\ 'cterm': 'NONE',\ 'ctermfg': 'NONE',\ 'ctermbg': '236'\ },\ 'Lf_hl_cursorline': {\ 'gui': 'NONE',\ 'font': 'NONE',\ 'guifg': 'NONE',\ 'guibg': '#303136',\ 'cterm': 'NONE',\ 'ctermfg': 'NONE',\ 'ctermbg': '236'\ },\ },\ }
"plug leaderf end==================================
"
"Plug easy-git====================================
let g:easygit_enable_command = 1
"Plug easy-git end================================
"let g:system_copy_enable_osc52 = 1
let g:system_copy#copy_command='xclip -sel clipboard'
let g:system_copy#paste_command='xclip -sel clipboard -o'
1、base vim 8.1 + Ubuntu20.04
Vim版本过低可以升级: sudo add-apt-repository ppa:jonathonf/vim sudo apt-get update sudo apt-get install vim
2、vim-plugin的安装,之后的操作都是基于~/.vimrc进行配置
1、curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 2、.vimrc档里加入想要的插件,命令模式输入:PlugInstall 安装插件
3、fd-find的安装
代替find,速度更快 1、sudo apt install fd-find 2、ln -s /usr/bin/fdfind /usr/bin/fd
4、bat or batcat的安装
代替cat Ubuntu 22.04 sudo apt install bat Ubuntu 20.04 sudo apt install batcat
5、rg和ag的安装
1、sudo apt install ripgrep 2、sudo apt install silversearcher-ag rg目前速度是最快的,体验更好
6、xming server的安装,for vim能够正常使用系统剪切复制的功能
1、vim --version | grep clipboard,有提示+clipboard,剪切板是有的 2、vim输入:reg,却看不到 "+,意味着系统剪切板功能有异常,剪切复制不成功 3、secureCRT + 搭配x11使用有问题,需要安装xming, http://sourceforge.net/projects/xming //windows可以显示远程linux gui界面 4、安装x11 server使用正常
7、fzf的安装配置
1、sudo apt install fzf 2、.bashrc里,加入: [ -f ~/.fzf.bash ] && source ~/.fzf.bash 下面内容再加到.fzf.bash里 export FZF_COMPLETION_TRIGGER='~~' #export FZF_DEFAULT_COMMAND='fd --exclude={.git,.gitignore,.img,.proto,.tags,.svn} --type f' export FZF_DEFAULT_COMMAND="rg --files --no-heading --glob '!.git/*' --glob '!.repo/*' --glob '!tags'" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" export FZF_DEFAULT_OPTS="--query --preview '[[ $(file --mime {}) =~ binary ]] && echo {} is a binary file || (rougify {} || highlight -O ansi -l {} || coderay {} || cat {}) 2> /dev/null | head -500'"if [ ! -d "/tmp/fzf-history" ]; thenmkdir -p /tmp/fzf-historytouch /tmp/fzf-history/result fifunction zz() {vim $(fzf) }function fdc() {#fd -0 -e cpp -e c -e h -e java | xargs -0 rg "$1"rg -g=*.cpp -g=*.c -g=*.java -g=*.h --no-heading "$1" }function fdm() {#fd -0 -e mk -e bp -e go -e Makefile | xargs -0 rg "$1"rg -g=*.bp -g=*.mk -g=*.xml -g=Makefile -g=*.go -g=*.sh --no-heading "$1" }_fzf_compgen_path() {fd --hidden --follow --exclude ".git|.img|.proto" . "$1" }_fzf_compgen_dir() {fd --type d --hidden --follow --exclude ".git|.img|.proto" . "$1" }
用的比较多的是fzf + rg + fd这个组合
参考:
[VIM] map语法_vim map_olihaha~的博客-CSDN博客
VIM中的<C-r>=是什么意思-CSDN博客
相关文章:
Vim插件配置
工欲善其事,必先利其器,倒腾一下vim的配置,做个记录。 ".vimrc里的内容:""for base configure set t_Co256 if ! has("gui_running")set t_Co256 endifif &diffhighlight DiffAdd ctermbold cte…...
函数参数的最佳传递方式与现代C++的规则
函数参数的最佳传递方式与现代C的规则 在C中,如何最佳地传递函数参数以及如何处理类的特殊成员函数,一直是优化性能和代码质量的重要话题。下面我将详细解释这些概念。 使用移动语义实现 Swap 函数 移动语义(Move Semantics)能…...

Asterisk Ubuntu 安装
更新环境 sudo apt update sudo apt install wget build-essential git autoconf subversion pkg-config libtool sudo contrib/scripts/get_mp3_source.sh A addons/mp3 A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Ma…...

rwkv模型lora微调之accelerate和deepspeed训练加速
目录 一、rwkv模型简介 二、lora原理简介 三、rwkv-lora微调 1、数据整理 2、环境搭建 a、Dockerfile编写 b、制造镜像 c、容器启动 3、训练代码修改 四、模型推理 1、模型推理 2、lora权重合并 3、推理web服务 五、总结 由于业务采用的ChatGLM模型推理成本太大了…...

分享一下在微信小程序里怎么做一个投票链接
在当今信息化社会,投票已成为各行各业收集意见、汇聚智慧的重要手段。传统的投票方式往往需要投入大量人力物力,而如今,借助微信小程序,我们可以在几分钟内创建一个高效、便捷的投票平台。本文将详细介绍如何在微信小程序中添加投…...
v-model语法糖
v-model原理 v-model实现双向绑定的语法糖,常用于表单与组件之间的数据双向绑定v-model本质上是 value属性和input事件的一层包装 v-model的作用:提供数据的双向绑定数据发生了改变,页面会自动变 v-bind:value页面输入改变 , 数据…...

纷享销客荣获最佳制造业数字营销服务商奖
2023年10月26日,第二届中国制造业数智化发展大会在上海盛大召开。本次大会汇聚了制造行业的顶尖企业和专家,共同探讨如何通过数字化转型赋能企业自身成长,实现信息化向数字化的升级转型。 在本次盛会上,纷享销客以其卓越的基本面、…...

蓝桥杯每日一题2023.11.3
题目描述 承压计算 - 蓝桥云课 (lanqiao.cn) 题目分析 将重量存入a中,每一层从上到下进行计算,用d进行计算列的重量,当前d的重量应为正上数组和右上数组的个半和并加上自身的重量 计算到30层记录最大最小值,进行比例运算即可 …...
中国电子云-隐私计算-云原生安全可信计算,物理-硬件-系统-云产品-云平台,数据安全防护
目录 联邦学习的架构思想 中国电子云-隐私计算-云原生安全...

PHP服务器端电商API原理及示例讲解(电商接口开发/接入)
下面小编就为大家分享一篇PHP服务器端API原理及示例讲解(接口开发),具有很好的参考价值,希望对大家有所帮助 相信大家都做过PHP请求电商API接口获取数据,比如淘宝平台商品API接口,订单接口,京东接口,1688接…...

Spring Cloud应用- Eureka原理、搭建
初期对Spring Cloud的学习以应用搭建为主,所以内容不会太枯燥。 一直以来,自以为Spring全家桶的学习中,Spring framework是基础中的基础,部分内容也还是必须要读源码去理解底层原理,SpringMVC、SpringBoot,…...
Servlet 设置启动时机(web.xml方式和@WebServlet方式)
1、通过web.xml方式 5)Servlet的启动时机 - 默认情况下,servlet是不会随着容器的启动而被实例化的,只有当第一次给我发请求时才会被实例化那么,这种情况对于第一次请求是不公平的因此,为了提高用户体验度,提高服务器的…...

一个使用uniapp+vue3+ts+pinia+uview-plus开发小程序的基础模板
uniappuviewPlusvue3tspiniavite 开发基础模板 使用 uniapp vue3 ts pinia vite 开发基础模板,拿来即可使用,不要删除 yarn.lock 文件,否则会启动报错,这个可能和 pinia 的版本有关,所以不要随意修改。 拉取代码…...

Kali安装docker
第一步:kali添加Docker官方的GPG密钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add 第二步:进入root更新源: su rootecho ‘deb https://download.docker.com/linux/debian stretch stable’> /etc/ap…...
Maven第七章:Maven工程最佳实践
Maven第七章:Maven工程最佳实践 前言 本章重点,通过一个maven工程最佳实践案例,熟悉和掌握maven在项目中的应用基本思路,让你的技能值瞬间暴涨。 最佳实践 确定项目的坐标和依赖 在Maven中,项目的坐标定义了项目的唯一标识符,包括groupId、artifactId和version。因此,在…...
【深度学习】【pytorch】对卷积层置零卷积核进行真实剪枝
最近需要对深度学习模型进行部署,因此需要对模型进行压缩,博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 前言卷积层剪枝总结 前言 深度学习剪枝(Pruning)是一种用于减少神经网络模型大小、减少计算量和提高推理效率的技术,通过去除神经…...

机器人仿真-gazebo学习笔记(3)URDF和机器人模型
1.URDF简介 URDF(统一机器人麦哦书格式)是ROS中的重要机器人模型描述格式,ROS提供了URDF文件的c解析器,可以解析URDF文件中使用XML格式的机器人模型。 urdf - ROS Wiki 自己查阅ros官方对URDF的介绍其实会强于大部分网上流传的文章。 1.URDF文件常用的…...

lua-resty-request库写入爬虫ip实现数据抓取
根据提供的引用内容,正确的库名称应该是lua-resty-http,而不是lua-resty-request。使用lua-resty-http库可以方便地进行爬虫,需要先安装OpenResty和lua-resty-http库,并将其引入到Lua脚本中。然后,可以使用lua-resty-h…...
gitlab Activating and deactivating users
原文:Redirecting... Deactivating a userActivating a user Activating and deactivating users GitLab 管理员可以停用和激活用户. Deactivating a user 在 GitLab 12.4 中引入 . 为了临时阻止没有最近活动的 GitLab 用户访问,管理员可以选择停用…...

linux入门到精通-第五章-动态库和静态库
目录 参考概述1、静态链接2 、动态链接3 、静态、动态编译对比 静态库和动态库简介传统编译 静态库制作和使用1、创建静态库的过程2、使用静态库 动态库制作和使用1、创建动态库的过程1)、生成目标文件,此时要加编译选项:-fPIC (f…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...