编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

IDEA + Vim,竟可以这么牛逼!!(ideavim真的高效吗)

wxchong 2024-07-19 05:43:51 开源技术 11 ℃ 0 评论

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。


如果我的分享对你有帮助,请关注我,一起向上进击。

本教程并不是单纯的vim操作介绍,更多的是与Intellj Idea进行配合。需要同时具备Intellj Ideavim使用基础的同学学习。


1

简介


2

安装


Intellj Idea中 安装以下三个插件

  • IdeaVim

  • IdeaVim-EasyMotion

  • IdeaVimExtension

发现图标像上面一样编程一个小方块的时候 就代表插件安装成功


3

Vim


根据我自己的经验总结下来从原生编辑器过度到Vim最不习惯的当属方向键的移动从原本的 方向键变成了hjkl
这个其实没有太多好说的 就是需要克服这一关。多练就行。(下图为 Gif 演示)

练习二:复制 & 粘贴

CV大法好,毕竟大家有时候自嘲都是C V工程师 ?? 所以 复制 粘贴 还是需要在第一时间学会,这样才能更好的coding??。
  • yy复制当前行

  • p粘贴

练习三:在学多一点点

在学习一些其他的命令 提交效率。

y p f h c i


GIF 中步骤如下:

  1. V进入内容选择模式

  2. kkk向上移动 3 行,并进行选中

  3. d删除选中部分

    块级删除「常用」di* da*

    di"删除"内的内容,个人感觉这个还是非常常用了。也是初步在效率上优于传统的 intellj idea 的操作方式。如果想要删除之后马上进入插入模式 可以使用ci"

    di(删除(内的内容,如果想要删除之后马上进入插入模式 可以使用ci(

    • a在光标之后,进入插入模式

    • i在光标之前,进入插入模式

    • o在本行之后新增一行,并进入插入模式

    • A在本行结尾,进入插入模式

    • I在本行开头,进入插入模式

    • O在本行之前新增一行,并进入插入模式

    练习四:jump

    • [n]f{word}f用来查找在当前行当前光标后是否存在某个字符{word}如果存在则将光标移动过去。
    • 如果将这里的 f 改为 F 则是反向查找

    • $ | ^$跳转到行尾^跳转到行首

    • %括号匹配跳转() [] {}

    练习五 学习一些通用场景

    其他的比较好用的命令

    • zo | zc

    • dt{char}


    4

    配置


    在安装了 Vim 之后,其实官方只是给我们了一个基本的架子,能够实现 Vim 的基本操作。如果你想要用的更加顺手,那么你需要对 Vim 进行自己的个性化配置。这是一张白纸,它会被书写成什么样子由你自己决定。

    如何对 Idea 中的 Vim 模块进行配置

    在右下角点击 Vim 图标,然后点击Open ~/.ideavimrc

    上图中 gif 中演示的就是通过 调用RenameElementAction 重命名变量。


    初步的介绍完Intellj Ideaaction之后,下面分享我自己目前在用的几个比较常用的配置,通过快捷键 调用action

    "jk退出insert模式
    inoremap jk <ESC>

    let mapleader = '\<space>'
    "Idea action 配置
    " 重命令元素
    nnoremap <Leader>re :action RenameElement<CR>
    nnoremap <Leader>gi :action GotoImplementation<CR>
    nnoremap <Leader>im :action ImplementMethods<CR>
    nnoremap <Leader>rv :action IntroduceVariable<CR>
    nnoremap <Leader>cr :action CopyReference<CR>
    nnoremap <Leader>em :action ExtractMethod<CR>
    nnoremap <Leader>sw :action SurroundWith<CR>

    action listIntellj Idea中只是的所有的action列表

    插件配置

    其实本来 Vim 中的插件体系是非常强大的,但是因为我们是在Intellj Idea中使用Vim可以利用很多Intellj Idea原本的很多功能。目前我个人还没有发现有很亮眼的插件。所以如果你也正在使用 可以分享一下。


    参考文献

    • B 站 vim 入门讲解:bilibili.com/video/BV1Yt411X7mu
    • 简明 VIM 练级攻略:coolshell.cn/articles/5426.html
    • learn-vim:github.com/iggredible/Learn-Vim
    • Vim 配置:ruanyifeng.com/blog/2018/09/vimrc.html

    - EOF -

    文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~


    推荐阅读 点击标题可跳转

    1、Python 项目工程化最佳实践

    2、Python 可以比 C 还要快!

    3、streamlit,一个超强的 Python 库

    4、豆瓣8.9分的C++经典之作,免费送!

    5、Python 3.12 版本有什么变化?



    回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版
    回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版



    告诉你更多细节干货


    欢迎围观我的朋友圈

    ??每天更新所想所悟


    Tags:

    本文暂时没有评论,来添加一个吧(●'◡'●)

    欢迎 发表评论:

    最近发表
    标签列表