IDEA + Vim,竟可以这么牛逼!!

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

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

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


1

简介

db2d75fae2cca4b5d718a644bacba74f.png


2

安装

164affbe4b16acb30af3d359ca244389.png

Intellj Idea中 安装以下三个插件

  • IdeaVim

  • IdeaVim-EasyMotion

  • IdeaVimExtension

fe44994e079604a71d880e5a741bdbf0.png

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


3

Vim

4efedd75b3f3c7befa2bf0c04be287a0.png

c9d936adb1450e1ba690436700a6df85.png

根据我自己的经验总结下来从原生编辑器过度到Vim最不习惯的当属方向键的移动从原本的 方向键变成了hjkl

这个其实没有太多好说的 就是需要克服这一关。多练就行。(下图为 Gif 演示)

adfe21378385357b615014be5793f5d5.gif

练习二:复制 & 粘贴

6c0a02d3726e2de2281ebe0f9b490a52.png

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

  • yy复制当前行

  • p粘贴

0ba2e5d786a8279a2368f0f78bd89a52.gif

练习三:在学多一点点

5142d4dbee0410771bdedde01805c707.png

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

y p f h c i

2011a2da61c61ed98d12856d2ba85447.gif

80ec78b69f7b6013b6434fbce6e189f1.png

54f2f3a4128ac5f10d06052f81a7d4cf.gif

GIF 中步骤如下:

  1. V进入内容选择模式

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

  3. d删除选中部分

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

cea55621912676ab132d913011eef400.gif

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

af022b4a74a96bba524c04503acfa4c8.gif

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

26db6ad67a10eaac61bd0959e7336d22.gif

7ab8d2a1de06e3c4daa1235a282c4fb8.png

b4f7da2ff00181a27c580daccc1ad4d4.gif

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

d62f4b2614b5a4b61fd0a6931c2cdda1.gif

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

9d2040baa23938d80709b87222a181a8.gif

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

1be2717d73eb392c4cd23b191eb1fce0.gif

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

cdac79b68b90842ccf6f0524eea19681.gif

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

52a066b16425833979e35edab9630ea9.gif

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

练习四:jump

1e746759eed261cf498ce687c4e34bdd.png

2dc424bf0f0cf76c5c5e9ec50feda4d8.png

ffd7c3dde42bbd758c938bcc1f1b8309.gif

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

  • 如果将这里的 f 改为 F 则是反向查找

b320e8337902220cd6fa4a586ebf4d4a.gif

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

cf5334bfabb92b1a908c5f834894b389.gif

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

练习五 学习一些通用场景

其他的比较好用的命令

  • zo | zc

  • dt{char}


4

配置

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

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

9e4fe0fa42d1c7d789d902dd3608dc8d.png

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

797b42056567ace41c585d4a692978e0.png

d94bec34847b7cbaae67d45b098d6439.png

97e2b1e2bc400db824a5411d91e43a66.gif

上图中 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 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

d4df5ad1d3571180b0b60545d9ed88c1.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值