vim 使用命令 (持续更新)

本文介绍了Vim编辑器中进行全选、复制和删除文本的快捷操作,以及如何进行文本替换。同时,针对只读文件的保存问题,提供了一种通过:w!!命令结合tee命令的解决方案,允许强行写入。此外,还分享了将该命令映射到.vimrc文件中简化操作的方法。
  • vim全选
全选(高亮显示):按esc后,然后ggvG或者ggVG
全部复制:按esc后,然后ggyG
全部删除:按esc后,然后dG
  • vim替换
:s/a/b/ 将当前行第一个a替换为b
:s/a/b/g #将当前行的所有a替换为b
:%s/a/b #将每行第一个a替换为b
:%s/a/b/g #将整个文件的所有a替换为b
:1,3s/a/b/ #将1至3行的第一个a替换为b
:1,3s/a/b/g  #将1至3行的所有a替换为b
:s#a/#b/#  #使用#作为分隔符,此时中间出现的/不会作为分隔符,如:将当前行的字符串"a/"替换为"b/"
:g/a/d  #找到包含字母a的行并删除
:g/^$/d  #删除所有空行
:s/ \+/ /g    #多个空格替换为一个空格
  • 强行写入只读文件
:w !sudo tee %

命令解释:

w: 表示保存文件
!: 表示执行外部命令
tee: linux命令,这个有点复杂,可以查看linux命令帮助
%: 在执行外部命令时,%会扩展成当前文件名;这个%区别于替换时的%,替换时%的意义是代表整个文件,而不是文件名

上述方式非常完美的解决了不能保存只读文件的问题,但毕竟命令还是有些长,为了避免每次输入一长串的命令,可以将它映射为一个简单的命令加到 .vimrc 中:

" Allow saving of files as sudo when I forgot to start vim using sudo.
cmap w!! w !sudo tee > /dev/null %

这样,简单的运行:w!!即可。命令后半部分> /dev/null作用为显式的丢掉标准输出的内容。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值