title: Vim常用操作及使用技巧
date: 2019-08-19 20:18:37
tags: Linux
categories: 运维
早期版本:vi
Vim常用操作
Vim是一个功能强大的全屏幕的文本编辑器,是Linux/UNIX上最常用的文本编辑器,他的作用是建立、编辑、显示文本文件。
VIm 没有菜单,只有命令
vim常用命令
编辑模式常用命令
a
在光标所在字符后插入A
在光标所在行尾插入i
在光标所在字符前插入I
在光标所在行行首前插入o
在光标下插入新行O
在光标上插入新行
命令模式常用命令
按:
进入命令模式,如果当前是编辑模式,记得按下ECS
。
设置与保存命令
:wq
保存退出:wq!
强制保存退出(文件所有者及root可用):w new_filename
另存为指定文件ZZ
快捷键,保存修改并退出:q!
不保存修改直接退出q
退出set nu
设置行号set nonu
取消行号
移动命令
gg
到第一行G
到最后一行nG
到第n行:n
到第n行$
移至行尾0
移至行首
删除命令
x
删除光标所在处的字符nx
删除光标所在处后n个字符dd
删除光标所在行dG
删除光标所在行到文件末尾的内容D
删除光标所在处到行尾的内容:n1,n2d
删除指定范围的行
复制和剪切命令
复制是yy和p和组合键
剪切是dd和p的组合键
yy
复制当前行nyy
复制当前行一下的n行dd
剪切当前行ndd
剪切当前行一下的n行p
或P
粘贴在当前光标所在行下或行上
替换和撤销命令
r
取代光标所在处的字符R
从光标所在处开始替换字符,按Esc结束u
撤销上一步操作
检索命令
/string
检索指定字符串,检索时忽略大小写:set ic
检索时不忽略大小写 :set noic
n
搜索指定字符串的下一个出现位置:%s/old/new/g
全文替换指定字符串 ,如果后面是c
就会替换时询问你:n1,n2s/old/new/g
在一定范围内替换指定字符串
一些使用技巧
导入命令执行结果
如果需要把一个vim文件的内容导入到当前编辑内容中
使用r! 文件名
即可
该命令会把某个vim文件的当前光标所在行内容导入当前编辑内容中
:which 命令
查找某个命令的位置
定义快捷键
:map 快捷键触发命令
例如:
map ^P I#<ESC>
如果要实现一个快速注释某一行的命令,需要四部
- 进入编辑模式
- 使用
I
移至行首 - 输入
#
- 按
ESC
回到命令模式
如果用快捷键,可以快速完成这个操作
:map ^p I#<ESC>
^P 可以用ctrl+V+P
弄出来,表示要当按下ctrl+p
的时候触发。
如果需要去掉注释可以用一下方式定义快捷键
:map ^B 0x
然后就可以去掉注释了。
如果需要添加个人邮箱
:map ^H i610596547@qq.com<ESC>
连续行注释
:n1,n2s/^/#g
n1,n2s
表示指定范围行 /^/#g
在行首替换字符(也就是增加)
如果需要把连续行的注释去掉,也是用替换
:n1,n2s^#//g
其实就是正则表达式的简单应用。
如果要用//
连续注释
可以用
:n1,n2s/^/\/\//g
其中\/\/
是//
的转义
替代命令
:ab 替代文本 被替代文本
例如:
:ab mail 610596547
保存快捷键
在root用户在/root/.vimrc
下可写入快捷键
如果是别的用户则在/home/username/.vimrc
下写入
centos7 会自动帮你写入,而且文件名变为了.viminfo