【Linux】vim配置及安装方法

注 安装方法在文章最后

配置文件的位置

  • 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
  • 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
  • 打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项

  • 设置语法高亮: syntax on
  • 显示行号: set nu
  • 设置缩进的空格数为4: set shiftwidth=4

vim配置

我的vim配置

"""""""""""""""""""""""""" vim-plug 插件管理器
" PlugInstall 安装插件
" PlugUpgrade 更新 vim-plug 自身
call plug#begin('~/.vim/bundle')
Plug 'Valloric/YouCompleteMe'
Plug 'bling/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'morhetz/gruvbox'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'SirVer/ultisnips'
Plug 'tpope/vim-surround'
Plug 'flazz/vim-colorschemes'
Plug 'scrooloose/nerdtree'
Plug 'python-mode/python-mode'
Plug 'scrooloose/nerdcommenter'
Plug 'Yggdroot/LeaderF'
Plug 'cpiger/NeoDebug'
Plug 'ryanoasis/vim-devicons'
Plug 'autozimu/LanguageClient-neovim', {\ 'branch': 'next',\ 'do': 'bash install.sh',\ }
Plug 'fatih/vim-go'
call plug#end()"""""""""""""""""""""""""" 主题
" colorscheme atom
" colorscheme molokai
colorscheme luna-term" 以下为 gruvbox 主题专用 
" colorscheme gruvbox
" let g:gruvbox_contrast_light="light"
" let g:gruvbox_contrast_dark="hard"
" let g:gruvbox_improved_warnings=1"""""""""""""""""""""""""" 零碎配置
set hlsearch
let mapleader = ";" 
set nu
behave mswin
syntax on
set si
set ai
set nowritebackup
set backspace=indent,eol,start
set expandtab
set tabstop=4
set softtabstop=5
set shiftwidth=4
set fileencodings=utf-8,gbk,cp936,cp950,latin1
set encoding=utf-8
set ruler
set showcmd
set incsearch
set ruler
set foldmethod=marker
filetype plugin on
" 不吱吱叫
set noeb vb t_vb=
set cursorline
" 文件修改之后自动载入
set autoread
" 在上下移动光标时,光标的上方或下方至少会保留显示的行数
set scrolloff=5
" 左下角不显示当前vim模式
set noshowmodeif has("autocmd")au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif"""""""""""""""""""""""""" airline 彩色状态栏/标签页
" 这几个是挑选的还不错的几个 airline 主题
" let g:airline_theme="ravenpower"
" let g:airline_theme="minimalist"
" let g:airline_theme="kolor"
" let g:airline_theme="jellybeans"
" let g:airline_theme="distinguished"
" let g:airline_theme="base16_google"
let g:airline_theme="behelit"set helplang=cn
set ambiwidth=double
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#buffer_nr_show = 1
" 关闭状态显示空白符号计数
let g:airline#extensions#whitespace#enabled = 0
let g:airline#extensions#whitespace#symbol = '!'
" 设置consolas字体
set guifont=Consolas\ for\ Powerline\ FixedD:h11
if !exists('g:airline_symbols')let g:airline_symbols = {}
endif
" unicode symbols
let g:airline_left_sep = '»'
let g:airline_left_sep = '▶'
let g:airline_right_sep = '«'
let g:airline_right_sep = '◀'
let g:airline_symbols.crypt = '🔒'
let g:airline_symbols.linenr = '☰'
let g:airline_symbols.linenr = '␊'
let g:airline_symbols.linenr = '
'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.maxlinenr = ''
let g:airline_symbols.maxlinenr = '㏑'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.paste = '∥'
let g:airline_symbols.spell = 'Ꞩ'
let g:airline_symbols.notexists = '∄'
let g:airline_symbols.whitespace = 'Ξ'" powerline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = '☰'
" let g:airline_symbols.maxlinenr = ''
let g:airline_symbols.maxlinenr = ''" old vim-powerline symbols
let g:airline_left_sep = '⮀'
let g:airline_left_alt_sep = '⮁'
let g:airline_right_sep = '⮂'
let g:airline_right_alt_sep = '⮃'
let g:airline_symbols.branch = '⭠'
let g:airline_symbols.readonly = '⭤'
" let g:airline_symbols.linenr = '⭡'
let g:airline_symbols.linenr = ''"""""""""""""""""""""""""" 代码折叠
set foldenable
" 折叠方法
" manual    手工折叠
" indent    使用缩进表示折叠
" expr      使用表达式定义折叠
" syntax    使用语法定义折叠
" diff      对没有更改的文本进行折叠
" marker    使用标记进行折叠, 默认标记是 {{{}}}
set foldmethod=indent
set foldlevel=99
" 代码折叠自定义快捷键 zz
let g:FoldMethod = 0
fun! ToggleFold()if g:FoldMethod == 0exe "normal! zM"let g:FoldMethod = 1elseexe "normal! zR"let g:FoldMethod = 0endif
endfun"""""""""""""""""""""""""" 快速运行
func! Compile()exec "w"if &filetype == 'c'exec "!gcc -g % -o %< && ./%<"elseif &filetype == 'cpp'exec "!g++ -g % -o %< && ./%<"elseif &filetype == 'cc'exec "!g++ -g % -o %< && ./%<"elseif &filetype == 'python'exec "!python %"elseif &filetype == 'sh'exec "!sh %"endif
endfunc"""""""""""""""""""""""""" YouCompleteMe
set completeopt=longest,menu
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
let g:ycm_confirm_extra_conf = 0
"let g:ycm_key_invoke_completion='<C-j>'
let g:ycm_error_symbol = 'E>'
let g:ycm_warning_symbol = 'W>'
" 使用 NerdFont 中的图标表示错误和警告
" let g:ycm_error_symbol = '﯇'
" let g:ycm_warning_symbol = '卵'
let g:ycm_enable_diagnostic_signs = 1
let g:ycm_enable_diagnostic_highlighting = 1
let g:ycm_collect_identifiers_from_comments_and_strings = 0
let g:ycm_complete_in_comments = 1
let g:ycm_complete_in_strings = 1
let g:ycm_min_num_of_chars_for_completion = 2
let g:ycm_python_binary_path = 'python'
let g:ycm_semantic_triggers =  {\ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],\ 'cs,lua,javascript': ['re!\w{2}'],\}"""""""""""""""""""""""""" Tagbar(函数列表)
let g:tagbar_ctags_bin='/usr/bin/ctags'
let g:tagbar_width=20
let g:tagbar_left=1
let g:tagbar_sort = 0"""""""""""""""""""""""""" NERDTree(文件列表)
let g:NERDTreeWinPos="right"
let g:NERDTreeWinSize=20"""""""""""""""""""""""""" CtrlP(快速查找文件)
" let g:ctrlp_working_path_mode='a'"""""""""""""""""""""""""" cpp-enhanced-highlight(c++ 语法高亮)
" 高亮类,成员函数,标准库和模板
let g:cpp_class_scope_highlight = 1
let g:cpp_member_variable_highlight = 1
let g:cpp_concepts_highlight = 1
let g:cpp_experimental_simple_template_highlight = 1
" 文件较大时使用下面的设置高亮模板速度较快,但会有一些小错误
let g:cpp_experimental_template_highlight = 1"""""""""""""""""""""""""" UltiSnips(代码模板)
let g:UltiSnipsExpandTrigger="<C-j>"
let g:UltiSnipsListSnippets="<C-e>"
let g:UltiSnipsJumpForwardTrigger="<C-j>"
let g:UltiSnipsJumpBackwardTrgger="<C-k>""""""""""""""""""""""""""" LeaderF
let g:Lf_WindowHeight = 0.30"""""""""""""""""""""""""" cquery
let g:LanguageClient_serverCommands = {\ 'cpp': ['~/.VimForCpp/cquery/bin/cquery', '--log-file=/tmp/cquery/cq.log'],\ 'cxx': ['~/.VimForCpp/cquery/bin/cquery', '--log-file=/tmp/cquery/cq.log'],\ 'hpp': ['~/.VimForCpp/cquery/bin/cquery', '--log-file=/tmp/cquery/cq.log'],\ 'cc': ['~/.VimForCpp/cquery/bin/cquery', '--log-file=/tmp/cquery/cq.log'],\ 'c': ['~/.VimForCpp/cquery/bin/cquery', '--log-file=/tmp/cquery/cq.log'],\ 'h': ['~/.VimForCpp/cquery/bin/cquery', '--log-file=/tmp/cquery/cq.log'],
\ }let g:LanguageClient_loadSettings = 1
let g:LanguageClient_settingsPath = '/tmp/cquery/settings.json'" 关闭 cquery 的诊断信息, 使用 Ycm 的足矣
let g:LanguageClient_diagnosticsEnable=0" 指定项目的根目录标记.
let g:LanguageClient_rootMarkers = ['.root', '.svn', '.git']""""""""""""""""""""""" PyMode
let g:pymode_lint_cwindow = 0
let g:pymode_lint_ignore = ["E305", "E501", "E302", "E391", "W391", "W605",]""""""""""""""""""""""" 按键映射和快捷键提示
" 跳转到定义
nnoremap <c-k> :YcmCompleter GoToDefinitionElseDeclaration<CR>
" 返回到跳转前的位置
nnoremap <c-l> <c-o>" 切换鼠标状态
function! MouseToggle()if &mouse ==# ""set mouse=a	else set mouse=endif
endfunction" 切换绝对行号和相对行号
function! NumToggle()if &relativenumber ==# "norelativenumber"set relativenumberelseset norelativenumberendif
endfunctionfunction GuideEsc()unmap aunmap sunmap dunmap funmap gunmap wunmap qunmap <esc>echo ""
endfunction
function Terminal()spterminal
endfunctionfunction MenuA()echo "[a] 跳转定义  [s] 查找引用  [d] 重命名  [f] 修正错误  [g] 函数签名  [q] 取消"nnoremap <silent><nowait> a :call GuideEsc()<cr>:call LanguageClient_textDocument_definition()<CR>nnoremap <silent><nowait> s :call GuideEsc()<cr>:call LanguageClient_textDocument_references()<CR>:lopen<CR>:lopen<CR>nnoremap <silent><nowait> d :call GuideEsc()<cr>:call LanguageClient_textDocument_rename()<CR>nnoremap <silent><nowait> f :call GuideEsc()<cr>:YcmCompleter FixIt<CR>nnoremap <silent><nowait> g :call GuideEsc()<cr>:call LanguageClient_textDocument_hover()<CR>nnoremap <silent><nowait> w <nop>nnoremap <silent><nowait> q :call GuideEsc()<cr>nnoremap <silent><nowait> <esc> :call GuideEsc()<cr>
endfunctionfunction MenuS()echo "[a] 查找函数  [s] 打开文件  [d] buffer查找   [f] 最近文件   [q] 取消"nnoremap <silent><nowait> a :call GuideEsc()<cr>:LeaderfFunction<cr>nnoremap <silent><nowait> s :call GuideEsc()<cr>:LeaderfFile<cr>nnoremap <silent><nowait> d :call GuideEsc()<cr>:LeaderfBuffer<cr>nnoremap <silent><nowait> f :call GuideEsc()<cr>:LeaderfMru<cr>nnoremap <silent><nowait> g <nop>nnoremap <silent><nowait> w <nop>nnoremap <silent><nowait> q :call GuideEsc()<cr>nnoremap <silent><nowait> <esc> :call GuideEsc()<cr>
endfunctionfunction MenuD()echo "[a] 编译运行  [s] 编译检查  [q] 取消"nnoremap <silent><nowait> a :call GuideEsc()<cr>:call Compile()<cr>nnoremap <silent><nowait> s :call GuideEsc()<cr>:YcmDiags<CR>nnoremap <silent><nowait> d <nop>nnoremap <silent><nowait> f <nop>nnoremap <silent><nowait> g <nop>nnoremap <silent><nowait> w <nop>
endfunctionfunction MenuF()echo "[a] 函数列表  [s] 文件列表  [d] .h/.c  [f] 标签页  [q] 取消"nnoremap <silent><nowait> a :call GuideEsc()<cr>:TagbarToggle<cr>nnoremap <silent><nowait> s :call GuideEsc()<cr>:NERDTreeToggle<cr>nnoremap <silent><nowait> d :call GuideEsc()<cr>:AT<cr>nnoremap <nowait> f :call GuideEsc()<cr>:tabe nnoremap <silent><nowait> g <nop>nnoremap <silent><nowait> w <nop>nnoremap <silent><nowait> q :call GuideEsc()<cr>nnoremap <silent><nowait> <esc> :call GuideEsc()<cr>
endfunctionfunction MenuWA()echo "[a] 切换鼠标  [s] 切换粘贴  [d] 切换行号  [f] 不可见字符  [q] 取消"nnoremap <silent><nowait> a :call GuideEsc()<cr>:call MouseToggle()<cr>nnoremap <silent><nowait> s :call GuideEsc()<cr>:set paste!<cr>nnoremap <silent><nowait> d :call GuideEsc()<cr>:call NumToggle()<cr>nnoremap <silent><nowait> f :call GuideEsc()<cr>:set list!<cr>nnoremap <silent><nowait> g <nop>nnoremap <silent><nowait> w <nop>nnoremap <silent><nowait> q :call GuideEsc()<cr>nnoremap <silent><nowait> <esc> :call GuideEsc()<cr>
endfunctionfunction MenuWS()echo "[a] 文档注释  [s] 折叠/展开  [q] 取消"nnoremap <silent><nowait> a :call GuideEsc()<cr>:Dox<cr><esc>nnoremap <silent><nowait> s :call GuideEsc()<cr>:call ToggleFold()<cr>nnoremap <silent><nowait> d <nop>nnoremap <silent><nowait> f <nop>nnoremap <silent><nowait> g <nop>nnoremap <silent><nowait> w <nop>nnoremap <silent><nowait> q :call GuideEsc()<cr>nnoremap <silent><nowait> <esc> :call GuideEsc()<cr>" TODO 快速注释和格式整理
endfunctionfunction MenuW()echo "[a] 切换选项  [s] 代码格式 [q] 取消"nnoremap <silent><nowait> a :call GuideEsc()<cr>:call MenuWA()<cr>nnoremap <silent><nowait> s :call GuideEsc()<cr>:call MenuWS()<cr>nnoremap <silent><nowait> d <nop>nnoremap <silent><nowait> f <nop>nnoremap <silent><nowait> g <nop>nnoremap <silent><nowait> w <nop>nnoremap <silent><nowait> q :call GuideEsc()<cr>nnoremap <silent><nowait> <esc> :call GuideEsc()<cr>
endfunctionfunction GuideMapTopMenu()nnoremap <silent><nowait> a :call MenuA()<cr>nnoremap <silent><nowait> s :call MenuS()<cr>nnoremap <silent><nowait> d :call MenuD()<cr>nnoremap <silent><nowait> f :call MenuF()<cr>nnoremap <silent><nowait> t :call Terminal()<cr>nnoremap <silent><nowait> g <nop>nnoremap <silent><nowait> w :call MenuW()<cr>nnoremap <silent><nowait> q :call GuideEsc()<cr>nnoremap <silent><nowait> <esc> :call GuideEsc()<cr>
endfunctionnnoremap <silent><nowait> <space> :call GuideEntry()<cr>
function GuideEntry()" 1. 重新映射相关快捷键到 spacecall GuideMapTopMenu()" 2. 打印菜单echo "[a] 语义  [s] 查找  [d] 调试  [f] 窗口  [w] 其他  [q] 取消  [t] 终端"
endfunction""" 其他
" 调整窗口移动
nnoremap H <C-w>h
nnoremap J <C-w>j
nnoremap K <C-w>k
nnoremap L <C-w>l
" 快速保存
inoremap jk <esc>:w<cr>
nnoremap <esc> :w<cr>
inoremap <esc> <esc>:w<cr>
" 快速缩进
vnoremap < <gv
vnoremap > >gv

此配置是根据网上的配置方式来进行配置的

效果图

在这里插入图片描述

配置安装方法

 curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

直接在终端输入,然后回车就可以

⭐️下载完成后还要 source ~/.bashrc 让配置生效

⭐️卸载配置直接执行:bash ~/.VimForCpp/uninstall.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/768750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蔚来-安全开发一面/二面

基本不怎么会渗透测试&#xff0c;本科期间有过大数据隐私保护(密码)的项目&#xff0c;硕士期间有个华为合作的项目一篇在投的ai安全论文 一面&#xff08;45min&#xff09; 1.介绍自己 2.介绍一下实习 3.场景题轰炸&#xff0c;主要针对实习中的场景&#xff0c;主要考察…

atoi函数详解

atoi函数使用方法 在c官网中是这样介绍atoi函数的 通俗的讲就是把字符串中的字符数字转换为整形数字&#xff0c;遇到空格就跳过&#xff0c;如果在字符串开始遇到不是有效的整数比如说abc就直接返回0&#xff0c;如果遇到像这种情况123abc345这个就只返回123&#xff0c;这个…

Prometheus监控数据格式的学习

文章目录 Prometheus metrics概念数据类型数据形式 Prometheus metrics概念 Prometheus监控中metrics是对采集数据的总称。指标数据通常包括名称、标签、值和时间戳等信息。通过Prometheus metrics&#xff0c;用户可以更好地了解应用程序和系统的性能表现&#xff0c;以便进行…

Oracle AI Vector Search Multi-Vector Similarity Search 即多向量相似度检索学习笔记

Oracle AI Vector Search Multi-Vector Similarity Search 即多向量相似度检索学习笔记 0. 什么是多向量相似度检索1. 多向量相似度检索的示例 SQL2. 执行多向量相似度检索3. 分区行限制子句的完整语法 0. 什么是多向量相似度检索 多向量相似度检索涉及通过使用称为分区的分组…

【openGL4.x手册07】几何着色器

目录 一、说明二、关于几何着色器三、原始输入/输出规范3.1 实例 四、输入五、输出5.1 分层渲染 六、输出限制 一、说明 几何着色器对于渲染管线设计是一个新生事物&#xff1b;目前对应于几何着色器的资料不多&#xff0c;并且说法不一&#xff0c;因此如何用几何着色器&…

C语言数据结构之计数排序

世中逢尔 雨中逢花 目录 计数排序的介绍 代码展示 时间复杂度和空间父复杂度 计数排序的用途 计数排序的局限性 计数排序的介绍 排序原理 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 是一个不比较排序算法&#xff0c;通过计数将时间复杂度降到了O…

大型网站集群管理负载均衡

课程介绍 结合企业大规模应用&#xff0c;解决应用高并发问题&#xff0c;解决单节点故障问题&#xff0c;缓存数据库的应用。学完掌握知识点&#xff1a;企业应用实现四七层负载均衡&#xff0c;以及Nginx等应用的高可用性&#xff0c;Redis缓存数据库的部署应用以及高可用方…

Python 如何设置和读取 config.ini 文件

当你开始编写Python应用程序时&#xff0c;通常需要一种方法来配置应用程序的设置&#xff0c;如数据库连接信息、API密钥等。使用配置文件是一种常见的方法&#xff0c;而INI文件是一种简单而常见的配置文件格式。在本文中&#xff0c;我将介绍如何使用Python设置和读取INI格式…

中国联通的DDoS攻击防护解决方案

DDoS防护&#xff1a;打造坚不可摧的在线业务护城河 在当今瞬息万变的数字世界中&#xff0c;企业的在线服务与应用已成为业务运作的核心&#xff0c;而这也使其面临日益严峻的安全挑战&#xff0c;尤其是分布式拒绝服务&#xff08;DDoS&#xff09;攻击&#xff0c;它能短时…

【Redis】优惠券秒杀

全局唯一ID 全局唯一ID生成策略&#xff1a; UUIDRedis自增snowflake算法数据库自增 Redis自增ID策略&#xff1a;每天一个key&#xff0c;方便统计订单量ID构造是 时间戳 计数器 Component public class RedisIdWorker {// 2024的第一时刻private static final long BEGIN…

Unity 背包系统中拖拽物体到指定位置或互换位置效果的实现

在Unity中&#xff0c;背包系统是一种常见的游戏系统&#xff0c;可以用于管理和展示玩家所持有的物品、道具或装备。 其中的拖拽功能非常有意思&#xff0c;具体功能就是玩家可以通过拖拽物品图标来移动物品在背包中的位置&#xff0c;或者将物品拖拽到其他位置或界面中&…

29双体系Java学习之编程的基本过程和类的通用格式

编程的基本过程 类的通用格式 ★小贴士 类的设计应遵循单一职责原则&#xff08;SRP&#xff09;&#xff0c;即只能让一个类有且仅有一个职责&#xff0c;以保证修改的可能性尽量少。

DEll R440 LC下的硬件日志收集步骤(注意:此方法收集的日志里无操作系统的日志);

一&#xff0c; LC下的硬件日志收集步骤&#xff08;注意&#xff1a;此方法收集的日志里无操作系统的日志&#xff09;&#xff1b; 开机看到屏幕左上角出现F10的提示的时候&#xff0c;敲击F10&#xff0c;进入LC的界面&#xff1a; 找到U盘的类似文件&#xff0c;就是最终生…

无人驾驶中的坐标转换

无人驾驶中的坐标转换 无人车上拥有各种各样的传感器&#xff0c;每个传感器的安装位置和角度又不尽相同。对于传感器的提供商&#xff0c;开始并不知道传感器会以什么角度&#xff0c;安装在什么位置&#xff0c;因此只能根据传感器自身建立坐标系。无人驾驶系统是一个多传感器…

【云开发笔记No.10】用户故事

一、用户故事的概念 在敏捷软件开发中&#xff0c;用户故事&#xff08;User Story&#xff09;是一种轻量级的、从用户角度描述需求的方法。它通常是由用户或代表用户利益的人编写的简短描述&#xff0c;用于表达系统应该具备的功能或特性。用户故事的核心目的是确保开发团队…

Windows/Linux-openEuler系统使用路由侠内网穿透,部署项目详细教程

文章目录 Windows/Linux-openEuler系统使用路由侠内网穿透&#xff0c;部署项目详细教程一、在windows系统下载安装路由侠并实现项目部署1、下载路由侠并注册安装到Windows系统2、点击内网映射&#xff0c;添加映射&#xff0c;注册域名前缀3、选择网站应用4、配置你想要代理项…

ubuntu上一款好用的串口工具screen

看名字&#xff0c;你猜他是什么&#xff1f; 安装 sudo apt install screen 然后将USB串口接到虚拟机&#xff0c;执行dmesg命令查看串口设备名&#xff1a; 测试&#xff1a; sudo screen /dev/ttyUSB0 115200确实很简单。

数据结构(五)——树森林

5.4 树和森林 5.4.1 树的存储结构 树的存储1&#xff1a;双亲表示法 用数组顺序存储各结点&#xff0c;每个结点中保存数据元素、指向双亲结点(父结点)的“指针” #define MAX_TREE_SIZE 100// 树的结点 typedef struct{ElemType data;int parent; }PTNode;// 树的类型 type…

sqlplus格式设置

一、语法 1.当前连接生效 设置sqlplus模式显示总行数: SQL> show pagesize; --查看目前的pagesizeSQL> set pagesize 100; --设置pagesize为100设置sqlplus模式显示行宽度&#xff1a; SQL> show linesize; --查看当前的linesize宽度SQL> set linesize 100; --设…

MySQL全面瓦解备份与恢复

1 为什么需要数据库备份 灾难恢复:当发生数据灾难的时候,需要对损坏的数据进行恢复和还原需求的变更或者回滚:当需求发生变更,或者需要回滚到之前的版本时,数据库备份也显得很重要。审计:需要知道某一个阶段的数据或者Schema的实际情况测试:将实际的生产环境的数据导入到…