linux 中 vi,vim 操作技巧
配置 vim
/etc/vimrc
配置项全局生效,对所有用户生效.vimrc
家目录下,只针对某个用户生效
退出vim
编辑器
保存退出
使用 Vim 编辑器保存并退出编辑状态是一件轻而易举的事,你只需记住按 ESC 键切换到正常模式,然后输入冒号(:),之后输入
wq
即可实现保存并退出。
直接退出
如果不想保存,则按 ESC 键切换到正常模式,然后输入冒号(:),之后输入 q! 即可。
删除一行或者多行
通过退格键(Backspace)来删除一行代码显然是太麻烦了。可以通过切换到正常模式(编辑模式下按 ESC 键)来进行操作:
dd
:输入两次dd
删除当前行。3dd
:从当前行开始删除 3 行。dG
:(先输入 d,然后按 shift 键输入 g)删除当前行至最后一行的所以行。
复制粘贴一块代码
你可能经常需要复制一行或一大块代码,使用 Vim 快捷键来实现此功能是非常简单的:
按 Esc 切换到正常模式;
把光标移到你需要复制的代码行首;
按 V 选择整行,可移动光标选择多行;
按 d 剪切或按 y 复制选择的代码;
移动光标到你需要粘贴的位置,按 p 粘贴代码到光标后的位置,或按 P 粘贴到光标前。
撤销与重做
在使用 Vim 或其他编辑器的时候,你可能经常需要对某些修改进行撤销或重做。在 Vim 中,你可以切换到正常模式,按 u 来撤销操作,按 Ctrl+r 来重做。
代码注释
代码注释
按 Ctrl+v 切换到可视化模式;
移动光标(j 或 k)选中需要注释的行的开头;
按大写 I,然后输入注释符,如 #;
最后按 Esc。
取消注释
按 Ctrl+v 切换到可视化模式;
按 j 或 k 选择要删除的注释符;
按 d 或 x 删除注释符
搜索
搜索在很多时候都是一个非常重要的功能。在文件中搜索一个特定的词,可以切换到正常模式,然后输入斜线
/
,之后跟上要搜索的词,回车即可。
按 n 显示下一个搜索结果,按 N 显示上一个搜索结果。
把外部文件读入 vim
我开始使用
vim
的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。切换到正常模式,然后按:read <File Name>
。使用此快捷键你不需要手动打开文件来复制内容。
把命令的结果读入 vim
切换到正常模式,然后输入
:read !command
即可把 command 的结果输入到 vim 中。
切换到上次修改的位置
想知道你在文件中做的最后一次修改是在什么位置?切换到正常模式,输入 g; 来即可切换到上次修改的位置。
移动到文件顶部或者尾部
切换到正常模式,输入 gg 返回文件顶部,输入 G 返回文件底部。
切换到当前行的行首或者行尾
正常模式,输入
$
跳到当前行的行尾。输入0
跳到当前行的行首。
vim 中以 16 进制查看文件
正常模式下,输入
:%!xxd
会把当前文本转换成 16 进制
恢复到正常模式
大小写敏感查找
在查找模式中加入\c 表示大小写不敏感查找,\C 表示大小写敏感查找
将查找
rumenz
,Rumenz
,RUMENZ
等等
查找与替换
语法
例如:%s/foo/bar/g 会在全局范围(%)查找 foo 并替换为 bar,所有出现都会被替换(g)。
替换当前行
把当前行所有的 rumen 全部替换成 rumenz
只把当前行第一次出现的 rumen 替换成 rumenz
全局替换
把所有的 rumen 替换成 rumenz
只把每一行第一次出现的 rumen 替换成 ruemnz
5 到 10 行替换
5 到 10 行所有的 rumen 都替换成 rumenz
5 到 10 行每一行第一次出现 rumen 的替换成 rumenz
当前行与接下来 3 行rumen
全部替换
每一行后面追加123
每一行前面加#
,添加注释
删除每一行开头的#
,删除注释
原文链接:https://rumenz.com/rumenbiji/linux-vi-vim-skills.html微信公众号:入门小站
回复【1001】获取 linux 常用命令速查手册
回复【10010】获取 阿里云 ECS 运维 Linux 系统诊断
回复【10012】获取 Linux 学习笔记【强悍总结值得一看】
回复【10013】获取 shell 简明教程
版权声明: 本文为 InfoQ 作者【入门小站】的原创文章。
原文链接:【http://xie.infoq.cn/article/bb715002780b7965f1bcafbdc】。文章转载请联系作者。
评论