vi编辑器
2024-02-02 22:23:18
浏览量: 1007
概述
- vi是一种全屏幕编辑器(visual),真正的vi编辑器是专用产品,不允许直接用于Linux,但vi有多种兼容程序如:elvis、vim、stevie、和nvi
- vi [参数] < filename >
- 用vi编辑器打开指定文件
- vi +n 文件名
- 打开文件并将光标置于第n行
- vi也支持同时编辑多个文件
- 例如:vi file1 file2
- 在使用vim编辑文件时如果强制退出终端,会针对当前文件生成一个临时文件,下次再打开这个文件时,会提示有相关的临时缓存文件,并给出几个选项:0只读模式打开、E重新编辑、R恢复、D删除..., 直接回车默认以只读模式打开
安装
- 有的版本的linux需要单独安装
- 示例:sudo apt-get install vim
- 安装ctags
- 示例:sudo apt-get install ctags
操作模式
命令模式 :
- :wq 保存退出
- 同功能的还有 :ZZ、:x、shift+zz
- :q! 不保存强制退出
- :w 保存不退出
- :q 正常退出
- 移动光标
- 0 移动到光标所在列的最前面
- $ 移动到光标所在列的最后面
- ctrl+d 向下半页
- ctrl+f 上下一页
- ctrl+u 向上半页
- ctrl+b 向上一页
- L 移动端视窗的最后列
- H 移动到视窗的第一列
- b 移动到上个字的第一个字母
- w 移动到下个字的第一个字母
- e 移动到下个字的最后一个字母
- ^ 移动到光标所在列的第一个非空白字符
- n- 减号 移动到上n列的第一个非空白字符
- n+ 加号 移动到下n列的第一个非空白字符
- nG 移动到第n列
- fxFx 往右移动到x字符上,往左移动到x字符上
- txTx 往右移动到x字符前往左移动;到x字符前配合f&t使用
- ;, 重复一次配合f&使用,放方向重复一次
- /string?string 往右移动到有string的地方,往左移动到有string的地方
- nN 配合/&?使用,重复一次配合/&?使用,反方向重复一次
- n( 移动到前n个句子的最前面
- n) 移动到下n个句子的最前面
- n{ 移动到前n个段落的最前面
- n} 移动到下n个段落的最前面
- 删除与修改
- x 删除光标所在字符
- dd 删除光标所在列
- r 修改光标所在字符
- R 进入取代状态,新增资料会覆盖原先资料,直到按ESC回到指令模式为止
- s 删除光标所在字符,并进入输入模式
- S 删除光标所在列,并进入输入模式
- u 恢复被删除的资料;ctrl+r 反撤销
- U 恢复光标所在列的所有改变
- 编辑指令:是由指令与范围所构成,例如dw是由删除指令d与范围w所组成
- 指令:
- D 删除(delete)
- y 复制(yank)
- p 放置(put)
- c 修改(change)
- 范围:
- e 光标所在位置到该字的最后一个字母
- w 光标所在位置到下个字的第一个字母
- b 光标所在位置到上个字的第一个字母
- $ 光标所在位置到该列的最后一个字母
- 0 光标所在位置到该列的第一个字母
- ) 光标所在位置到下个句子的第一个字母
- ( 光标所在位置到该句的第一个字母
- } 光标所在位置到该段落的最后一个字母
- { 光标所在位置到该段落的第一个字母
- 指令:
:10dd #删除10行
:10yy #复制10行
:10j #往下移10行
:10,20d #删除第10行至第20行的数据
:10d #删除第10行的数据
:%d #删除整个编辑器缓冲区
:10,20co30 #将第10行至第20行的数据复制到第30行之后
:10,20mo30 #将第10行至第20行的数据剪切到第30行之后
- 查找命令
- / 在光标之后查找
- ? 在光标之前查找
- n 往下继续寻找下一个相同的字符
- N 往上继续寻找相同的字符
- 环境设定命令
- 自动缩进:在编辑文件或程序时,有时会遇到需要缩进的状况
- :set nu 设定资料的行号
- :set nonu 取消行号设定
- :set ai 自动缩进
- :set noai 取消自动缩进
- 自动缩进:在编辑文件或程序时,有时会遇到需要缩进的状况
编辑模式vi
- a 从光标所在位置后面新增
- A 从光标所在列最后面的地方开始新增
- i 从光标所在位置前面插入
- I 从光标所在列的第一个非空白字符前面开始插入
- o 在光标所在列下新增一列并进入输入模式
- O 在光标所在列上方新增一列并进入输入模式
插入/输入模式 i a o
环境变量设置
- 在.vimrc配置文件中配置以下内容
- set nu "显示行号
- syntax on "语法高亮
- set cindent "c语言的缩进模式
- set autoindent "自动缩进
- set tabstop=4 "设置tab缩进长度为4空格
- set list lcs=tab:|\ " 设置tab提示符号为 "|",注意最后一个反斜杠后面要留有空格
- set cc=0 " 设置高亮的列,这里设置为0,代表关闭
- set cursorline " 突出显示当前行
- .vimrc文件的注释要用双引号开头,而不是井号
推荐文章
-
2024-01-16 00:37:22 浏览量: 1010
-
2024-01-16 11:33:28 浏览量: 1099
-
2024-01-21 11:18:08 浏览量: 1005
-
2024-01-22 10:20:06 浏览量: 1004
-
2024-02-02 22:22:43 浏览量: 1005
-
2024-02-02 22:23:18 浏览量: 1007
-
2023-11-26 13:04:04 浏览量: 1007
-
2023-11-26 13:04:03 浏览量: 1014
-
2024-01-07 23:57:59 浏览量: 1015
-
2023-12-28 12:58:43 浏览量: 1002
-
2024-02-01 22:25:21 浏览量: 1013
-
2024-01-18 09:14:01 浏览量: 1003
-
2024-01-25 09:25:16 浏览量: 1008
-
2024-01-17 16:06:24 浏览量: 1001
-
2024-02-02 22:22:17 浏览量: 1001
-
2024-02-01 22:22:44 浏览量: 1005
-
2024-02-01 22:26:26 浏览量: 1001
-
2024-02-01 22:27:41 浏览量: 1000
-
2024-02-01 22:28:31 浏览量: 1000
-
2024-02-02 22:21:38 浏览量: 1000