vi编辑器

VIM中存在常用三种模式:命令模式、编辑模式、末行模式

命令模式:打开文件后默认进入的模式。该模式下不能对文件直接编辑,可以输入一些快捷键操作(删除、复制、移动光标、粘贴等)
编辑模式:该模式下可以地文件的内容进行编辑;
末行模式:该模式下可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)

Vim打开文件的方式

vim 文件路径 作用:打开指定的文件
vim +数字 文件路径 作用:打开指定的文件,并且将光标移动到指定行
vim +/关键字 文件的路径 作用:打开指定的文件,并且高亮显示关键字。
vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件
vimdiff 文件路径1 文件路径2 作用:同时打开多个文件(同时显示)
在这里插入图片描述

命令模式

控制光标

h左 ; j下 ; k上 ;l
H :当前屏幕的上方 M :当前屏幕的中间 L :当前屏幕的下方
20G :快速定位到第20行代码; G :快速回到整个代码的最后
gg :快速回到整个代码的开始;w:向后移动一个单词的长度,即下一个单词的开始
b :向前移动一个单词的长度,即上一个单词的开始
CTRL+f :向下翻页 CTRL+b :向上翻页 CTRL+d :向下翻半页 CTRL+u :向上翻半页
Less 文件名 :查看文件较少内容

复制粘贴

yy :复制,光标所在的行
4yy :复制,从光标所在行开始向下四行
P :粘贴

删除(剪切)

dd :删除(剪切),光标所在行
2dd :删除,从光标所在行开始向下两行
d :光标——>行尾 (从当前的光标开始剪切,直到行尾)
d0 :行首<——光标 (从当前的光标开始剪切,直到行首)
x :向后删除一个 X :向前删除一个

撤销:

U :撤销刚才的操作 CTRL+r :反撤

文本移动:

<<:向右移动代码 ; >> :向左移动代码

替换操作:

r :替换当前字符
R :替换当前行光标及后面的字

插入模式:

i :插入光标前一个字符; I :插入行首
a :插入光标后一个字符; A :插入行末
o :向下新开一行; O :向上新开一行

末行模式

w :保存; q :退出; wq :保存退出
x :保存退出(建议使用这个)
set nu :显示行号
!+外部命令 :暂时调用外部命令
按两下Esc键退出末行模式

同时打开多个vim文件时:

files :显示所有打开的文件目录 在%a的位置有两种显示
%a ------ 表示当前正在打开的文件
#------表示上一个打开的文件

替换命令

把abc 替换成123(行末模式下)
%s/abc/123/g (全部替换)
1,10s/abc/123/g (替换1至10行)

Vim的配置(重点)

vim是一款编辑器,编辑器也是有文件的

vim配置有三种情况:
1、在文件打开的时候在末行模式下输入的配置(临时的)
2、个人配置文件(~/.vimrc,如果没有可以自己配置)
3、全局配置文件(vim自带, /etc/vimrc)
个人配置 > 全局配置
set nu 【设置行号】 set ic 【不区分大小写】set noic 【取消大小写 】
set al 【自动缩进】 set list 【显示控制字符】 set nonu 【取消设置行号】

意外退出

vi编辑一个文件意外退出时,再次进入会提示如下问题

E325: ATTENTION
Found a swap file by the name "/etc/.sudoers.tmp.swp"
          owned by: root   dated: Wed May 29 17:56:22 2019
         file name: /etc/sudoers.tmp
          modified: YES
         user name: root   host name: abel.1000.com
        process ID: 3440
While opening file "/etc/sudoers.tmp"
             dated: Wed Apr 11 04:27:14 2018

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /etc/sudoers.tmp"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/etc/.sudoers.tmp.swp"
    to avoid this message.

-- More --

1.使用vim编辑时,vim会在被编辑的目录下新建一个.swp的隐形文件。如遇到意外情况中断vim编辑,可以利用这个隐形文件救援。

rm .*.swp -->使用此命令删除另一个隐含的并且后缀加了.swp的文件即可

断行符

DOS与linux的断行符不同 。DOS断行符为:M$(称为CR与LF两个符号),linux下仅有 $(LF)这个符号。

在 Linux 底下的指令在开始执行时,他的判断依据是 『Enter』,而 Linux 的 Enter 为 LF 符号,

### vi 编辑器使用指南 vi 编辑器是一种功能强大的文本编辑工具,广泛应用于 Unix 和 Linux 系统中。以下是关于 vi 编辑器的使用方法和相关操作的详细说明。 #### 1. 基本概念 在 vi 的设计哲学中,输入与编辑是两个独立的概念。编辑操作需要在 **指令模式** 下完成,用户通过移动光标定位到目标位置后执行相应的编辑指令[^1]。 #### 2. 编辑操作 vi 提供了丰富的编辑指令,主要包括删除、复制、修改等操作。以下是一些常见的编辑指令及其用法: - **删除操作** - `d`:删除指令。例如,`dw` 表示删除光标所在位置到下一个字的第一个字母[^2]。 - `dd`:删除整行内容。 - `D`:删除光标到该行末尾的所有内容。 - **复制操作** - `y`:复制指令。例如,`yw` 表示复制光标所在位置到下一个字的第一个字母[^2]。 - `yy`:复制整行内容。 - **粘贴操作** - `p`:将暂存区的内容粘贴到当前光标位置之后[^2]。 - **修改操作** - `c`:修改指令。例如,`cw` 表示修改光标所在位置到下一个字的第一个字母[^2]。 - `cc`:修改整行内容。 #### 3. 范围定义 vi 的编辑指令通常由一个操作符(如 `d`, `y`, `c`)和一个范围组成。范围可以是以下几种: - `e`:光标所在位置到该字的最后一个字母。 - `w`:光标所在位置到下一个字的第一个字母。 - `b`:光标所在位置到上一个字的第一个字母。 - `$`:光标所在位置到该行的最后一个字符。 - `0`:光标所在位置到该行的第一个字符。 - `)`:光标所在位置到下一个句子的第一个字母。 - `(`:光标所在位置到当前句子的第一个字母。 - `}`:光标所在位置到当前段落的最后一个字母。 - `{`:光标所在位置到当前段落的第一个字母。 #### 4. 文件操作 vi 提供了一些以 `:` 开头的文件操作指令,用于保存和退出编辑器: - `:q`:退出编辑器。 - `:q!`:强制退出,不保存任何更改。 - `:w`:保存文件。可以在后面指定文件名以另存为新文件。 - `:wq` 或 `zz` 或 `:x`:保存并退出编辑器[^2]。 #### 5. 可视化选择 某些 vi 版本(如 elvis)支持可视化选择模式。按下 `v` 键后,可以通过移动光标来选择文本区域,然后执行相应的编辑指令[^2]。 ### 示例代码 以下是一个简单的 vi 操作流程示例: ```bash # 打开文件 vi example.txt # 进入指令模式后,执行以下操作 dw # 删除光标所在位置到下一个字的第一个字母 yy # 复制整行 p # 将复制的内容粘贴到当前位置之后 # 保存并退出 :wq ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值