idea使用vim

2023-11-12

idea使用vim

安裝ideaVim插件

在idea中直接搜索插件 ideaVim 并安装

配置vim

/home/目录下创建 .ideavimrc文件,如在 windows 系统中,则在 C:\Users\xxxx\下建

.ideavimrc 中:


" Vim 的默认寄存器和系统剪贴板共享
set clipboard+=unnamed

" leader: ,  快捷键前缀
let mapleader = ","

" 基础键位映射
" esc 使用jk
inoremap jk <esc>

" 映射idea常用快捷键
" 重命名
nnoremap <leader>r :action RenameElement<CR>
" 格式化当前文件
nnoremap <leader>f :action ReformatCode<CR><esc>
" quick java doc
nnoremap <leader>q :action QuickJavaDoc<CR>


" 映射到idea快捷键
" 弹出输入框,可以跳到指定类
nnoremap <Space>gc :action GotoClass<CR>
" 弹出输入框,跳转到指定操作
nnoremap <Space>ga :action GotoAction<CR>

" 跳转到实现
nnoremap <Space>gi :action GotoImplementation<CR>
" 跳转到指定的文件
nnoremap <Space>gf :action GotoFile<CR>
" 跳转到方法的声明
nnoremap <Space>gs :action GotoSuperMethod<CR>
" 跳转到测试
" nnoremap <Space>gt :action GotoTest<CR>
" 跳转到变量的声明
nnoremap <Space>gS :action GotoSymbol<CR>

" 查找使用
nnoremap <Space>fu :action FindUsages<CR>
" 显示使用
nnoremap <Space>su :action ShowUsages<CR>

" 前进,相当似于eclipse中的alt+方向右键
" nnoremap gf :action Forward<CR>
" 后退,相当于eclipse中的alt+方向左键
" nnoremap gb :action Back<CR>


" 插件模拟
" surround
set surround
" multiple-cursors
set multiple-cursors
" easyMotion 模拟,额外依赖插件:AceJump,IdeaVim-EasyMotion
set easymotion
" 注释插件模拟
set commentary

常用操作

快捷键 中文
ci" change inside “,找到最近”“的位置,并删除”"中内容
ci(、ci[ change inside (, change inside [
cit cat in tag,可以直接编辑匹配的xml标签中的内容!
yi" yank inside " ,复制""中的所有内容
ya" yank around " 复制整个字符串,包括双引号。
ysiw’ 为光标下的单词包围上单引号,同理 ysiw"
cs’" 将单引号变成双引号,change surrounding ’ replace “”
cs"( 将双引号变成圆括号’
gUw 大写
guw 小写
gc 打开或关闭注释. 输入 gcc 打开或关闭某一行代码注释, gc2j 打开或关闭两行代码注释
gC 块代码注释.输入 gCi) 注释 括号()中的代码
gd Go to definition, 跳转到定义
gb 找出与光标下相同的下一个单词, 并添加一个光标 ,接下来就可以同时修改
af VISUAL 模式命令, 依据语法分析, 将选择区域向外扩展
gh 等同于将鼠标移至光标所在单词, 方便查看定义以及报错
gt 下一个文件
gT 上一个文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

idea使用vim 的相关文章

  • java运行bat命令得到某个windows文件的创建时间

    原文 java运行bat命令得到某个windows文件的创建时间 代码下载地址 http www zuidaima com share 1550463260150784 htm package com zuidaima util impor
  • springBoot整合kafka配置

    pom xml
  • java实现sftp文件与文件夹上传windows和linux

    写在前面 linux一般自带sftp 而windows需要先搭建sftp服务器 比如freesshd http www freesshd com ctt download 搭建好sftp服务后再用java程序连接进行上传下载操作 需要特别注
  • 多服务环境下定时任务重复执行问题解决方案

    当一个服务部署在多台服务器上时 定时任务可能出现多次执行的情况 就是每个服务上执行一次 有以下两种思路 一是固定死只有某服务器执行定时任务 二是随机暂停几秒 某一服务执行了 其他就不再执行 1 固定某一个服务器作为执行定时任务的机器 通过配
  • vim编辑器格式化代码

    他丫儿的搞啥子嘛 乱七八糟的 在vim中其实也有像Eclipse中的ctrl shift F 的自动格式化代码的操作 尽管非常强大 但是通常会破坏代码的原有的缩进 所以不建议在python这样缩进代替括号的语言中和源程序已经缩进过的代码中使
  • 随机生成几位字母加数字的混合字符串

    日常开发中 我们可能需要一些随机字符串做测试 可能是4位 也可能是8位 如下是一个随机生成8位字符串的工具类 可根据需要 改成自己的需要的 import java util Random public class RandomGenerat
  • 读取文件最后N行

    转自 http www zuidaima com share 1550463669226496 htm 指定行数 可以获取到从这行到文件尾的所有行 分享自大熊 源文件 读取最后10行结果 代码下载地址 http www zuidaima c
  • 手把手教你调用百度人脸识别API

    在百度AI开放平台使用百度的人脸识别能力 只需要三个核心步骤即可操作完成 获取接口权限 准备接口调用工具 进行接口调用 全部流程走通只需要十分钟时间 获取接口权限 获取接口权限是调用接口的前提 主要分为以下几步 1 进入百度云的人脸识别控制
  • RedisTemplate存储对象乱码解决

    SpringBoot 通过RedisTemplate存储对象时 key和Value乱码 特此记录 解决方法 import org springframework beans factory annotation Autowired impo
  • 卸载centos自带jdk&安装指定版本jdk

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 删除jdk 1 查看java安装情况 2 查看 3 卸载 4 rpm总结 5 安装 1 查看java安装情况 java version 2 查看 rpm qa grep jd
  • 【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio构建Java、Python项目

    文章目录 一 云IDE 1 云IDE简介 2 云IDE和云虚拟桌面区别 二 Cloud Studio 简介 1 简介 2 AI代码助手 3 企业源代码安全 三 快速开始 1 登录Cloud Studio 2 新建工作空间 3 代码空间 四
  • centos安装docker后,ping不能服务器ip

    工作中碰的问题 记录下解决过程 问题描述 2台内网服务器 A 172 20 72 77 和B 172 17 3 222 在A服务上ping B 安装 docker之前是可以ping通 安装docker之后确ping不通了 查找原因 在安装d
  • 解决挂载ext4格式文件系统错误 JBD2: Unrecognised features on journal问题

    1 mount demo img mnt dmesg 报如下错误 1479130 280508 JBD2 Unrecognised features on journal 1479130 280512 EXT4 fs loop1 error
  • 推荐一个将MD格式的文档轻松转换到微信公众号的工具

    因为微信公众号自带的编辑器不是特别友好 这也是一个痛点 之前也有使用过google插件 但不是特别灵活 现在推荐的这款工具可以很好的支持将MD格式的文档直接进行渲染 还是非常好用的 话不多说 先给出工具地址 https md openwri
  • Android 调用系统发短信界面,给指定号码发短信,并带短信内容

    工具类如下ContentUtil java package com zhoucj messagedemo util import android content Context import android content Intent i
  • Java占位符总结

    文章目录 实现方式 方式一 jdk1 8 java text MessageFormat 方式二 Log4j javaorg slf4j helpers MessageFormatter 方式三 commons text org apach
  • gitLens插件简单使用(默认上传github)

    1 安装 在vscode中的插件管理输入如下后下载 GitLens Git supercharged 2 配置 点击文件 首选项 设置 点击右上角设置小图标 3 github使用 首先仓库文件一定是要git init是git所管理的 1 在
  • WSL无法访问网络的解决办法

    今天在用WSL的时候突然网络抽风 域名解析出了问题 apt update都用不了 网上查了很多方法 什么vEthernet的IP啊 ifconfigip啊 ip route add default啥的 都不管用 最后还是看了一下 etc r
  • 对接百度api的工具类:Base64Util,FileUtil,HttpUtil

    对接百度api的工具类 Base64Util FileUtil HttpUtil package com baidu ai aip utils Base64 工具类 public class Base64Util private stati
  • 简单的文件内容繁简体甄别

    在做国际化的时候 很多旧文件中的简体或者繁体 需要优化 一个一个找很麻烦 于是在查阅资料后 自己编写了一个简单的工具 废话不多说 上码子 插件 mui ui vue js jquery 項目是 hbuildx 直接創建的 change la

随机推荐

  • 2023年黑客零基础从入门到精通学习成长路线(超多图、非常详细),看完这一篇就够了。

    怎样规划学习路线 如果你是一个安全行业新人 我建议你先从网络安全或者Web安全 渗透测试这两个方向先学起 一是市场需求量高 二则是发展相对成熟入门比较容易 值得一提的是 学网络安全 是先网络后安全 学Web安全 也是先Web再有安全 安全不
  • mysql 存储过程参考 虽然不建议用存储过程,一个例子 用于自己参考

    BEGIN DECLARE done INT DECLARE v companyName VARCHAR 100 DECLARE v phone VARCHAR 30 DECLARE v contactName VARCHAR 30 DEC
  • 论文笔记:On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima

    2017 ICLR 0 摘要 这篇文章探究了深度学习中一个普遍存在的问题 使用大的batchsize训练网络会导致网络的泛化性能下降 Generalization Gap 大的batchsize训练使得目标函数倾向于收敛到sharp min
  • ubuntu18.04 安装OpenBLAS

    一 通过apt get安装 sudo apt get install libopenblas dev 二 源码安装 下载OpenBLAS并安装 git clone https github com xianyi OpenBLAS git c
  • [人工智能-深度学习-37]:卷积神经网络CNN - 重构神经网络的疑惑与思考?

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 人工智能 深度学习 37 卷积神经网络CNN 重构神经网络的疑惑与思考 文火冰糖 王文兵 的博客 CSDN博客 如果你看懂我的疑惑 如果你能
  • MYSQL的server层和存储引擎层分析

    转自 微点阅读 https www weidianyuedu com SQL的全称是Structured Query Language 翻译成中国话就是结构化查询语言 这是一种声明式的语法 何为声明式 对于设计数据库的人而言 语句怎么执行就
  • 海量数据找中位数

    腾讯一面问到了 用的算法导论中的Kth算法 期望时间复杂度为O n 后来想了想 万一数据多的来根本不能一次读入内存 这个时候该如何解决呢 题目如下 只有2G内存的pc机 在一个存有10G个整数的文件 从中找到中位数 写一个算法 http b
  • python第五天作业

    作业4 判断以下哪些不能作为标识符 B D F A a B a C 12 D a 12 E false F False 作业5 输入数 判断这个数是否是质数 要求使用函数 for循环 num int input 请输入一个数 def zhi
  • 关于STM32烧录时遇到No Algorithm found for: 08000000H - 08001E13H的解决办法

    在烧录STM32F103C8T6相关例程时遇到提示 检查相关文件 均正常 但发现其默认配置为 Erase Sectors 因此 解决办法为 1 进入option for trget 小锤子 界面 2 选择Utilities界面 点击sett
  • js正则搜索img标签并替换src值

    第一种用函数更灵活 const html img src image1 jpg img src image22 jpg p Some text with no image p img src i23mage3 jpg const regex
  • 动态代理原理和设计模式详解

    一 什么是代理模式代理模式是一种设计模式 提供了对目标对象额外的访问方式 即可以通过代理访问目标对象 这样可以在不修改原目标对象的前提下 提供额外的方式进行访问 扩展目标对象的功能 通俗的说 例如你想租房 房子就是你的目标访问对象 那在中间
  • LVGL7.5版本 触摸与键盘输入(API)对接(一)

    LVGL7 5版本 触摸与键盘输入 LVGL7 5版本 触摸与键盘输入 API 对接 一 前言 一 indev输入设备的种类介绍 二 移植Touchpad与Keypad Touchpad Keypad Keypad测试示例 本篇完 LVGL
  • 有哪些值得互联网人加入的国企?

    程序员的成长之路 互联网 程序员 技术 资料共享 关注 阅读本文大概需要 5 5 分钟 今年的就业相比以往是难了一点 感受到的人 都懂 今天分享一些值得考虑的国企 毕竟优质的国企很稳定 不会像互联网一样担忧年纪大被裁员的情况发生 福利又好
  • 使用zabbix5.2监控mariadb--第七步

    困难点 zabbix5 2可用的userparameter mysql conf问题 一般不成功是因为监控脚本和数据库账号授权 01 前言 zabbix内置Mysql的监控模版 因为mariadb和Mysql两者的相关性 所以这个模版也能用
  • HFSS仿真导入到PCB

    一 从HFSS中导出DXF文件 以偶极子天线为例 先导出顶层 选择这个然后保存 然后同理 导出介质层和底层 二 导入PCB文件中 1 导入顶层 导入刚刚导出的顶层文件 然后将比例更改为mm pcb层改为Top Layer 导入之后选中 2
  • python 矩阵常用计算

    coding utf 8 import numpy as np aa np array 1 2 3 4 5 6 7 8 9 行列式 print np linalg det aa
  • mysql分割和合并字段数据

    1 以此表为例 2 分割字符串成多列展示 sql语句 select li substr li 1 2 as D盘 substr li 11 11 as jpg from sheet1 结果 3 分割完之后 可以得到想要的数据 根据数据有多少
  • 区块链医疗应用--智慧医疗系统

    区块链医疗应用 医疗现状 医疗行业利用区块链技解决个人健康数据的安全性与共享 医疗数据信息孤岛 产品溯源等 提供了更有效维护 全量备份 信息安全的分布式记账技术 为医疗数据共享带来更好思路 区块链的特性确保系统的稳定性 医疗行业的发展主要是
  • 语义分割——SegNet(四)

    简介 补充一下2015年发表的SegNet模型 它是由剑桥大学团队开发的图像分割的开源项目 该项目可以对图像中的物体所在区域进行分割 SegNet是在FCN的语义分割任务基础上 搭建encoder decoder对称结构 实现端到端的像素级
  • idea使用vim

    idea使用vim 安裝ideaVim插件 在idea中直接搜索插件 ideaVim 并安装 配置vim 在 home 目录下创建 ideavimrc文件 如在 windows 系统中 则在 C Users xxxx 下建 在 ideavi