vim 如何简化 频繁使用的命令

查看:59
本文介绍了vim 如何简化 频繁使用的命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问题描述

vim的命令模式下,对于频繁使用的复杂命令, 应该怎么简化? 是不是设计快捷键就可以了?

本人经常使用一个替换命令 :0,$s/t/ /g 就是将tab键替换成4个空格.

对于新建的文件, 本人已经在配置文件中做了配置. 只是别人的文件经常出现tab键.

每次我都要替换一下.

我的问题

  1. 对于vim设置快捷键,我还不太熟悉, 可以用快捷键吗? 怎么设置? 用快捷键替换:0,$s/t/ /g 常用命令

  2. 可不可以,在vim打开文件的时候,自动转换, 这样连快捷键都不用设置了?

解决方法

首先感谢下面的回答者, 我是在他们给的解释上, 阅读帮助文档, 最后得出的个人觉得合理的方法

  1. 快捷键肯定是可以的, 但是需要记住快捷键. 对于我目前的问题, 我选择自动转换比较好.

  2. 首先:help ret 查看文档, 这里我想说的是, 替换的时候, 小心替换程序中字符串中的\\t 字符

  3. :help auto 查看文档, 不多说了.

  4. 查看.vimrc文件, vimrc文件中, 已经有了if has("autocmd")部分, 把对应的命令写在一起就可以了.

  5. autocmd BufRead *.cpp,*.h :ret这个自动替换命令, BufRead和BufReadPost是一样的. 这里要注意一下:模式选项,最好不要用*,具体替换什么类型的文件, 将后缀写出来.防止其他格式文件的误替换.

  6. 这个替换命令,只是替换Buf缓存中的内容, 如果没有修改, 没有保存. 是不会写入的. 直接退出的话, 没有任何修改的话, vim不会提示你保存, tab键依然存在. 这个不伤大雅.

最后,再次感谢下面的回答者.新年快乐.

解决方案

先来抛砖引玉:

  1. 既然你已经有了操作,那么为这个操作设置一个快捷键是很简单的,比如这样将这个快捷键设置为 normal mode 下的 <Leader>ts -- nnoremap <Leader>ts :0,$s/t/ /g<CR>, 大概是 希望快捷键映射的模式 快捷键 操作

  2. 第二个可以使用 autocmd BufRead * :%ret! 4<CR>, 将整个文件的 tab 转换成 space,每个 tab 用 4 个 space 替代. ret 指的是 replace tab, 更多内容可以 :help ret, :help autocmd, :help event, :help BufRead.

这篇关于vim 如何简化 频繁使用的命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆