网站首页 > 开源技术 正文
Vim 是个非常高效、非常好用的工具,很多人一旦开始使用 Vim 之后就再也无法自拔。然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。
本文介绍7个提高你工作效率和生产力的Vim使用技巧,作为你体验使用Vim进行高效操作的入门级教程。
重映射 vim 的 ESCAPE 键
vim 有多个模式并不是什么大问题,但在模式间切换的时候会感觉很糟。ESC 键有点远,这太麻烦了。当我面对新的 vim 环境时,所做的第一件事就是添加如下映射:
inoremap jj <ESC>
重映射 Vim 的 Leader 键
如果你不熟悉 leader 键,也不知道它能为你做什么,那你就从这开始了解吧。它本质上是作为你快捷键的激活键,你可以自定义用哪个键作为你的 leader 键。所以,你可以:
nnoremap j VipJ
这可以让你按下 leader 键结合大写 ‘j’ 后可视化的选择整段并加入行。
我个人用 ‘,’ 键作为我的leader键,这样我可以用 ‘,’ 激活我所有的快捷键,然后通过 ‘jj’ 退出插入模式。你可以在 .vimrc中像这样映射:
let mapleader = “,”
光标移动
Vim的最大好处就是几乎所有的操作都是通过主键区的键位进行操作,双手不用离开键盘主区
◎h、j、k、l,分别是左下上右移动光标,前面加上n,可以重复移动多次,例如3j就可以往下移动3行
◎^,跳到一行的开始
◎$,跳到一行的结束
◎gg,跳到文本的第一行
◎G,跳转到文本的最后一行
◎nG或者ngg,跳转到第n行,例如: 10G,跳转到第10行;20gg,跳转到第20行
提高 Git 工程中 Ctrl-P 的执行效率
将下面的内容添加到你的 .vimrc 文件中(配置使用 <Ctrl-P> 来使用 git 或 silver 查找工具来自动补全):
et g:ctrlp_use_caching = 0
if executable('ag')
set grepprg=ag --nogroup --nocolor
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
else
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . -co --exclude-standard', 'find %s -type f']
let g:ctrlp_prompt_mappings = {
'AcceptSelection("e")': ['<space>', '<cr>', '<2-LeftMouse>'],
}
endif
注:建议使用 vim-scripts/gitignore 插件。
提高单元测试执行效率
我用 vim-vroom 插件以及相应的 tmux 配置来进行我的测试。
vim-room 缺省使用 <Leader>r 执行测试,由于我已将 Leader 映射为 <Space> ,因此我通过<Space>r 来运行测试工具。
由于测试在 tmux 的单独窗口运行,因此我可以边看测试进展共修订我的代码。
Vim normal命令
Vim normal 命令可以在命令行模式执行普通模式下的命令,当normal命令与Vim可视化模式结合时,只需很少的操作就能完成大量重复性工作。
比如在编辑Markdown文件时想在某些行前面都加上 - 让普通文本行变成无序列表,可以先用 V 选中这些行,然后按 :'<,'>normal I- 并回车即可实现。
Vim替换命令s
Vim命令行模式下使用 :substitute 命令 (缩写形式 s ) 可以将指定范围内的字符替换成其他目标字符,实现同时处理多个目标行的操作效果。
例如,假设希望将Vim当前打开文件的所有行尾多余的空格删除,可以使用Vim命令 :%s= *$==。
其中,% 表示整个文件范围, *$ 表示以0个或多个 * 结尾的文本行。
以上就是我们和大家分享的7个Vim使用技巧,如果你有其他想法,欢迎留言与大家交流~
- 上一篇: 从零开始配置 vim(17)——快捷键提示
- 下一篇: 安装支持剪贴板的Vim版本,需要遵循这些步骤
猜你喜欢
- 2024-10-25 Linux编辑器——Vim,你知道多少?
- 2024-10-25 细述vim编码格式配置(vim中文编码)
- 2024-10-25 Vim 文本编辑工具详解(vim文本编辑器的使用)
- 2024-10-25 大白话 vim 教程-05-配置文件和插件
- 2024-10-25 为ansible yml设置vim(ansible部署lnmp)
- 2024-10-25 学会这些配置,让你的vim酷炫起来!文末有惊喜
- 2024-10-25 如何在 Vim 中进行文本选择操作和使用标志
- 2024-10-25 10款超牛Vim插件,爱不释手了(vim插件开发教程)
- 2024-10-25 Vim死忠粉必备 简约的Vim插件管理器Vim-Plug
- 2024-10-25 安装支持剪贴板的Vim版本,需要遵循这些步骤
你 发表评论:
欢迎- 最近发表
-
- 6月游戏推荐(二)(6月份新出的游戏)
- 37【源码】数据可视化:基于 Echarts + Python 动态实时大屏
- Kubernetes Kube-Proxy 组件 IPVS 模式工作原理及常用故障排查
- 《茶余饭后顶级英文歌曲精选》(茶余饭后的经典句子)
- rainx和MediaTek携手推出101产品生态,为5G FWA提供创新
- KAPITAL 推出蓝染风格 Aloha Shirt 系列
- 欧美经典怀旧歌曲Free loop-管不住的音符
- Mac 下php5.3-7.0的二进制包 ── PHP-OS
- 如何把一个Python应用程序装进Docker
- 为何推荐 JsonTree.js 做 JSON 可视化?
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)