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

文本编辑器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)