美文网首页
Linux学习(二)——文本编辑器Vim

Linux学习(二)——文本编辑器Vim

作者: 风之旅人c | 来源:发表于2020-04-12 20:51 被阅读0次

    文本编辑器Vim

    Vim的工作模式

    vi是Visual Editor的缩写,它是一种命令行界面的文本编辑器。而vim则代表了Vi IMproved(增强版vi)。vim不但可以用不同颜色显示文字内容,还能够进行诸如shell脚本,c等程序编辑功能,你可以将vim视为一种程序编辑器。

    vim的3中工作模式

    • 一般模式(指令模式):光标移动、删除、复制粘贴、查找替换。
    • 编辑模式:编辑文本,进行文本的插入或者替换等。
    • 命令行模式:保存文件,离开vi,读入文件,显示行号等。

    运行vim

    • vim filename
    • 如果存在该文件,则打开该文件;否则新建该文件。

    vim工作模式转换

    • 一般模式和编辑模式转换
      • 输入a、o、i、r(大小写)进入编辑模式。
      • 按下ESC进入一般模式。
    • 一般模式和命令行模式转换
      • 输入:转换为命令行模式。
      • 按下ESC进入一般模式。
    • 编辑模式和命令行模式无法转换。

    vim常见命令

    一般模式下功能键

    • 移动光标类
      • 上下左右可以移动字符,hjkl也可以实现同样的功能,h向左,j向下,k向上,l向右。
      • n加方向键可以移动n个字符,n空格向后移动n个字符。
      • 0或home移动到行首。
      • $或end移动到行尾。
      • H 移动到当前屏幕最顶行
      • M 移动到当前屏幕中间行
      • L 移动到当前屏幕最底行
      • G 移动到当前文本最末行
      • nG 移动到文本第n行
      • gg 移动到文本首行
      • n回车 向下移动n行
    • 删除、复制和粘贴
      • x,X x为向后删除一个字符,X为向前删除一个字符。
      • nx 向后删除n个字符
      • dd 删除光标所在的那一行
      • ndd 删除光标所在的向下n行
      • d1G 删除所在行到第1行所有数据
      • dG 删除所在行到末行所有数据
      • yy 复制光标所在的那一行
      • nyy 复制光标所在的向下n行
      • p,P p将复制的数据从光标下一行粘贴,P则从上一行粘贴
      • y1G 复制所在行到第1行所有数据
      • yG 复制所在行到末行所有数据
      • J 将光标所在行和下一行合并
      • u 还原过去的操作
      • Ctrl+r 重做上一个操作
      • . 重复上一个操作
    • 查找和替换
      • /keyword 查找光标之后keyword字符串,高亮显示,N下一个n反向。
      • ?keyword 查找光标之前keyword字符串,高亮显示,N下一个n反向。
      • :n1,n2s/word1/word2/g 在n1行和n2行之间查找word1字符串替换为word2。
      • 1,$s/word1/word2/g 从第一行到最末行,查找word1替换为word2.
      • 1,$s/word1/word2/gc 在第一行和最末行之间查找word1,替换为word2之前需要确认。
    • 从一般模式进入编辑模式
      • i 在光标前插入字符。
      • I 在光标所在行的行首插入字符。
      • a 在光标后插入字符。
      • A 在光标所在行的行尾插入字符。
      • o 在光标所在行下插入新的一行。
      • O 在光标所在行上插入新的一行。
      • r 替换光标所在的字符,只替换一次。
      • R 一直替换光标所在的字符,直至按下ESC。

    命令行模式功能键

    • :w 保存文本
    • :w! 如果文本为只读,强制保存
    • :q 推出vim
    • :q! 强制退出vim,不管是否编辑都不保存强制退出
    • :wq 保存之后退出
    • e! 还原文本到最原始状态
    • ZZ 等价于:wq
    • :w [filename] 将文本另存为filename
    • :r [filename] 在光标所在行的下面读入filename文档的内容
    • :set nu 在每行的行首设置行号
    • :set nonu 取消行号
    • n1,n2 w [filename] 将n1行到n2行之间的内容另存为filename
    • ! command 暂时离开vim,执行linux命令,然后按回车返回。

    Vim其他事项

    文件救援——交换文件(filename.swp)

    • [O] open read-only 只读方式打开
    • [E] edit anyaway 直接编辑
    • [R] recover 恢复
    • [D] delete 删除
    • [Q] quit 退出
    • [A] abort 中止

    高级功能——改变颜色

    vim filename 有颜色

    多窗口编辑

    • vim -O/on [file_1] [file_2]
      • O 垂直分割,ctrl+w+⬅/➡切换。
      • O 水平分割,ctrl+w+⬆/⬇切换。
      • n表示分几个屏幕,缺省按照文件数量。
      • ctrl+w按两次切换窗口(两个文件时)
    • :sp 把文件同时显示在两个窗口
    • :sp filename 在新窗口启动另一个文件
    • :q 推出当前所在分屏
    • :only 或 ctrl+w+o 取消除当前分屏外其他分屏

    多文件编辑

    • vim file1 file2 file3 ...
    • :n 编辑下一个文件
    • :N 编辑上一个文件
    • :files 列出目前vim开启的所有文件

    高级功能——块选择

    • v 字符选择,会将光标经过的地方反白选择
    • V 行选择,回家光标经过的行反白选择
    • ctrl+v 区块选择,长方形选择
    • y 反白的地方复制
    • d 删除反白的地方
    • p 将复制的内容粘贴

    相关文章

      网友评论

          本文标题:Linux学习(二)——文本编辑器Vim

          本文链接:https://www.haomeiwen.com/subject/cktimhtx.html