文章目录
什么是 vim
点击跳转至官网了解更多
Vim是一款功能强大的文本编辑器,适用于各种编程和文本处理任务,最初由Bram Moolenaar开发于1991年。它是Vi编辑器的增强版,Vi是Unix系统上的一款文本编辑器。Vim的名称代表“Vi IMproved”(Vi的改进版)。
Vim有着丰富的功能和强大的定制性,是程序员和系统管理员等专业用户的首选编辑器之一。
vim的主要功能:
- 模式:Vim具有多种模式,包括一般模式、编辑模式、可视模式、底行模式等。普通模式下可以执行各种编辑命令,插入模式用于输入文本,可视模式用于选择文本,底行模式用于执行命令。
- 快捷键:Vim通过使用快捷键来执行各种编辑操作,这些快捷键可以大大提高编辑效率。
- 强大的搜索和替换功能:Vim支持使用正则表达式进行搜索和替换,还支持全局替换、逐个替换等功能。
- 语法高亮:Vim可以根据文件的语法类型进行高亮显示,使代码更易于阅读和编辑。
- 自动补全:Vim具有自动补全功能,可以根据已输入的内容提示可能的选项,提高编码效率。
- 分屏和标签页:Vim支持将编辑区域分割成多个窗口,并且可以使用标签页来管理多个文件。
- 插件系统:Vim具有丰富的插件系统,用户可以根据自己的需要安装各种插件来扩展编辑器的功能。
vim的三种模式
-
命令模式(command mode)
以 vim 打开一个文件就直接进入一般模式了(这是默认的模式,也简称为一般模式)。 在这个模式中, 你可以使用“上下左右”按键来移动光标,你可以使用“删除字符”或“删除整列”来处理文件内容, 也可以使用“复制、贴上”来处理你的文件数据。
-
插入模式 (insert mode)
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下“i, I, o, O, a, A, r, R”等任何一个字母之后才会进入编辑模式。 注意了! 通常在 Linux 中,按下这些按键时,在画面的左下方会出现“ INSERT 或 REPLACE ”的字样,此时才可以进行编辑。 而如果要回到一般模式时, 则必须要按下“Esc”这个按键即可退出插入模式。
-
底行模式 (last line mode)
在一般模式当中,输入“ : ? / 三个中的任何一个按钮,就可以将光标移动到最下面那一列。 在这个模式当中, 可以提供你“搜寻数据”的动作,而读取、存储、搜索、替换、离开 vim 、显示行号等等的动作则是在此模式中达成的!
-
vim打开文件后为命令模式(command mode)
-
打开一个文件vim filename
-
打开多个文件vim file1 file2 …
使用
:e file
命令打开其他文件使用
:sp filename
启动新窗口打开文件
-
-
从命令模式(command mode)进入插入模式(Insert mode)
- 按i在当前位置编辑
- 按a在当前位置的下一个字符编辑
- 按o插入新行,从行首开始编辑
-
插入模式(insert mode)下按ESC键退回命令模式(command mode)
-
命令模式(command mode)下按 : 或 / 或 ?等即可进入底行模式(last line mode)
- 输入 :set nu 显示行号
- 输入 :1,$s/word/WORD/g 将全部的word替换为WORD
- 输入 /word 向下搜索word,之后按n继续搜索
- 输入 ?word 向上搜索word,之后按n继续搜索
- 更多命令介绍在底行模式的可用按钮说明中
-
底行模式(last line mode)下按ESC键或Enter键返回到命令模式(command mode)
-
底行模式(last line mode)下退出
- 输入:q退出
- 输入 :wq保存后退出
- 输入:q!强制退出
- 输入 :wq!强制保存退出
-
命令模式可用的按钮说明,光标移动、复制、粘贴等
操作 说明 移动光标的方法 h 或 ← 光标向左移动一个字符 j 或 ↓ 光标向下移动一个字符 k 或 ↑ 光标向上移动一个字符 l 或 → 光标向右移动一个字符 nG 移动到这个文件的第 n 列。 (可配合 :set nu) 例,100G为移动到第100行 n 或 n ↓ 光标向下移动 n 列(常用) 例,100 ↓为移动到101行,不同于100G x, X 在一列字当中,x 为向后删除一个字符,X 为向前删除一个字符 nx n 为数字,连续向后删除 n 个字符。 举例来说,我要连续删除 10 个字符, “10x”。 dd 删除光标所在的那一整列(常用) ndd n 为数字。 删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 (常用) yy 复制光标所在的那一列(常用) nyy n 为数字。 复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用) p, P p 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列。举例来说,我目前光标在第 20 列,且已经复制了 10 列数据。则按下 p 后,那 10 列数据会贴在原本的 20 列之后,亦即由 21 列开始贴。但如果是按下 P 呢?那么原本的第 20 列会被推到变成 30 列。 (常用) -
底行模式的可用按钮说明
操作 说明 :w 将编辑的数据写入硬盘文件中(常用) :w! 若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的文件权限有关啊! :q 离开 vi (常用) :q! 若曾修改过文件,又不想储存,使用 ! 为强制离开不储存盘案。 :wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用) :w [filename] 将编辑的数据储存成另一个文件(类似另存新文件) :r [filename] 在编辑的数据中,读入另一个文件的数据。 亦即将 “filename” 这个文件内容加到光标所在列后面 :n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个文件。 :! command 暂时离开 vi 到命令行界面下执行 command 的显示结果。例如 “:! ls /home“即可在 vi 当中察看 /home 下面以 ls 输出的文件信息! /word 向光标之下寻找一个名称为 word 的字串。 (按下后继续按n可连续搜索) ?word 向光标之上寻找一个字串名称为 word 的字串。 (按下后继续按n可连续搜索) :n1,n2s/word1/word2/g 在第 n1 与 n2 列之间寻找 word1 这个字串,并将该字串取代为 word2 ! 例 :1,$s/word1/word2/g,将第一行和最后一行中所有的word1替换为word2 :1,$s/word1/word2/gc 从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 ! 且在取代前显示提示字符给使用者确认 (confirm) 是否需要取代! (替换时可以选中行首^和行尾$) :sp filename 开启一个新窗口,如果有加 filename, 表示在新窗口打开一个新档案,否则表示两个窗口为同一个档案内容(同步显示)。如果需要更换窗口,可以同时按下ctrl w ↑ 或者 ctrl w ↓进行更换。想要结束选中的窗口,可以同时按下ctrl w q。 :set nu 临时设置显示行号,设置之后,会在每一列的字首显示该列的行号 (这是一个vim环境设置的命令) -
vim环境设置命令
- 常用命令1
命令 功能 详细说明 :set nu 打开行号显示 在每一行的左侧显示该行的行号,方便导航和定位。 :set nonu 关闭行号显示 停止显示每行的行号。 :set hlsearch 打开高亮搜索 在搜索时,匹配的文本会被高亮显示,以突出显示搜索结果。 :set nohlsearch 关闭高亮搜索 停止匹配文本高亮显示。 :set autoindent 打开自动缩进 在输入新行时,新行会自动与上一行保持相同的缩进,使代码更易于阅读和维护。 :set noautoindent 关闭自动缩进 输入新行时,不会自动应用与上一行相同的缩进,使用者需要手动缩进文本。 :syntax on 打开语法高亮 Vim 会根据文件类型自动高亮显示关键字、注释等,提高代码可读性。 :syntax off 关闭语法高亮 停止对文件的语法高亮显示,适用于不希望使用语法高亮的情况,例如在查看纯文本文件时。 :set bg=light 设置背景颜色为亮色 设置 Vim 编辑器的背景颜色为亮色主题,适合在明亮的环境下使用,如白天工作环境。 :set bg=dark 设置背景颜色为暗色 设置 Vim 编辑器的背景颜色为暗色主题,适合在暗色环境下使用,如夜间工作环境。 - 常用命令2
命令 功能 详细说明 :set 显示所有当前设置的选项 显示所有当前设置的选项,但不包括它们的值。 :set all 显示所有当前设置的选项及其值 显示所有当前设置的选项及其值,帮助用户了解当前 Vim 的所有设置选项。 :set showmode 打开显示模式 在底部显示当前处于插入模式还是命令模式,帮助用户了解当前 Vim 处于哪种模式下。 set showcmd 显示命令 在底部状态栏显示当前的命令 :set ruler 打开标尺 在底部显示当前光标所在位置的行号和列号,帮助用户准确定位。 :set backup 打开备份 在编辑文件时,Vim 会在保存之前创建一个备份文件,以防止意外丢失数据。 :set tabstop=n 设置制表符宽度为 n 设置制表符的宽度为 n 个空格,例如 set tabstop=4 设置制表符宽度为 4 个空格 :set ignorecase 忽略大小写 在搜索时忽略大小写匹配 :set smartcase 智能大小写 只有搜索词中包含大写字母时,才区分大小写 :set backup 备份文件 在保存文件时创建备份文件,备份文件的命名规则为 filename~ :set list 显示不可见字符 显示不可见字符,如空格和制表符 :set showmatch 自动高亮匹配的括号 在插入括号时,自动高亮显示匹配的括号
.viminfo和.vimrc文件
- .vimrc 文件:
- 作用:.vimrc 文件是 Vim 的配置文件,用于定义用户的偏好设置和自定义命令。在这个文件中,你可以设置编辑器的外观、行为、键绑定、插件等等。所有在 .vimrc 文件中设置的选项都会在启动 Vim 时被加载。
- 位置:.vimrc 文件通常位于用户的主目录下(在 Unix/Linux 系统中为 ~/.vimrc
- 编辑:你可以使用任何文本编辑器来编辑 .vimrc 文件,添加或修改配置选项以满足你的需求。
- .viminfo 文件:
- 作用:.viminfo 文件用于存储 Vim 的会话信息,包括历史命令、搜索历史、撤销历史、文件位置等。当你退出 Vim 时,会话信息会被保存到 .viminfo 文件中;当你重新启动 Vim 时,Vim 会从 .viminfo 文件中读取信息以恢复你上次编辑的状态。
- 位置:.viminfo 文件通常也位于用户的主目录下(在 Unix/Linux 系统中为 ~/.viminfo
- 编辑:一般情况下,你不需要手动编辑 .viminfo 文件。Vim 会自动管理这个文件,你只需要了解它的存在和作用即可。
这两个文件对于定制和管理 Vim 编辑器都非常重要。通过编辑 .vimrc 文件,你可以根据个人喜好配置 Vim 的外观和行为;而 .viminfo 文件则帮助你在 Vim 的不同会话之间保持状态一致性。
标签:文件,set,模式,Vim,mode,详细,Linux,vim,光标 From: https://blog.csdn.net/hdz_wiz_csdn/article/details/136842298