vi 的基本使用

vi 的基本使用

1.那么什么是vi呢?

vi,Unix&Linux下最基本的编辑器,功能强大使用简单,是用户的必备利器。

2.它的模式有哪些呢?

1. 命令模式(默认,通过命令对文件内容进行编辑)

vi //在当前目录创建空文件

vi filename //打开指定文件

vi -o|O f1 f2 //打开多个文件,o|O表示水平|垂直分隔

通过vi打开文件后自动进入命令模式,此模式下所有输入都是命令

2. 插入模式(像windows中的普通编辑器一样使用)

命令模式下按iaoIAO任一键进入插入模式,esc回到命令模式

i在光标前插入文本

I在光标所在行前插入

a在光标后插入文本

A在光标所在行未插入

o在光标所在行下插入新行

O在光标所在行上插入新行

3. 编辑模式(通过命令对文件或文件内容进行编辑)

命令模式下按“:”进入编辑模式,esc或enter执行操作后回到命令模式

4. 视图模式(属于命令模式)

vV进入视图模式,执行字符选中

例:按"H"或"L"移动光标选中字符,通过yd进行复制剪切

3.然后就是它的常用命令:

1.【定位命令】

hjkl:光标[左下上右]移动,同方向键

0:移至行首

^:非空白行头

$:移至行尾

Enter:移至下行首

H:移至屏幕上端

M:移至屏幕中央

L:移至屏幕下端

C-F:下一页(C-F表示Ctrl+Shift+F)

C-B:上一页

gg:移至第一行

G:移至文件末尾

[n]G:移至文件第n行

:n移至文件第n行

2. 【删除命令】

x:删除光标处字符

nx:光标所在处后n个字符

X:删除光标前字符

dd:剪切光标所在行

ndd:剪切当前行以下n行

dG:删除光标所在行到文件末尾

D:删除光标所在处到行尾

:n1,n2d 删除n1行到n2行之间的内容

3.【复制&粘贴】

yy/Y:复制当前行

nyy,nY:复制当前行下边的n行

nyh,nyl:复制光标前/后的n个字符

p,P:将已经选择复制或被删除的行粘贴到当前行下或行上

4. 【搜索&替换】

r:取代光标所在处字符

R:从光标所在处开始替换字符,至到按esc结束

s:替换(删除)光标所在处字符,并进入文本输入方式

S:替换(删除)光标所在行,按esc结束

:/string    //从上向下搜索字符串

:?string    //从下向上搜索字符串

通过按键n移到下一个结果:

n //时向下,?时向上搜索

N //时向上,?时向下搜索

:%s/old/new/g    //把所有old替换为new,g不会询问,c会询问虽否替换

:%s/old//g    //把所有old删除

:n1,n2s/old/new/g    //在一定范围内替换指定字符串

例:连续行注释

:n1,n2s/^/#/g     //^表示行首

:n1,n2s/^/#//g    //将行首‘#‘替换为空,即删除

:n1,n2s/^////g    //转义符,使用"//"注释

替换:ab asmmail [email protected]//输入a时回车或空格,vi自动换成b

unab//取消

5.【撤消】

u:撤消上一步操作(最多可撤消到文件打开时)。

U:撤消当前行的所有操作。

ctrl+r:取消撤消

6.【保存退出】

:w保存

:w newfilename另存为

:w!强制保存    //!只针对文件所有者和管理员

:wq保存&退出    //快捷键ZZ

:q退出

:q!强制退出

:wq!强制保存&退出

:x保存退出

:x!强制保存&退出

7. 【其它】

:set nu/number    //设置行号

:set nonu    //取消行号

:set ic    //区分大小写

:set noic    //取消区分大小写

:vsp    //垂直分窗

:sp    //水平分窗

C-W p/w    //切换到上/下一个窗口

:r filename把指定文件内容导入进来(光标所在位置)。

:! cmd运行cmd命令

:r !date将命令结果导入到文件中

:map 快捷键 触发命令

map ^P I#<ESC>    //使用ctrl+p注释本行(使用ctrl+v+[p]输入"^[P]")

map ^B 0x    //取消注释

unmap

4.最后,vi配置:

通过vi配置文件设置vi默认环境。

例:设置vi默认显示行号

cd ~    //回到当前账户家目录下

vi .vimrc    //vi配置文件,默认不存在,家目录中,针对当前用户

i//进入编辑模式

set nu

map ^P I#<ESC>

……

:wq

相信你对vi有了一个初步的了解,喜欢就顶一下吧!

原文地址:https://www.cnblogs.com/dianyu/p/11780778.html

时间: 2024-08-10 02:09:54

vi 的基本使用的相关文章

vi光标移动命令之一

一.概述 vi中基本的光标移动命令有:h.j.k.l. 其中,h为光标左移1位,j为光标下移1行,k为光标上移1行,l为光标右移1位. 上述命令支持"数字+命令"格式,1次移动多位(行). 二.示例 初始状态 01234 0123 012 运行命令:l 01234 0123 012 运行命令:3l 01234 0123 012 运行命令:j(注意:第1行位数多于第2行,运行j命令,光标移至下1行最后1位) 01234 0123 012 运行命令:k(注意:第1行位数多于第2行,运行k命

在 shell 中使用 vi 模式

作为一名大型开源社区的参与者,更确切地说,作为 Fedora 项目的成员,我有机会与许多人会面并讨论各种有趣的技术主题. 我最喜欢的主题是"命令行"或者说 shell,因为了解人们如何熟练使用 shell 可以让你深入地了解他们的想法,他们喜欢什么样的工作流程,以及某种程度上是什么激发了他们的灵感. 许多开发和运维人员在互联网上公开分享他们的" dot 文件"(他们的 shell 配置文件的常见俚语),这将是一个有趣的协作机会,让每个人都能从对命令行有丰富经验的人中

vi编辑器常用命令

gg   移动到这个文件的第一行 n     重复前一个查找的动作  向下查找 N     反向进行上一个查找动作 :n1,n2s/word1/word2/g    在n1和n2之间查找word1,将其替换为word2 :1,$s/word1/word2/g        第一行到最后一行查找替换 :1,$s/word1/word2/gc       含有提示确认操作 nx      连续向后删除n个字符 X        向前删除一个字符 dd      删除光标所在的那一行 yy     

hdu 1094 A+B for Input-Output Practice (VI)

A+B for Input-Output Practice (VI) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 63087    Accepted Submission(s): 42387 Problem Description Your task is to calculate the sum of some integers.

20150307+Linux2+vi操作快捷键-02

6.其他相关命令 su :切换当前用户 基本语法 su 用户名 当从超级管理切换到普通用户,直接进入不需要输入密码 当从普通用户切换到普通用户,需要输入密码 当从普通用户切换到超级管理员,也需要输入密码 newgrp :切换所属组 基本语法: newgrp 组名 whoami :我是谁,查看当前用户名 id :查看当前用户信息 groups :查看当前用户的所属组信息 chfn   [用户名称] :修改用户备注信息 finger  [用户名称] :查看用户备注信息 7.批量添加用户 批量添加用户

vi操作小总结

打开文件    vi [file name]; 前滚半屏    Ctrl + u 后滚半屏    Ctrl + d 前滚一屏    Ctrl + b 后滚一屏    Ctrl + f 第n行滚至屏幕顶    nz 光标右移一格    ??    l    Space 光标左移一格    ??    h    Backspace 光标上移    ??    k    Ctrl + p 光标下移    ??    j    Ctrl + n 光标右移一个字至字首    w    W 光标左移一个字至

vi编辑器

#VI编辑器vi check_data.sh#直接进入命令模式# :q 直接退出# :q! 不保存退出# :wq 保存退出# :w 保存当前文件# n shift+g 跳转到第n行# shift + g (G) 移动到最后一行# gg 移动到第一行# 10+shift+g 移动到第10行# 75+shift+5(75%)移动到大约75%的位置 #f+char 向右移动光标位置到第一个 char 出现的地方#F+char 向左 # ctrl + b 向文件首翻一屏# ctrl + u 向文件首翻半

CentOS vi/vim

在使用vi命令通常会启动/bin/vi,而不是/usr/bin/vim,因为/bin一般在搜索路径的靠前位置.这是有些增强设置是不启用的,比如语法高亮(syntax on). 这时我们可以给vim建一个链接: mv /bin/vi /bin/vi-mini ln -s /usr/bin/vim /bin/vi

[Linux学习笔记] Linux文本编辑器Vim/Vi

文本编辑器Vim: Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器. 它的作用是建立.编辑.显示文本文件. Vim/Vi没有菜单,只有命令. 插入命令 命令 作用 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入文本 I 在本行开始插入文本 o 在光标下插入新行 O 在光标上插入新行 定位命令 命令 作用 h 方向左键. 左移一个字符 j 方向下键. 下移一行 k 方向上键. 上移一行 l 方向右键. 右移一个字符 $ 移至行尾 0 移至行

转载 vi替换windows换行符为linux换行符

1.用vi打开指定文本文件:vi filename.c 2.按 Esc 键,进入命令模式: 3.按 : 键 (按 Shift 键不放后,同时按 : 键)进入命令输入状态: 4.在冒号后输入:%s/^M//g 注:^M是一个字符不是输入^和M两个字符, 即按住 Ctrl 键不放,同时按 V 键产生^,依然按住 Ctrl 键不放,同时按 M 产生M. 5.按 Enter 键,执行替换命令 6.按 : 键 (按 Shift 键不放后,按 : 键)进入命令输入状态: 7.在冒号后输入:wq  <-- 保