vim 编辑器常用命令

1、vim可以分为三种状态:

命令模式(command mode)
插入模式(Insert mode)
底行模式(last line mode)

  1. 命令行模式command mode)   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
  2. 插入模式(Insert mode)    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
    a , i 进入编辑模式
  3. 底行模式(last line mode) 将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号……等。
    如果想让文本显示行号.就在命令行 模式下,在文本最后输入":set nu"命令.

快捷键
h,j,k,l: 上下左右键(小写模式下)
ctrl+b:屏幕往后移动一页(上一页)
ctrl+f:屏幕往前移动一页(下一页)
ctrl+u:屏幕往后移动半页(往上移动半页)
ctrl+d:屏幕往前移动半页(往下移动半页)
G: 移动到文章的最后
gg: 移动到文章的开始
“# gg”: 移动到#行

$: 将光标移动到行尾
^: 将光标移到行头
w: 下一个单词
b: 上一个单词
e: 单词的词尾

yw:将光标所在之处到字尾的字符复制到缓冲区中。
yy:复制光标所在行到缓冲区。   
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。   
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

? 加上要查找的内容 (向前搜索) 例如"/hello"或者是"?hello"
/ 加上要查找的内容 (向后搜索)
N (shift+n) 查找上一处
n 查找下一处

替换   
「r」:替换光标所在处的字符。 ,按一下"r"然后输入要即可.  
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
恢复上一次操作   
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.

1、复制
1)单行复制
在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;
2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

2、粘贴
在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

清除操作:
control + u 清除整行
control + l 清屏

选中多行后批量缩进
1、 ”shift+v“选中行
2、使用"=="进行缩进

方法1:
在一行上,">>",或"<<"(连按两下),可以缩进或缩出,用"n>>",“n<<”(n自然数),多行缩进缩出
按v进入visual状态,选定多行,用“>或<”,----缩进或缩出

方法2:
通常根据语言特征使用自动缩进排版:
在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。

注释多行/取消多行注释
以注释为#为例
注释多行:
1)将光标置于第一行要注释的地方, 按下Ctrl-V(or CtrlQ for gVim)进入VISUAL BLOCK模式,移动光标选中所有所需注释的行;
2)依次按下大写I(shift+i),#,Esc, vim会在所选行的每行行首添加#。
对于debian/ubuntu默认使用的vim版本,上述方法不起作用。需将第2步改为,输入 : ,出现:’<,’>提示符后输入s/^/#

取消多行注释:
将光标置于第一个 # 处, 按下Ctrl-V ,移动光标选中所有需要取消注释的行,按x,所有行首的#会被删除。

移动到行首和行尾
1、 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首。除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0)。
2、 如果要快速移动光标至当前行的行尾,可以使用编辑键End。也可以在命令模式中使用快捷键" &quot; ( S h i f t + 4 ) 。 与 快 捷 键 &quot; &quot; 和 0 不 同 , 快 捷 键 &quot; &quot;(Shift+4)。与快捷键&quot;^&quot;和0不同,快捷键&quot; "Shift+4""0""前可以加上数字表示移动的行数。例如使用"1 &quot; 表 示 当 前 行 的 行 尾 , &quot; 2 &quot;表示当前行的行尾,&quot;2 ""2"表示当前行的下一行的行尾。
3、I是定位到行首,A是定位到行末。

1、移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^"
2、移动到段首"{",移动到段尾"}"
3、移动到下一个词"w",移动到上一个词"b"
4、移动到文档开始"gg",移动到文档结束"G"
5、跳到第n行"ngg" 或 “nG” 或 “:n”
6、移动光标到屏幕顶端"H",移动到屏幕中间"M",移动到底部"L"
7、移动到上次编辑文件的位置 “`”

在每行行首或行尾添加/删除内容
一、添加
在每行行首添加相同的内容:
:%s/^/要添加的内容

在每行行尾添加相同的内容:
:%s/$/要添加的内容

二、利用正则表达式删除代码段每行的行号
:%s/^\s*[0-9]\s//gc
其中,表示行首,$表示行尾,\s表示空格,[0-9]表示0~9的数字,*表示0或多个,%s/\s*[0-9]\s//gc的意思是将每行以0或多个空格开始中间包含0或多个数字并以0或多个空格结束的字符串替换为空。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值