自用IdeaVim配置

2023-11-11

- 具体配置如下

nnoremap <SPACE> <Nop>
let mapleader = ":"

set hlsearch
set incsearch
set smartcase
set ignorecase
set easymotion
set surround
set argtextobj

set keep-english-in-normal-and-restore-in-insert

set scrolloff=4
" basic key mapping
" nnoremap L $
" nnoremap H ^
" noremap L $
" nvnoremap H ^
" nnoremap ; :

" clear the highlighted search result
nnoremap <Leader>sc :nohlsearch<CR>

" Move half page faster
" 向下半屏幕
nnoremap <LEADER>d  <C-d>
" 向上半屏幕
nnoremap <leader>u  <C-u>

" Window operation
" 光标在多个分屏移动
nnoremap <leader>ww <C-W>w
" 关闭分屏
nnoremap <leader>wd <C-W>c
" 光标左右上下移动
nnoremap <leader>wj <C-W>j
nnoremap <leader>wk <C-W>k
nnoremap <leader>wh <C-W>h
nnoremap <leader>wl <C-W>l
" 新建纵向窗口
nnoremap <leader>ws <C-W>s
nnoremap <leader>w- <C-W>s
" 新建横向窗口
noremap <leader>wv <C-W>v
nnoremap <leader>w\| <C-W>v

" copy and paste
nnoremap <Leader>y "y
nnoremap <Leader>p "p
nnoremap <Leader>P "+p
nnoremap Y "+y

" Tab operation
" 打个下一个打开的文件tab
nnoremap tn gt
" 打个上一个打开的文件tab
nnoremap tp gT

" Insert mode shortcut
nnoremap <C-h> <Left>
nnoremap <C-j> <Down>
nnoremap <C-k> <Up>
nnoremap <C-l> <Right>
nnoremap <C-a> <Home>
nnoremap <C-e> <End>
nnoremap <C-d> <Delete>

" Quit normal mode
" 关闭当前文件tab窗
nnoremap <Space>q  :q<CR>
" 关闭所有文件窗口
nnoremap <Space>Q  :qa!<CR>

" edit vimrc
nnoremap <leader>ve :e ~/.ideavimrc<CR>
nnoremap <leader>vw :w!<CR>
nnoremap <leader>vs :source ~/.ideavimrc<CR>

" intellij built in key map
" 搜索idea配置项
nnoremap <leader>a :action GotoAction<CR>
nnoremap <leader>b :action Bookmarks<CR>
" 项目中搜索类 java后缀文件
nnoremap <leader>c :action GotoClass<CR>
" 项目中搜索所有后缀 文件
nnoremap <leader>e :action SearchEverywhere<CR>
" 关键字搜索项目所有文件中的内容
nnoremap <leader>f :action FindInPath<CR>

" 与分支比较
nnoremap <leader>gc :action Git.CompareWithBranch<CR>
"
nnoremap <leader>gr :action Git.ResolveConflicts<CR>
nnoremap <leader>ga :action Annotate<CR>
" 打开idea的文件窗
nnoremap <leader>or :action FileMenu<CR>
" 查近打开过的文件
nnoremap <leader>r :action RecentFiles<CR>
nnoremap <leader>s :action FileStructurePopup<CR>
nnoremap <leader>h :action Back<CR>
nnoremap <leader>l :action Forward<CR>

" navigation
" 打开父类
nnoremap gs :action GotoSuperMethod<CR>
" 光标回到上次编辑的地方
nnoremap gb :action JumpToLastChange<CR>
" 查找引用
nnoremap gi :action GotoImplementation<CR>
" 查找定义
nnoremap gd :action GotoDeclaration<CR>
" 重命名
nnoremap gr :action RenameElement<CR>

" code actions
nnoremap U :action FindUsages<CR>
" 重命名
nnoremap R :action RenameElement<CR>
" 格式化代码
nnoremap == :action ReformatCode<CR>
" nnoremap = :action ReformatCode<CR>

" 注释当前行
nnoremap cc :action CommentByLineComment<CR>

" 打断点
nnoremap <Leader>sb :action ToggleLineBreakpoint<CR>
nnoremap <Leader>zb :action ViewBreakpoints<CR>

" 跳转到下一个错误
nnoremap <Leader>nn :action GotoNextError<CR>
nnoremap <Leader>nb :action GotoPreviousError<CR>

" 实现方法
nnoremap zi :action ImplementMethods<CR>
" 重写方法"
nnoremap zo :action OverrideMethods<CR>

" 行尾加;并换行
nnoremap ;<Cr> <Esc>A;<Cr>
" 行尾加;不换行
nnoremap ;; <Esc>A;
" jk映射退出
inoremap jk <ESC>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自用IdeaVim配置 的相关文章

随机推荐

  • 从 0 开始学 Python 自动化测试开发(二):环境搭建

    本文是 从 0 开始学 Python 自动化测试开发 专题系列文章第二篇 环境搭建篇 适合零基础入门的同学 没有阅读过上一篇的同学 请戳蓝色字体阅读 作者方程老师 是前某跨国通信公司高级测试经理 目前为某互联网名企资深测试技术专家 也是霍格
  • Win11家庭版完美解决旧版exe的DPI显示高清修复

    由于Win11家庭版的一些限制 不能直接按Win R搜索打开gpedit msc来执行相关操作 修改注册表对普通用户又太危险 因此本文介绍了一种更简便的操作方法 来设置旧程序对现在电脑的高DPI的适配 一共12个步骤 步骤1 打开 开始 搜
  • flutter 超详细的sqflite数据库使用详解

    前言 数据持久化存储是app开发过程中比较常见的需求 对于简单的配置数据我们可以通过SharedPreference来实现 但是如果是类似用户列表 商品列表等的大量复杂数据 再使用SharedPreference来存储就不合适了 本篇我们就
  • curl命令多行执行

    window环境执行 分割符是 curl http surge jdfmgt com core r coreAutoInitiateMain testAddData X POST d objectCreateCount 1 typeCode
  • leecode151 反转字符串中的单词(附有手写思路)

    丑陋的思路 StringJoiner版本 前言 刚开始我是用StringJoiner写的 因为我看到这个每个元素之间有一个固定的空格我就想着能够直接用这个StringJoiner来进行书写 但是我提交的时候说这个StringJoiner无法
  • leetcode分类刷题:哈希表(Hash Table)(三、循环存在问题)

    1 当需要快速判断某元素是否出现在序列中时 就要用到哈希表了 2 本文针对的总结题型为给定的序列或需要构造的序列中是否存在循环 与 160 相交链表 141 环形链表 142 环形链表 II的题型一样 202 快乐数 这道题还考察如何对正整
  • AndroidStudio内各个模拟器的安装位置

    As中 下载的本地模拟器的位置位于 android avd目录下 当该目录被删除后 打开AndroidStudio的AVD 会发现所有的下载过的模拟器都没有了
  • 【2021-04-07华为机试】第二题:各任务执行完毕需要的时间

    题目 给定N个任务 1 lt N lt 100 任务编号从0开始顺序累加 这N个任务在系统中排队顺序执行 每个任务的自身执行时间为非负整数 依次为t1 t2 tn 部分任务之间存在依赖关系的 某任务所依赖的任务如果没有执行 则该任务需要重回
  • IDEA 中设置自动补全方法

    最近转用 IDEA 但习惯于 Eclipse 的快捷键和快捷输入 以下是在 IDEA 中增添快捷键和快捷输入的方法 1 File Settings 2 Editor Live Templates Add Template Group gt
  • Ant Design Pro新增页面步骤

    新增页面步骤 根据页面结构规范创建页面文件后 接着在项目根目录寻找config文件夹下的routes js中添加该页面项的路由配置 如创建子路由则在父路由下定义routes属性 值为一个数组 数组中为该路由的子路由路由配置项 如下图 exp
  • 微信隐藏功能系列3:微信关闭朋友圈广告推送

    我们使用微信好多年了 这个工具不仅仅在社交上为我们带来许多好处 工作 消费中也是给我们带来不少方便之处 大家对微信隐藏功能了解多少 本期分享 微信关闭朋友圈广告推送 虽然微信为我们带来许多方便 但令人不适的东西也是有的 广告就是其中之一 特
  • python如何创建二维数组

    关于python中的二维数组 主要有list和numpy array两种 好吧 其实还有matrices 但它必须是2维的 而numpy arrays ndarrays 可以是多维的 两者可以相互转化 下边是两者区别 数组list gt g
  • linux va_start 编译,如何把unix 下的c程序移植到suse linux下,编译出错?

    FILE gfp out stdout 第45行 报 err c 45 error initializer element is not constant include int err set info char ps error typ
  • c++:STL容器及其接口(string、vector、deque、stack、queue、list、set/multiset、map/multimap)

    STL Standard Template Library 标准模板库 目录 一 STL 六大组件简介 二 string容器 2 1 string容器基本概念 2 2 string 构造函数 2 3 string基本赋值操作 2 4 str
  • 第五章可视化

    1散点图 1 代码 A 未处理异常值 import ggplot as gp import pandas as pd import numpy as np crime pd read csv crimeRatesByState2005 cs
  • git交互式暂存 git add -i 这个骚操作存在的意义为何

    文章目录 启用交互暂存 暂存常用的命令 交互暂存的意义在哪 应该场景的进一步说明 你已经能非常熟练的使用 git了 暂存是其中最基本的操作了 交互暂存是暂存的高级用法 虽然可以不用 但是在某些特定场景下 可以提高我们的工作效率 下边请看详细
  • Opencv3.1+python2.7的CentOS7安装

    time Jan 13 2016 20 29 author duanxxnj 163 com 花了两天时间才把Openv3 1的Python安装完成 中间遇到了好多奇怪的错误 在这里记录下整个安装过程 系统环境 Duanxx CentOS
  • js debugger的两种方式

    第一种 在js代码中加上debugger class ReactiveEffect constructor fn scheduler this fn fn this scheduler scheduler this active true
  • HDU - 6126 Give out candies

    Give out candies 题解 第一次遇见这样处理的网络流模型 将问题转换成最小割问题 具体的题解参考自 传送门 先将每个人的拆成m个人 然后s向第1人连边流量为inf 第i个人向第i 1个人连边 流量为 3000 w 将t视为每组
  • 自用IdeaVim配置

    具体配置如下 nnoremap