当前位置: 首页 > news >正文

idea vim配置

"basemap 
"source $cnfpath/nvim/cnf/basemap.vim

"""""""""""""""""""""
" 自动设置
"""""""""""""""""""""

"""""""""""""""""""""
" 通用设置
"""""""""""""""""""""
"解决中文输入法
"在ibus里面添加代码 .config/ibus/rime/build/stroke.schema.yaml
"识别不同的文件格式
set nocompatible "is support old vim
filetype on
filetype indent on
filetype plugin on
filetype plugin indent on
autocmd FileType text setlocal textwidth=78
"monse =true
set mouse=""
"noremap <ScrollWheelUp>      <nop>
"noremap <S-ScrollWheelUp>    <nop>
"noremap <C-ScrollWheelUp>    <nop>
"noremap <ScrollWheelDown>    <nop>
"noremap <S-ScrollWheelDown>  <nop>
"noremap <C-ScrollWheelDown>  <nop>
"noremap <ScrollWheelLeft>    <nop>
"noremap <S-ScrollWheelLeft>  <nop>
"noremap <C-ScrollWheelLeft>  <nop>
"noremap <ScrollWheelRight>   <nop>
"noremap <S-ScrollWheelRight> <nop>
"noremap <C-ScrollWheelRight> <nop>
"总是显示状态栏
set laststatus=1
"状态行显示的内容 statue
"set statusline=%a%n\ %F\%m%r%w\ \ %{''.(&fenc!=''?&fenc:&enc).''}\ %{(&bomb?\",BOM\":\"\")}\ [%l,%v][%p%%]
" 不保存不提示
set hidden
"默认leader
"let mapleader = "\<Space>"
let mapleader = ";"


"高亮
syntax enable " 开启语法高亮功能
"syntax on
set number
"相对行号
set relativenumber
"set norelativenumber
"显示状态select模式下显示选中的行数
set showcmd
" 搜索高亮
set hlsearch
exec "nohlsearch"
nnoremap <Space><CR> :nohlsearch<CR>
"搜索实时预览
set incsearch

"忽略大小写
set ignorecase
"set noignorecase
"智能大小写
"set smartcase
"使光标始终和上下边缘相距3行
set scrolloff=8
"按键间隔 change key wait time neterror
"set notimeout
set timeoutlen=500
set viewoptions=cursor,folds,slash,unix
"注释
set formatoptions=tcrqn
"分平
set splitright
set splitbelow
"关闭显示模式 IVNC  statusbar
set noshowmode
"启动画面
set shortmess+=c
"优化滚动性能
"set ttyfast
"在执行宏命令时,不进行显示重绘;在宏命令执行完成后,一次性重绘,以便提高性能。
set lazyredraw
"bell
set visualbell

"列长度标尺
set colorcolumn=80
"自动更新时间
set updatetime=1000
"允许光标出现在最后一个字符的后面
set virtualedit=block
"记录光标配置
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif


"状态列的行数,预设一行,建议设成两行
set cmdheight=2

"与windows共享剪贴板
"set clipboard+=unnamed

set history=10
"""""""""""""""""""""
" 排版设置
"""""""""""""""""""""
" tab-py
set expandtab
"把制表符显示为^I ,用$标示行尾 TAB会被显示成 ">—" 而行尾多余的空白字符显示成 "-"
set list
set listchars=tab:>-,trail:-
set indentexpr=
" 退格不换行 del any
set backspace=indent,eol,start

" 下线
set cursorline
"当设置成 expandtab 时,缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进
set expandtab
" vim中默认的缩进为8个空格 set ts=4
set tabstop=4
set shiftwidth=4
set softtabstop=4
"自动缩进
set autoindent
"set paste
set nopaste
"nnoremap  <F7> :set paste<CR>
"nnoremap  <F8> :set autoindent<CR>

"show tab
set showtabline=2
"自动换行
set wrap
set tw=0
nnoremap <Space>n :set nowrap<CR>
nnoremap <Space>N :set wrap<CR>
nnoremap <leader>sp :set paste<CR>
nnoremap <leader>sP :set nopaste<CR>
"操作:za,打开或关闭当前折叠;zM,关闭所有折叠;zR,打开所有折叠

"indent方式,vim会自动利用缩进进行折叠,我们可以使用现成的折叠成果.
"我们可以在(括号)折叠处输入以下命令:

"zc 折叠
"zC 对所在范围内所有嵌套的折叠点进行折叠
"zo 展开折叠
"zO 对所在范围内所有嵌套的折叠点展开
"[z 到当前打开的折叠的开始处。
"]z 到当前打开的折叠的末尾处。
"zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
"zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
"折叠方式 indent 所有 diff无更改折叠 syntax marker  manual手动
set foldmethod=indent
nnoremap <leader>zc2 :set foldlevel=2<CR>
nnoremap <leader>zc3 :set foldlevel=3<CR>
nnoremap <leader>zc4 :set foldlevel=4<CR>
nnoremap <leader>zc5 :set foldlevel=5<CR>
nnoremap <leader>zC :set foldlevel=99<CR>
"开启折叠
set foldlevel=99
set foldenable
"关闭折叠
"set nofoldenable
"nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
"Fill space between windows 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\

"显示标尺 :statusBar态行上显示光标所在位置的行号和列号
"set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)

    "缩进
"map <Tab> >>
"map <S-Tab> <
" key notation
"
"行首 行未
"nnoremap <leader>a 0
nnoremap <leader>' $
nnoremap <leader>l 0

inoremap jk <ESC>
"vnoremap jk <ESC>

"分屏
"nmap sv :set splitright<CR>:vsplit<CR>
"nmap ss :set splitbelow<CR>:split<CR>


nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
"nmap <space>h <C-w>h
"nmap <space>j <C-w>j
"nmap <space>k <C-w>k
"nmap <space>l <C-w>l
nmap <DOWN> :res +5<CR>
nmap <UP> :res -5<CR>
nmap <RIGHT> :vertical resize+5<CR>
nmap <LEFT> :vertical resize-5<CR>

"快速移动
nmap J 5j
nmap K 5k
nmap H 5h
nmap L 5l
inoremap <C-h> <Left>
inoremap <C-l> <Right>
inoremap <C-k> <Up>
inoremap <C-j> <Down>
inoremap <C-b> <PageUp>
inoremap <C-f> <PageDown>
"inoremap <C-d> <DELETE>
inoremap <C-d> <Backspace>


"快速复制
vnoremap <space>c "+y
vnoremap <space>1y "9y
vnoremap <space>2y "8y
nnoremap <space>1p "9p
nnoremap <space>2p "8p
nnoremap <space>o "0p
vnoremap <space>v "+p
vnoremap <space>x "+x
nnoremap <space>c viw"+y
nnoremap <space>p diwh"+p
function! CopyCode()
    :set paste
    :"+p
    :set nopaste
    "silent! call PhpCsFixerFixFile() 
endfunction
nnoremap <space>p diwh"+p

"imap <C-V>        "+gP
"map <C-V> "+p
"noremap i H

"保存文件
map S :w<CR>
"禁用s删除
map s <nop>
"推出
map Q :q<CR>
"刷新
map <Leader>R :source ~/.config/nvim/init.vim<CR>
map E :e<CR>
" 取消行号
"map N :set nu<CR>
"map n :set nonu<CR>
"fzf
"nnoremap <Leader>f :Files<CR>
"nnoremap <Leader>F :Rg<CR>
"nnoremap <Leader>t :Lines<CR>
"nnoremap <Leader>h :History<CR>
"nnoremap <Leader>b :Buffers<CR>
"tab切换
nnoremap bl :bn<CR>
nnoremap bd :call BufferDel()<CR>
"tab切换
nnoremap bh :bp<CR>
function! BufferDel()
    :bp|bd #
    "silent! call PhpCsFixerFixFile() 
endfunction

"copy path
"nnoremap <Leader>p :let @+=expand('%:p')<CR>

"nnoremap <Leader>P :let @+=expand('%:t')<CR>
"复制当前文件的绝对路径
noremap <Leader>p  :action CopyAbsolutePath<CR>
"复制当前文件名
noremap <Leader>P  :action CopyContentRootPath<CR>


"svn
nmap  <Leader>su :!svn up<CR>
nmap  <Leader>si :call Svnci()<CR>
nmap  <Leader>sd :!svn diff %<CR>
nmap  <Leader>go :!git checkout %<CR>
nmap  <Leader>sr :!svn revert %<CR>
nmap  <Leader>st :!svn st %<CR>

"" vim en chinese
set keep-english-in-normal
"set keep-english-in-normal-and-restore-in-insert

"" reload
set idearefactormode=keep
set ideajoin


set easymotion
nmap <leader>s <Plug>(easymotion-sn)
nmap <Leader>w <Plug>(easymotion-overwin-w)

set NERDTree
map tt :NERDTreeToggle<CR>
map tf :NERDTreeFind<CR>
let NERDTreeMapOpenExpl = ""
let NERDTreeMapUpdir = ""
let NERDTreeMapUpdirKeepOpen = ""
let NERDTreeMapOpenSplit = "s"
let NERDTreeOpenVSplit = "v"
let NERDTreeMapActivateNode = "l"
let NERDTreeMapOpenInTab = "t"
let NERDTreeMapPreview = "p"
let NERDTreeMapCloseDir = "h"
let NERDTreeMapChangeRoot = "r"

set surround
" cia
set argtextobj
"set visual-multi
set multiple-cursors
""" remap multiple-cursors
""" 避免了<A-n>键与Navigate导航栏的按键冲突
nmap <C-n> <Plug>NextWholeOccurrence
xmap <C-n> <Plug>NextWholeOccurrence
" nmap g<C-A-n> <Plug>NextOccurrence
" xmap g<C-A-n> <Plug>NextOccurrence
" nmap <C-x> <Plug>SkipOccurrence
" xmap <C-x> <Plug>SkipOccurrence
" nmap <C-p> <Plug>RemoveOccurrence
" xmap <C-p> <Plug>RemoveOccurrence


"let multi_cursor_use_default_mapping=0
"let multi_cursor_next_key='<C-n>'
"let multi_cursor_prev_key='<C-p>'
"let multi_cursor_skip_key='<C-x>'
"let multi_cursor_quit_key='<Esc>'

" 重构重命名
nnoremap <leader>r :action RenameElement<CR>
" 格式化当前文件
nnoremap <leader>cf :action ReformatCode<CR><esc>
"文件跳转
"noremap <Space>tf mm`m:action GotoFile<CR>

" quick java doc
nnoremap <leader>q :action QuickJavaDoc<CR>
"搜索任何位置 b
noremap <Leader>f :action SearchEverywhere<CR>
"文本搜索
noremap <Leader>B :action FindInPath<CR>
"打开最新文件列表
noremap <Leader>b :action RecentFiles<CR>

"改变视图symotion-sn)
"nnoremap <Space>cv :action ChangeView<CR>
"debug神器
"nmap <C-j> :action StepOver<CR>
"nmap <C-k> :action Resume<CR>
"nmap <C-h> :action StepOut<CR>
"nmap <C-l> :action ForceStepInto<CR>
"跳转 需要安装AceJump插d大幅度件
"noremap <Space>tj mm`m:action AceWordAction<CR>
"noremap <Space>jp mm`m:action AceDeclarationAction<CR>
"跳转下个报错处
noremap <Leader>ne mm`m:action GotoNextError<CR>
"跳转上个报错处
noremap <Leader>pe mm`m:action GotoPreviousError<CR>
"java类跳转
"noremap <Space>tc mm`m:action GotoClass<CR>
"从子类方法跳到父类的方法
"noremap <Space>gs mm`m:action GotoSuperMethod<CR>
"跳到方法实现
noremap <Leader>ii mm`m:action GotoImplementation<CR>
"跳回方法实现
noremap <Leader>ij mm`m:action GotoDeclaration<CR>
"new function
noremap <Leader>nf mm`m:action ExtractMethod<CR>
"new code block
noremap <Leader>sw mm`m:action SurroundWith<CR>
"noremap <Leader>im mm`m:action ImplementMethods<CR>
"万能重构"
"打开函数列表
noremap <Leader>T mm`m:action ActivateStructureToolWindow<CR>

noremap <Leader>u mm`m:action LocalHistory<CR>

"Ter common+T


 

相关文章:

idea vim配置

"basemap "source $cnfpath/nvim/cnf/basemap.vim """"""""""""""""""""" " 自动设置 """""""""…...

kafka排除zookeeper使用kraft的最新部署方案

kafka在新版本中已经可以不使用zookeeper进行服务部署&#xff0c;排除zookeeper的部署方案可以节省一些服务资源&#xff0c;这里使用 kafka_2.13-3.6.1.tgz 版本进行服务部署。 测试部署分为三个服务器&#xff1a; 服务器名称服务器IP地址test01192.168.56.101test02192.1…...

SQL Server数据库日志查看若已满需要清理的三种解决方案

首先查看获取实例中每个数据库日志文件大小及使用情况&#xff0c;根据数据库日志占用百分比来清理 DBCC SQLPERF(LOGSPACE) 第一种解决方案&#xff1a; 在数据库上点击右键 → 选择 属性 → 选择 文件&#xff0c;然后增加数据库日志文件的文件大小。 第二种解决方案 手动…...

人工智能 | 深度学习的进展

深度学习的进展 深度学习是人工智能领域的一个重要分支&#xff0c;它利用神经网络模拟人类大脑的学习过程&#xff0c;通过大量数据训练模型&#xff0c;使其能够自动提取特征、识别模式、进行分类和预测等任务。近年来&#xff0c;深度学习在多个领域取得了显著的进展&#…...

玩转Java8新特性

背景 说到Java8新特性&#xff0c;大家可能都耳濡目染了&#xff0c;代码中经常使用遍历stream流用到不同的api了&#xff0c;但是大家有没有想过自己也自定义个函数式接口呢&#xff0c;目前Java8自带的四个函数式接口&#xff0c;比如Function、Supplier等 stream流中也使用…...

EasyRecovery2024永久免费版电脑数据恢复软件下载

EasyRecovery数据恢复软件是一款非常好用且功能全面的工具&#xff0c;它能帮助用户恢复各种丢失或误删除的数据。以下是关于EasyRecovery的详细功能介绍以及下载步骤&#xff1a; EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win…...

QQ音乐新版客户端的音乐无法解密?来看看解决方法!音乐解锁工具Web+批处理版本合集,附常见问题及解决方法!

一、软件简介 一般会员制音乐软件&#xff08;如某抑云&#xff0c;某鹅&#xff0c;某狗音乐&#xff09;的歌曲下载后都是加密格式&#xff0c;加密格式的音乐只能在特定的播放器中才能播放&#xff0c;在其他音乐播放器和设备中则无法识别和播放。音乐解锁工具的作用就是将…...

2023年12月CCF-GESP编程能力等级认证C++编程一级真题解析

一、单选题(共15题,共30分) 第1题 以下C++不可以作为变量的名称的是( )。 A:CCF GESP B:ccfGESP C:CCFgesp D:CCF_GESP 答案:A 第2题 C++表达式 10 - 3 * (2 + 1) % 10 的值是( )。 A:0 B:1 C:2 D:3 答案:B 第3题 假设现在是上午十点,求出N小时(正整数…...

如何决定K8S Pod的剔除优先级

在Kubernetes&#xff08;k8s&#xff09;中&#xff0c;当节点资源面临压力时&#xff0c;如何决定Pod的优先级是一个关键问题。在Kubernetes 1.8版本之后&#xff0c;引入了基于Pod优先级的调度策略&#xff0c;即Pod Priority Preemption。这种策略允许在资源不足的情况下&a…...

【JavaScript】数据类型

文章目录 1. 数字&#xff08;Number&#xff09;2. 字符串&#xff08;String&#xff09;3. 布尔&#xff08;Boolean&#xff09;4. 对象&#xff08;Object&#xff09;5. 数组&#xff08;Array&#xff09;6. Undefined 和 Null7. typeof 操作符总结 在 JavaScript 中&am…...

JAVA:单例模式提高性能和安全性的优化技巧

1、简述 单例模式是一种常用的设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供全局访问点。在 Java 中&#xff0c;单例模式的优化不仅可以提高性能&#xff0c;还可以增强安全性和可维护性。本文将介绍一些关键的技巧和最佳实践&#xff0c;帮助你优化单例…...

如何在 Ubuntu 上安装 ONLYOFFICE 文档 8.0

通过使用社区版&#xff0c;您有能力在您自己的服务器上部署 ONLYOFFICE 文档&#xff0c;从而使在线编辑器与 ​​ONLYOFFICE 协作平台​​​或​​其他热门系统​​进行无缝集成。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一款全面的在线办公工具&#xff0c;提供了文本文档…...

什么是大模型

目录 让你了解什么是大模型什么是大模型&#xff1f;大模型的应用场景常见的大模型技术实例分析&#xff1a;深度学习语言模型GPT-3 让你了解什么是大模型 大模型&#xff08;Big Model&#xff09;是指在机器学习和人工智能领域中处理大规模数据和复杂模型的一种方法或技术。…...

C#在既有数组中插入另一个数组:Array.Copy方法 vs 自定义插入方法

目录 一、使用的方法 1.使用Array.Copy方法 2.Copy(Array, Int32, Array, Int32, Int32) 3. 使用自定义的方法 二、实例 1.示例1&#xff1a;使用Array.Copy方法 2.示例2&#xff1a;使用自定义的方法 一、使用的方法 1.使用Array.Copy方法 首先定义了一个名为InsertAr…...

上位机图像处理和嵌入式模块部署(linux开发板的选择)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多图像算法是通过上位机来完成的&#xff0c;比如说工业视觉当中的halcon&#xff0c;一般都是要运行在windows平台上面&#xff0c;并且需要高性…...

2024情人节送女朋友什么礼物?精准送礼看这个就对啦!男生必看!

爱情是生活中最美好的情感之一&#xff0c;而情人节则是表达这份感情的最佳时刻。在2024年的情人节来临之际&#xff0c;作为男生的你是否已经为心爱的她准备了一份特别的礼物呢&#xff1f;如果你还在犹豫不决&#xff0c;那么这篇文章就是为你准备的&#xff01;我们将会从女…...

查询每张表占用磁盘空间大小(达梦数据库)

查询每张表占用磁盘空间大小 环境介绍 环境介绍 在迁移准备工作中,为了更好评估迁移时间,可以统计大表数量与大表的实际大小,为迁移规划做准备 --查看用户下面每张表占用的磁盘空间SELECT T.OWNER,T.SEGMENT_NAME,T.SEGMENT_TYPE,T.TABLESPACE_NAME,T.BYTES,T.BYTES/1024 BYT…...

Vue3——创建一个应用

文章目录 创建应用实例挂载应用没有模板的组件的挂载 应用配置多个应用实例 其实使用脚手架创建的vue项目的main.js文件中已经为我们配置好 vue应用的创建。 import { createApp } from vue import App from ./App.vue const app createApp(App) app.mount(#app)创建应用实例…...

深度学习系列56:使用whisper进行语音转文字

1. openai-whisper 这应该是最快的使用方式了。安装pip install -U openai-whisper&#xff0c;接着安装ffmpeg&#xff0c;随后就可以使用了。模型清单如下&#xff1a; 第一种方式&#xff0c;使用命令行&#xff1a; whisper japanese.wav --language Japanese --model…...

【Web - 框架 - Vue】随笔 - 通过`CDN`的方式使用`VUE 2.0`和`Element UI`

通过CDN的方式使用VUE 2.0和Element UI VUE 网址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源码 https://download.csdn.net/download/HIGK_365/88815507测试 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…...

设计模式(行为型模式)备忘录模式

目录 一、简介二、备忘录模式2.1、备忘录2.2、原发器2.3、备忘录模式 三、优点与缺点 一、简介 备忘录模式&#xff08;Memento Pattern&#xff09;是一种行为设计模式&#xff0c;旨在捕获一个对象的内部状态&#xff0c;并在不破坏对象封装的前提下将其保存&#xff0c;以便…...

opencv案例实战:条码区域分割

前言 识别二维码是一个日常生活中常见的应用,而识别之前,需要先分割出条形码的区域来获取条形码。我们可以使用OpenCV便捷的获取条码的区域。 逐步分析 为了了解数据处理的过程,我们逐步分析并显示处理过程 查看图像 在读入时,传入参数cv2.IMREAD_GRAYSCALE可以直接按…...

《MySQL》超详细笔记

目录 基本知识 主流数据库 数据库基本概念 MySQL启动 数据库基本命令 数据库 启动数据库 显示数据库 创建数据库 删除数据库 使用数据库 查询当前数据库信息 显示数据库中的表 导入数据库脚本 表 查看表的结构 查看创建某个表的SQL语句 数据库的查询命令 查询…...

商用密码

商用密码&#xff08;Commercial Cryptography&#xff09;涉及到多个方面&#xff0c;包括但不限于数据加密、数字签名、身份验证和安全通信等。商用密码的目的是保护信息的机密性、完整性和可用性&#xff0c;确保数据在存储和传输过程中的安全。以下是一些Java商用密码方向的…...

css1文本属性

一.颜色&#xff08;color&#xff09;&#xff08;一般用16进制&#xff09; 二.对齐&#xff08;text-align) 三.装饰&#xff08;text-decoration&#xff09; 四.缩进&#xff08;text-indent&#xff09;&#xff08;一般用2em&#xff09;&#xff08;有单位&#xff09;…...

在容器中使用buildah构建镜像

简介 buildah是一个构建OCI标准镜像的工具&#xff0c;可以用来替代docker build 在常见的linux发行版中可直接通过包管理工具安装使用 # centos yum install buildah# ubuntu/debian apt install buildah# alpine apk add buildah其他发行版安装方法详见 github&#xff0c…...

GPT4_VS_ChatGPT(from_nytimes)

GPT4 VS ChatGPT&#xff08;from nytimes &#xff09; 正如文章官网博文&#xff1a;https://openai.com/research/gpt-4所述&#xff0c;GPT4仍有很多不足之处&#xff0c;还不及人类水平。纽约时报报道了一些人体验GPT4的效果和一些评价&#xff1a; Cade Metz 要求专家使…...

中兴R5300G4服务器查看服务器、主板序列号及硬盘RAID信息

本文在操作系统带内通过指令操作查看中兴R5300G4服务器、主板序列号及硬盘RAID信息。 一、中兴R5300G4服务器查看服务器、主板序列号 在Linux服务器上&#xff0c;可以使用dmidecode命令来查看服务器的硬件相关信息&#xff0c;由于该命令要读取系统的硬件信息&#xff0c;因…...

部署tomcat

1 idea打包完&#xff0c;找到target目录下的网站 我的叫做 test.webSYS 2 linux 安装 tomcat 后 修改conf下的server.xml中的Connector的port <Connector port"9001" protocol"HTTP/1.1"connectionTimeout"20000"redirectPort"8443…...

【Java 数据结构】枚举

枚举的使用 1 背景及定义2 使用3 枚举优点缺点4 枚举和反射4.1 枚举是否可以通过反射&#xff0c;拿到实例对象呢&#xff1f; 5 总结面试问题(单例模式学完后可以回顾)&#xff1a; 1 背景及定义 public static final int RED 1; public static final int GREEN 2; public …...