vi和vim的使用秘籍

一般模式:移动光标的方法

h或向左方向键(←)

光标向左移动一个字符

j或向下方向键(↓)

光标向下移动一个字符

k或向上方向键(↑)

光标向上移动一个字符

l或向右方向键(→)

光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合键,即加上想要进行的次数(数字)后,操作即可

[Ctrl] + [f]

屏幕“向下”移动一页,相当于 [Page Down] 按键(常用)

[Ctrl] + [b]

屏幕“向上”移动一页,相当于 [Page Up] 按键(常用)

[Ctrl] + [d]

屏幕“向下”移动半页

[Ctrl] + [u]

屏幕“向上”移动半页

+

光标移动到非空格符的下一行

-

光标移动到非空格符的上一行

n <space>

n表示“数字”,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20 <space> 则光标会向后面移动20个字符距离

0

这是数字“0”:移动到这一行的最前面字符处(常用)

$

移动到这一行的最后面字符处(常用)

H

光标移动到这个屏幕的最上方那一行

M

光标移动到这个屏幕的中央那一行

L

光标移动到这个屏幕的最下方那一行

G

移动到这个文件的最后一行(常用)

nG

n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合 :set nu)

gg

移动到这个文件的第一行,相当于1G(常用)

n <Enter>

n为数字。光标向下移动n行(常用)

-------------------------------------------------------

一般模式:搜索与替换

/word

从光标位置开始,向下寻找一个名为word的字符串。例如要在文件内搜索vbird这个字符串,就输入 /vbird即可(常用)

?word

从光标位置开始,向上寻找一个名为word的字符串

n

n是英文按键。表示“重复前一个搜索的动作”。举例来说,如果刚刚执行 /vbird去向下搜索vbird字符串,则按下n后,会向下继续搜索下一个名称为vbird的字符串。如果是执行 ?vbird的话,那么按下n,则会向上继续搜索名称为vbird的字符串

N

这个N是英文按键。与n刚好相反,为“反向”进行前一个搜索操作。例如 /vbird后,按下N则表示“向上”搜索vbird

n1、n2s/word1/word2/g

n1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。举例来说,在100到200行之间搜索vbird并替换为VBIRD则:“:100、200s/vbird/VBIRD /g”(常用)

:1、$s/word1/word2/g

从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用)

:1、$s/word1/word2/gc

从第一行到最后一行寻找word1字符串,并将该字符串替换为word2。且在替换前显示提示符给用户确认(conform)是否需要替换(常用)

-------------------------------------------------------

一般模式:删除、复制与粘贴

x, X

在一行字中,x为向后删除一个字符(相当于 [Del] 按键),X为向前删除一个字符(相当于 [backspace] 即退格键)(常用)

nx

n为数字,连续向后删除n个字符。举例来说,要连续删除10个字符,则输入“10x”

dd

删除光标所在的那一整行(常用)

ndd

n为数字。从光标位置开始,删除向下n列,例如20dd则是删除20列(常用)

d1G

删除光标所在位置到第一行的所有数据

dG

删除光标所在位置到最后一行的所有数据

d$

删除光标所在位置到该行的最后一个字符

d0

d的后面是数字0,删除光标所在处,到该行的最前面一个字符

yy

复制光标所在的那一行(常用)

nyy

n为数字。复制光标所在的向下n行,例如20yy则是复制20行(常用)

y1G

复制光标所在行到第一行的所有数据

yG

复制光标所在行到最后一行的所有数据

y0

复制光标所在的那个字符到该行行首的所有数据

y$

复制光标所在的那个字符到该行行尾的所有数据

p, P

p为将已复制的数据粘贴到光标的下一行,P则为贴在光标上一行。举例来说,当前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会贴在原来的20行之后,即由21行开始贴。但如果是按下P,那么原来的第20行会被变成30行(常用)

J

将光标所在行与下一列的数据结合成同一行

c

重复删除多个数据,例如向下删除10行,[10cj]

u

复原前一个操作(常用)

[Ctrl]+r

重做上一个操作(常用)

u与 [Ctrl]+r是很常用的命令。一个是复原,另一个则是重做一次。利用这两个功能按键,编辑起来就得心应手。

这就是小数点。意思是重复前一个动作。如果想重复删除、重复粘贴,按下小数点“.”就可以(常用)

-------------------------------------------------------

进入编辑模式

i、I

插入:在当前光标所在处插入输入文字,已存在的文字会向后退;其中,i为“从当前光标所在处插入”,I为“在当前所在行的第一个非空格符处开始插入”(常用)

a、A

a为“从当前光标所在的下一个字符处开始插入”,A为“从光标所在行的最后一个字符处开始插入”(常用)

o、O

这是英文字母o的大小写。o为“在当前光标所在的下一行处插入新的一行”;O为“在当前光标所在处的上一行插入新的一行”(常用)

r、R

替换:r会替换光标所在的那一个字符;R会一直替换光标所在的文字,直到按下ESC键为止(常用)

使用上面这些按键时,在vi画面的左下角处会出现“--INSERT--”或“--REPLACE--”的字样。通过名称就知道是什么操作。特别注意,上面也提过了,想在文件中输入字符时,一定要在左下角处看到INSERT/REPLACE才能输入。

Esc

退出编辑模式,回到一般模式中(常用)

-------------------------------------------------------

命令行命令模式

:w

将编辑的数据写入硬盘文件中(常用)

:w!

若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入,与文件权限有关

:q

离开vi(常用)

:q!

若曾修改过文件,又不想存储,使用 ! 为强制离开不存储文件

注意一下,那个感叹号(!)在vi当中,常常具有“强制”的意思。

:wq

存储后离开,若为 :wq! 则为强制存储后离开(常用)

:e!

将文件还原到最原始的状态

ZZ

若文件没有更改,则不存储离开,若文件已经更改,则存储后离开

:w [filename]

将编辑的数据存储成另一个文件(类似另存新文件)

:r [filename]

在编辑的数据中,读入另一个文件的数据。即将“filename”这个文件内容加到光标所在行的后面

:n1、n2 w [filename]

将n1到n2的内容存储成filename文件

:! command

暂时离开vi到命令行模式下执行command的显示结果。例如“:! ls /home”,即可在vi中查看 /home中以ls输出的文件信息

:set nu

显示行号,设置之后,会在每一行的前缀显示该行的行号

:set nonu

与set nu相反,为取消行号

别注意,在vi中,“数字”是很有意义的。数字通常表示重复做几次的意思。也有可能表示要去哪里的意思。举例来说,要删除50行,则是用“50dd”。数字加在动作之前。要向下移动20行,使用“20j”或者“20↓”即可。

时间: 2024-07-31 20:12:34

vi和vim的使用秘籍的相关文章

vi和vim的区别

vi和vim它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方面: 1.多级撤消 我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消. 2.易用性 vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台. 3.语法加亮 vim可以用不同的颜色来加亮你的代码. 4.可视化操作 就是说vim不仅可以在终端运行,也可以运行于x window. ma

《vi和vim》 学习手记(1)

O`Reilly 系列图书,广受好评,我也特地买了其中的几本,望有所收获. 第一部分  基础与高级的vi 行编辑器:ed 或 ex 全屏编辑器:vi 或 emacs UNIX分 商用系统 以及 源代码可用的相似系统. 商用系统包括 Solaris AIX HP-UX 相似系统:gnu/linux    bsd衍生系统 [plain] view plaincopyprint? <span style="font-family:KaiTi_GB2312;font-size:18px;"

《vi和vim》 学习手记(2)

[plain] view plaincopyprint? :set wm=10 设置与右边界的距离.右边界为10个字符.   o 移到一行的开头   s 移到一行的结尾   w 移到下一个单词的   b 退后一个单词   S 更改一行文本   ~更改大小写   d 删除   dw 删除单词   dd 删除一行   p 放置命令   yy拖拽   . 重复动作   u 撤销   J 合并两行   编辑命令 文本对象  更改 删除 复制 一个单词 cw dw  yw 两个单词 2cW/c2W 2dW

Spark修炼之道(基础篇)——Linux大数据开发基础:第五节:vi、vim编辑器(一)

本节主要内容 vim编辑器的三种模式 移动光标 输入模式 修改文本 作者:周志湖 微信号:zhouzhihubeyond 网名:摇摆少年梦 1. vi编辑器的三种模式 学会使用vi编辑器是学习linux系统的必备技术之一,因为一般的linux服务器是没有GUI界面的,linux运维及开发人员基本上都是通过命令行的方式进行文本编辑或程序编写的.vi编辑器是linux内置的文本编辑器,几乎所有的类unix系统中都内置了vi编辑器,而其它编辑器则不一定,另外很多软件会调用vi编辑进行内容编写,例如cr

Spark修炼之道(基础篇)——Linux大数据开发基础:第六节:vi、vim编辑器(二)

本节主要内容 缓冲区的使用 文件的存盘与读盘 文本查找 文本替换 作者:周志湖 微信号:zhouzhihubeyond 网名:摇摆少年梦 1. 缓冲区的使用 在利用vim进行文本编辑时,编辑修改后的文本不会立即保存到硬盘上,而是保存在缓冲区中,如果没有把缓冲区里的文件存盘,原始文件不会被更改.vim在打开文件时将文本内容读到缓冲区中,在进行文本编辑时,修改的文本保存在缓冲区,此时硬盘上的原文件不变.下面让我们来演示一下缓冲区的使用. 假设采用vim 同时打开两个文本文件: root@ubuntu

Linux中vi、vim命令大全

  一.一般模式:删除.复制与粘贴类命令 x,X x为向后删除一个字符,X为先前删除一个字符 nx(n代表数字) 向后删除n个字符 dd 删除当前行 D 删除当前行所有字符,试成为空行 ndd(n代表数字) 删除光标所在行的向下n列 d1G 删除光标所在行到第一行的所有数据 dG 删除光标所在行到最后一行的所有数据 yy 复制光标所在行 y1G 复制光标所在行到第一行的所有数据 yG 复制光标所在行到最后一行的所有数据 ynj(n代表数字) 复制光标所在行向下n+1行 dnj(n代表数字) 删除

Vim的Python编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)

为什么要用vim编辑py文件? 因为在Linux命令行中,缺少图形界面的IDE,vim是最佳的文本编辑器,而为了更好的编辑py文本,所 以配置vim. 1. 安装完整版vim vi和vim的区别? 在Linux自带有vi编辑器,而vim是指vi improved,即vi升级版.区别在于vi指令和功能较vim简单, 正因如此才有了vi improved. Ubuntu自带的vi编辑器是vim.tiny,也就是vim最基本功能,几乎等同于vi.而在Ubuntu中vi命令指向 的是vim. 如何使用a

linux Vi编辑器代码高亮设置及永久显示行号方案

  在linux中用vi编辑和修改文件配置中没有彩色显示文件的内容,特别一些关键字不能彩色显示,给我们配置服务过程中造成极大的不方便.[其实主要是vi本身不带颜色的,vim带颜色]下面给出一种解决的方法. Vi编辑器代码高亮设置 1.检查是否开启高亮显示,一般默认是开启的. 2.修改 #vi /etc/bashrc 在最后面加入 alias vi=vim 然后wq保存退出. 这样在shell里面敲入vi时候就自动打开vim了(vim是vi improve的简称) 3.修改 #vi /etc/vi

Ubuntu系统中安装vim与中文帮助文档

在Windows下面玩的Vim,搬到Ubuntu上面之后感觉Vi用着特别别扭(尤其是剪切板上面的东西无法paste在Vi中...)于是乎...打算把Vi改装成Vim,这样也许就会好多了.废话不多说,开始行动.其实很简单: 1:打开命令行敲击下面命令(下载安装带有剪切板功能的Vim): sudo apt-get install vim-gui-common 2:搞定了... ... ...现在再用Vi或者Vim命令编辑某个文件的话熟悉的界面又回来了.下面我们开始安装中文帮助文档.首先我们下载Vim