vim(vimsual)是Linux/UNIX系列OS中通用的全屏编辑器。

vim分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理,如:q代表退出,而编辑状态则是用来编辑文本资料的。当你进入vim时,会首先进入命令状态。在命令状态下,按”i”(插入)或”a”(添加)可以进入编辑状态,在编辑状态,按ESC键进入命令状态。

在命令状态下,有如下一些常用命令:

新增:

a  从光标后面开始添加文本

A  从光标所在行的末尾开始添加文本

插入:

i  从光标前面开始插入文本

I  从光标所在行的开始处插入文本

删除与修改:

x  删除光标处的字符

dd  删除光标所在的整行

3dd   删除光标所在行以及下面的两行

D 删除光标到行尾的文本,常用语删除注释语句  (d$)

光标移动:

在远程登录模式下,vim不支持PageUp、PageDown、Home、End等功能键!(郁闷吧)

^  光标移动到行首

$  光标移动到行尾

Ctrl+d  向下翻半页

Ctrl+f  向下翻一页

Ctrl+u  向上翻半页

Ctrl+b 向上翻一页

gg 光标定位到文档头

G 光标定位到文档尾

H 光标定位到当前页首

L 光标定位到当前页的最后一行的行首

w 光标往后移一个字

b 光标往前移一个字

[n]+ 光标向后移动n行,[n]表示一个整数

[n]- 光标向前移动n行,[n]表示一个整数

[n]G 光标定位到第n行行首, [n]表示一个整数

查找与替换:

/[str]    查找字符串str,[str]表示要查找的字符串

回车后会加亮显示所有找到的字符串,接着

命令n移动到下一个找到的字符串,命令N移动到

上一个找到的字符串 eg  /hello

部分替换   (只能替换光标之所在的行)

:s/[src]/[dst]   /i忽略大小写 /g全部匹配  eg  :s/hello/world/ig 替换一行

:3,6 s/[src]/[dst]/ig(3-6行中找)         eg  :3,6 s/hello/world

全部替换

:%s/[src]/[dst]/g 将文档中所有src的字符串替换为dst字符串

:%s/^ //g  将文档每一行的行首的空格去掉

块操作:

v 可视化块选择状态,选中块之后,可以对块进行删除(d),复制(y),剪切(x)

yy 复制光标所在的整行

[n]yy 从光标开始往下复制n行,[n]表示一个整数

p 将复制后的文本粘贴到光标处

u 撤销上次操作

结束编辑:

:q 在未修改文档的情况下退出

:q! 放弃文档的修改,强行退出

:w 文档存盘

:wq 文档存盘退出

其他:

:help  命令 查看该命令的帮助提示

:%!xxd 十六进制模式

:%!xxd –r 返回文本模式

如果在编辑过程中不小心按了Ctrl+s,vim会处于僵死状态,按Ctrl+q可以恢复。

执行 vim +3 main.c      //表示定位到main.c的第3行

执行 vim +/printf main.c  //表示定位到第一个printf处

在命令模式下输入:new 2.c   //表示再打开一个vim,是横向的 用vnew 2.c 表示纵向

        vs 2.c //纵向分割。

也可以通过:split  vsplit   sp   vsp,两个窗口之间进行切换的方式:Ctrl+w,w

在命令模式中输入gg=G可以自动对齐

sed: 管道查找替换程序

cat a.txt | sed 's/aa/bb/' > b.txt //将a.txt中的aa替换成bb并重定向输出到b.txt中。

Vim编辑器入门的更多相关文章

  1. Vim编辑器Go简单入门

    今天是一次做Go的笔记,一开始直接打开Github上的Go项目然后跑到Wiki位置,然后作者列出了一堆学习Go的资料,这里我 以第一个学习资料https://tour.golang.org/作为Go学 ...

  2. Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳

    Windows & Linux 安装使用 Vim 编辑器 3分钟入门 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 25 转载请注明出处! 目录 Windows & Lin ...

  3. (大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门

    vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截 ...

  4. 【Linux入门学习之】vi/vim编辑器必知必会

    vi 在当前打开的文件内容中翻页:PageUp.PageDown 一.我们为什么要学习vim编辑器? Linux的命令行界面下面有非常多的文本编辑器.比如经常听说的就有Emacs.pico.nano. ...

  5. Linux 入门记录:五、vi、vim 编辑器

    一.vi.vim编辑器 vi 是一个命令行界面下的文本编辑工具,最早在 1976 年由 Bill Joy 开发.当时名字叫做 ex.vi 支持绝大多数操作系统(最早在类 Unix 操作系统的 BSD上 ...

  6. 【Linux】中默认文本编辑器 vim 的入门与进阶

    Linux 基本操作 vim 篇 vim 简介 vim 是 Linux 上最基本的文本编辑工具,其地位像是 Windows 自带的记事本工具,还要少数的 Linux 系统自带 leafpad 编辑器, ...

  7. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  8. 初探VIM编辑器

    初探VIM 引言---什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了.因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的. vi编辑器是U ...

  9. vi/vim编辑器的基本操作

    vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准备(下载gvim ...

随机推荐

  1. Java-排序算法-冒泡排序

    一.冒泡排序的原理 冒泡排序,就是从第一个元素开始,通过两两交换,使小的先冒出来,然后再走第二轮使次小的冒出来,直到最后一轮最大的冒出来,排序完成 二.冒泡排序的伪代码实现: bubblesort(A ...

  2. xadmin系列之django的url分发的方式

    一.先介绍一下我们自己的urls中是如何进行路由分发的 一.一级路由 urlpatterns = [ url(r'^upload/', views.upload,name="upload&q ...

  3. django的 信号

    1.信号,其实就是钩子,可以在上面几种情况下定义执行某个函数,我们一般在project的__init__文件中定义,下面就是一个例子 2.用到模块需要导入,分别在下面的几个路径中 from djang ...

  4. go语言net包udp socket的使用

    udp与tcp的不同在于客户端请求方式不同,udp缺少Accept函数. 一个简单的udp客户端: package main; import ( "net" "log&q ...

  5. FTPserver

    客户端代码: import os import hashlib BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__) ...

  6. IOS安卓常见问题

    一.IOS自带safari浏览器   1.safari不支持fixed+input输入框.   解决方案: http://www.haorooms.com/post/ios_fixed_input   ...

  7. NSIS Error:Error writing temporary file. Make sure your temp folder is valid的解决办法

    我的是Win7 32位,当前登录用户已经是管理员,在安装腾讯视频电脑版时,提示以上错误,无法安装. 查了好多资料,按如下方法解决了: 在win7下,以管理员的身份打开cmd(在window\syste ...

  8. TP 真阳性 TN FP FN

    TP.True Positive   真阳性:预测为正,实际也为正 FP.False Positive  假阳性:预测为正,实际为负 FN.False Negative 假阴性:预测与负.实际为正 T ...

  9. Json数据处理协议与办法

    [JSON学习]     一.概述     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文 本格式,是理想的数据交换格式.同时,J ...

  10. UOJ 274 温暖会指引我们前进 - LCT

    Solution 更新掉路径上温暖度最小的边就可以了~ Code #include<cstdio> #include<cstring> #include<algorith ...