vim 文本编辑命令

vi编辑器的启动与退出
    vi   直接进入编辑环境
    :q!  强行退出vi编辑环境
文件操作
    :e filename 打开filename文件。若filename为空,则重新读取当前文件
    :r filename 读取filename文件内容到当前文件
    :w  保存文件
    :q  退出vi编辑器
    :wq 保存并退出 
光标移动操作
    光标方向移动
    h  向左移动
    l  向左移动
    k  向上移动
    j  向下移动
翻页移动
    Ctrl + F  向前翻整页
    Ctrl + B  向后翻整页
    Ctrl + U  向前翻半页
    Ctrl + D  向后翻半页
行内快速跳转
    ^  快速跳转到本行的行首字符
    $  快速跳转到本行的行尾字符
    w   快速跳转到当前光标所在位置的后一个单词的首字母
    b  快速跳转到当前光标所在位置的前一个单词的首字母
    e   快速跳转到当前光标所在位置的后一个单词的尾字母
文件内行间快速跳转
    :set nu   编辑器中显示行号
    :set nonu 取消行号的显示
    1G 跳转到文件的首行
    G  跳转到文件的末尾行
    :$  跳转到文件的末尾行
    nG  跳转到文件中的第n行
    :n  跳转到文件中的第n行
编辑操作
    进入输入模式
    i  在当前光标处进入插入状态
    a  在当前光标后进入插入状态
    A 将光标移动到当前行的行末,并进入插入状态
    o 在当前行的下面插入新行,光标移动到新行的行首,进入插入状态
    O 在当前行的上面插入新行,光标移动到新行的行首,进入插入状态
    cw 删除当前光标到年在单词尾部的字符,并进入插入状态
    c$ 删除当前光标到行尾的字符,并进入插入状态
    c^ 删除当前光标之前(不包括光标上的字符)到行首的字符,并进入插入状态
输入模式的操作
    删除操作
    x  删除光标处的单个字符
    dd 删除光标所在行
    dw 删除当前字符到单词尾(包括空格)的所有字符
    de 删除当前字符到单词尾(不包括单词尾部的空格)的所有字符
    d$ 删除当前字符到行首的所有字符
    J 删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容。
    :%d 清空全部文本内容
撤销操作
    u  取消最近一次的操作,并恢复操作结果
    U 取消对当前行进行的所有操作
    Ctrl + r 对使用u命令撤销的操作进行恢复
复制操作
    yy 复制当前行整行的内容到vi缓冲区
    yw 复制当前光标到单词尾字符的内容到vi缓冲区
    y$ 复制当前光标到行尾的内容到vi缓冲区
    y^ 复制当前光标到行首的内容到vi 缓冲区
    :m,ny 复制文件中第m行到第n行之间的文本
粘贴操作
    p 将缓冲区中的内容粘贴到当前的位置(不覆盖文件已有的内容)
查找操作
    /word 自上而下的查找操作
    ?word 自下而上的查找操作
    继续往下搜索按/,继续往上搜索按?
    :nohl 取消高亮。查找后,单词仍为高亮
替换操作(注意会匹配空格,若写为/ old/则空格会被匹配)
    :s/old/new/      普通替换操作。用字符串str2替换行中首次出现的字符串str1。此时,正文中所有目标串都被加亮,输入:s,继续替换下一个目标串。
    :s/old/new/g    行内全部替换操作
    :m,ns/old/new/g 在m至n行区域内进行替换操作
    :.,$s/str1/str2/g 用字符串str2替换正文当前行到末尾所有出现的字符串str1 
    :%s/old/new/g  整个文件内的替换操作
    :s/old/new/c    使用替换的确认功能
编辑器的多文件操作
    :args 	    显示多文件信息
    :next 和 :prev  前后切换多文件
    :n 和 :N 	    前后切换多文件
    :first 和 :last 定位首文件和尾文件
    Ctrl + ^        循环文件切换
标签使用
    # ctags - R 递归生成tags 
    # vim *     递归打开所有文件
    :set tags=~/nginx/tags 设置tags文件路径
    Ctrl + ] 跳转到匹配tags。如选中一个函数,则跳转到选中函数的定义
    Ctrl + o 切换到上个跳转点
    Ctrl + i 切换到下个跳转点
    # grep -nr “string” dir 命令行辅助搜索字符串
分屏
    :split 或 :sp 水平分屏
    :vertical split 或 :vsp 垂直分屏
    Ctrl + w + w 屏幕之间切换
    Ctrl + w + x 将当前窗口与下一个窗口对调
    :e filename 当前屏打开文件


使用tab切换多个文件
:tabnew /path/to/foo.txt
按g,按t,在tab间切换

跳到第20行
:20

选择文件块
按v,然后使用方向键选择文本块

拷贝
选择文本块后,按y

剪切
选择文本块后,按x

粘帖
执行拷贝或剪切操作后,再目标位置,按p

删除
选择文本块后,按d

按行选择文本块
Shift+v
按列选择文本块
Ctrl+v

拷贝当前行
yy

往下拷贝三行
3yy

删除当前行
dd

往下删除三行
3dd

撤销 u
反撤销 Ctrl+r

清空全部文本内容
:%d

批量注释
1)Ctrl + v
2)光标上或下移选择需要注释行的开头
3)按大写I键,下方会提示 insert 模式,输入注释符号(#或//)
4)按ESC键,多行即被注释

批量删除注释
同上一、二步骤后,按d键,注释即被删除


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值