文本编辑器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 将复制的内容粘贴
网友评论