vim常见基本用法

全屏编辑器(模式化编辑器)

用户往往需要建立自己的文件,无论是一般文本文件、数据文件、数据库文件,还是程序源文件。建立和修改文本文件要利用编辑器。Linux系统常用的文本编辑器,如ed,ex,edit,vi。按照功能分为两类:行编辑器(如:ed,ex,edit)和屏幕编辑器(如:vi)。Vi是visual interface的简称。它汇集了行编辑和全屏幕编辑的特点,是UNIX/linux系统常用的编辑器,几乎每个UNIX/linux系统都提供vi。

在linux系统中,还提供vim(vi improved)编辑器,它是vi的增强版本,与vi向上兼容。它支持多个窗口和缓冲、语法高亮度化、命令行编辑、联机帮助等功能。通常在linux中用到的vi实际上是vim。

在使用vim的时候有以下几种模式:

编辑模式(命令模式)(默认的)

末行模式

输入模式(插入模式)

替换模式

可视化模式

一、打开方式:

1.vi/vim:打开vi/vim的界面

2.vimfile:file存在,则打开并将光标默认放置在第一行第一个字符

file不存在,则以新文件的方式打开,若保存,则文件被创建;若不保存,文件消失

3.vim+# file:指定在打开文件的时候,将光标定位在第#行行首;如果定位的行数比整个文档的行还要大,则光标停留在最后一行的行首(#是一个数字)

4.vim+ file:直接将光标定位在文档的最后一行行首

5.vim+/PATTERN/:打开文件,并且将光标定位至首次被PATTERN匹配的行的行首位置;既至完成首次匹配

二、关闭方式:

末行模式的关闭:

:q:表示直接关闭vi/vim编辑器,不保存修改内容

:q!:强制退出,不保存

:w:保存修改的内容

:wq:保存修改的内容并关闭vim编辑器

:wq!(对于root用户来说只读文件可以):强制保存并退出

:w!:强制保存

编辑模式的关闭:

ZZ(CTRL+Z):保存并退出

ZQ:不保存并退出

三、在vim的编辑模式中,移动光标(没有回车的算一行)

1.逐字符移动

1)ARROW(箭头)

2).h:左

j:下

k:上

l:右

5h:左5

2.逐字移动

w:移动到下一个字的字首

e:移动的下一个字的字尾

b:移动到上一个字的字首

3.行内跳转

0:绝对行首(开头可能是空格)放到开头

^:放到非空字符(相对行首)

$:放到行尾(无相对绝对之分)(绝对行尾)

4.行间跳转

#G(代表一个数字):直接将光标移动到第#行

G:直接将光标移动到光标的最后一行

gg:直接将光标移动至第一行

末行模式中光标移动:

:#直接将光标移动到第#行

:1直接将光标移动至第一行

:$直接将光标移动至文档的最后一行

四、翻屏

ctrl+f(forward):向下翻一屏

ctrl+b(back):向上翻一屏

ctrl+d(down):向下翻半屏

ctrl+u(up):向上翻半屏

五、逐字符删除

x:删除光标所在位置的字符(相当于del)

X:删除光标所在位置的左侧的单个字符(相当于backspace)

9x:一次删除9个字符

六、编辑模式下的万能删除命令

d:删除光标移动过程中经过的字符(配合光标移动命令删除)

dd:删除光标所在行

在末行模式下:

:m,nd:从m删到n行

:.,$:从当前行删到最后一行

.:表示当前行

$:表示最后一行

:nd:删除第n行

:m,+nd:从m行开始删n行

:d:删除光标所在行

七、编辑模式中的万能粘贴命令(paste)

p(lower):向右向下进行粘贴

P(upper):向左向上进行粘贴

100p:粘贴100次

末行模式下粘贴:p(不常用)

八、编辑模式中的万能复制命令

y:复制光标经过的所有内容

用法与d命令相同

yy:复制光标所在行

九、模式的切换

1.从编辑模式到末行模式

:输入命令

/和?进行查找,n和N,n表示顺序查找,N表示逆序查找

/:自上而下

?:自下而上

2.从末行模式到编辑模式

ESC键

Enter键

Backspace键

3.从编辑模式到插入模式

I:将光标移动至行首并进入输入模式

i:在光标所在位置的前面插入信息

A:(append)将光标移动至行尾并进入输入模式

a:在光标所在位置的后面插入字符

O:(other)在光标所在行的上面插入新行

o:在光标所在行的下面插入新行

cc:删除整行内容之后,进入输入模式

C:从光标所在位置删除至行尾,进入输入模式

s:删除光标所在位置的一个字符,进入输入模式

S:删除整行内容之后,进入输入模式

4.从输入模式到编辑模式

ESC键

5.从编辑模式到替换模式

R:进入替换模式

6.从替换模式到编辑模式

ESC键

7.从编辑模式到可视化模式

v:可以按照字符为单位进行矩形选取

V:按照行为单位进行矩形选取

在选择之后可以执行复制或者删除的操作

只要完成操作,就返回编辑模式

!!!所有的模式切换必须经由编辑模式,两种非编辑模式之间无法直接进行切换

十、替换命令

r:只能替换光标所在位置的一个字符

十一、撤销编辑操作

u:撤销一次此前的编辑操作

10u:撤销10次

超出会有提示

摁住u也可以

ctrl+r:撤销最近的一次撤销操作

十二、重复之前的一次编辑操作

.:比如删除了一行,那么下一次直接按.就可以删除一行

十三、特殊的末行命令

1.显示和取消行编号

setnumber:设置行编好,简写--set nu

setnonumber:取消行编号,简写--set nonu

2.开启或关闭字符大小写的区分

:set ignorecase:简写--:setic

:set noignorecase:简写--:set noic

3.开启或关闭自动缩进功能

:set autoindent:简写--:setai

:set noautoindent:简写--:set noai

4.开启或关闭查找高亮显示

:set hlsearch

:set nohlsearch:简写--:setnohl

5.开启或关闭语法着色

:syntax on

:syntax off

时间: 2024-07-30 05:13:40

vim常见基本用法的相关文章

VIM常见用法总结

欢迎和大家交流技术相关问题: 邮箱: [email protected] 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode 知乎地址: https://www.zhihu.com/people/jiangxinnju vim中光标如何回到上一次位置 ctrl + o vim如何删除某行至某行之间的内容? 删除3104至5403行之间的内容: :3104,5403d vim使光标始

LINUX 下 find grep sed awk 的常见基本用法特点

LINUX 下 find grep sed awk 的常见基本用法特点 只为让自己具有更高的水准,这就开始了长达6个月的小白进阶路! 这几天学习linux基础命令有点犯蒙,尤其是对文件查找这块.所有我想把一些我觉得常用的实用的参数项总结下来,大神勿喷哈... 不到之处请大家指教,小女子在此谢过了. 一.find:命令用于查找文件系统中指定的文件,其命令格式为: 1.find pathname -options [ -print  -exec  -ok ... ] (1)find 命令的参数: p

Java操作mongoDB2.6的常见API用法

对于mongoDB而言,学习方式和学习关系型数据库差不太多 开始都是学习如何insert.find.update.remove,然后就是分页.排序.索引,再接着就是主从复制.副本集.分片等等 最后就是通过它提供的各个驱动(比如Java.PHP.node.js等等)来练习所谓的高级用法 另外:相对于Oracle有PLSQL Developer,MySQL有HeidiSQL mongoDB也不例外,它的图形化工具中有一款叫做mongoVUE的,我用的是1.5.3破解版(不是每15天就得改一次注册表的

vim的常用用法总结

vim和vi用法基本上一样,vim更强大一些,还有颜色标示.vim的使用,vim有三种模式分别是一般模式,编辑模式,命令模式. 一般模式:删除.复制和粘贴 x:向后删除        X:向前删除       nx:向后删除n个字符       dd:删除当行       D:删除当行字符       ndd:删除当前行向下的n行       yy:复制光标所在的行       p:将复制的数据粘贴在光标的下一行       P:将复制的数据粘贴在光标的上一行 编辑模式: i:在光标所在的位置插

【转】Java 枚举7常见种用法

原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu 原创地址:http://blog.lichengwu.cn/java/2011/09/26/the-usage-of-enum-in-java/ JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fi

Python中.format()常见的用法

format()格式化输出 format():把传统的%替换为{}来实现格式化输出 format()常见的用法: 其实就是format()后面的内容,填入大括号中(可以按位置,或者按变量) '数字{1}{2}和{0}'.format("123",456,'789') >>>'数字456789和123' #这里注意有两层大括号,输出的结果只有一层大括号 '数字{{{1}{2}}}和{0}'.format("123",456,'789') >&g

VIM+ctags+cscope用法

使用vim + cscope/ctags,就能够实现Source Insight的功能,可以很方便地查看分析源代码. 关键词: vim, cscope, ctags, tags 1. 查看vim是否支持cscope $ vim --version | grep cscope 2. 编译支持cscope的VIM(--enable-cscope) # USE="bash-completion cscope nls perl python -acl -gpm -minimal -ruby -vim-p

C#中Dictionary泛型集合7种常见的用法

要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib)  Dictionary的描述1.从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2.任何键都必须是唯一的 3.键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4.Key和Value可以是任何类型(string,int,custom class 等) Dictionary常用用法:以

vim编辑器的用法

vim,visual interface improve,是一个功能强大.高度可定制的文本编辑器.全屏编辑器和模式化编辑器. 一.vim有三种模式:编辑模式(也叫命令模式)是vim默认的模式:插入模式,进行文本修改编辑:末行模式,支持很多文件管理的命令,可在编辑过程中方便地执行文本管理. 二.vim三种模式的转换 编辑--->插入 i/I:在当前光标所有字符的前面/行首,转为插入模式 a/A:在当前光标所有字符的后面/行尾,转为插入模式 o/O:在当前光标所在行的下方/上方,新建一行,并转为插入