一vim的3种常用模式:一般模式、编辑模式和命令模式

如果系统里没有vim工具,需安装

1,一般模式

首先复制一个文件到/tmp/目录下,并改名为1,txt

移动光标:

h 或 向左箭头键(←)     光标向左移动一个字符

j 或 向下箭头键(↓)        光标向下移动一个字符

k 或 向上箭头键(↑)       光标向上移动一个字符

l 或 向右箭头键(→)       光标向右移动一个字符

[Ctrl] + [f] 屏幕『向下』       移动一页,相当于 [Page Down]按键 (常用)

[Ctrl] + [b] 屏幕『向上』       移动一页,相当于 [Page Up] 按键 (常用)

[Ctrl] + [d] 屏幕『向下』       移动半页

[Ctrl] + [u] 屏幕『向上』       移动半页

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

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

0或者Shift+6           移动到本行行首

Shift+4                    移动到本行行尾

G 移动到这个档案的最后一行(常用)

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

gg 移动到这个档案的第一行,相当于 1G 啊! (常用)

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

删除‘复制和粘贴:

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

nx              n为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。

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

ndd            n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)

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

u               复原前一个动作。(常用)

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

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

u               复原前一个动作。(常用)

2,编辑模式

进入编辑模式(Insert mode)

i, I             i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。
(常用)

a, A          a 为『从目前光标所在的下一个字符处开始输入』, A
为『从光标所在行的最后一个字符处开始输入』。(常用)

o, O          这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』;
O 为在目前光标所在处的上一行输入新的一行!(常用)

r, R           r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下
ESC 为止;(常用)

从编辑模式回到一般模式,只需按Esc键即可

3,命令模式

/word                                                                            向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)

?word                                                                          向光标之上寻找一个字符串名称为 word 的字符串。

:n1,n2s/word1/word2/g                                                n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 ,不加g则只替换每行的第一个word1(常用)

:1,$s/word1/word2/g 或 :%s/word1/word2/g                从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 ,不加g则只替换每行的第一个word1(常用)

:1,$s/word1/word2/gc 或 :%s/word1/word2/gc             从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

命令模式的其他功能

:w                保存文本(常用)

:q                退出Vim

:w!              强制保存,在root用户下,即使文本只读也可以完场保存(常用)

:q!               强制退出,所有改动不生效

:wq              保存并退出

:set nu         显示行号

:set nonu     不显示行号

文本编辑 工具vim的更多相关文章

  1. linux的基本操作(文本编辑工具vim)

    文本编辑工具vim * 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式.在该模式下,你可以搜索某个字符或者字符串,也可以保存.替换.退出.显示行号等等. 下面笔者教你如何在一个空白文档中 ...

  2. 基础篇:一文讲懂树莓派命令行文本编辑工具Vim的使用

    简介 众所周知,在Linux系统下的命令行调试界面,经常会遇到需要文本编辑的情况,而树莓派官方系统默认自带了Nano编辑器,Nano的操作门槛更低,但却不如Vim编辑器方便.Vim编辑器是由早期在Li ...

  3. linux入门教程(九) 文本编辑工具vim

    前面多次提到过vim这个东西,它是linux中必不可少的一个工具.没有它很多工作都无法完成.早期的Unix都是使用的vi作为系统默认的编辑器的.你也许会有疑问,vi与vim有什么区别?可以这样简单理解 ...

  4. 文本编辑工具vim

    前面多次提到过vim这个东西,它是linux中必不可少的一个工具.没有它很多工作都无法完成.早期的Unix都是使用的vi作为系统默认的编辑器的.你也许会有疑问,vi与vim有什么区别?可以这样简单理解 ...

  5. 文本编辑工具 Vim

    Vim是Vi的升级版 vi和Vim的区别在于vi不会显示颜色,Vim会显示颜色 1.如果没有,可以安装 #yum install -y vim-enhanced

  6. 文本编辑工具 Vim与压缩打包

    vim一共有3种模式:一般模式.编辑模式和命令模式 一般模式下的移动光标 光标向左移动:h或者向左的方向键 光标向右移动:l或者向右的方向键光标向上移动:k或者向上的方向键光标向下移动:j或者向下的方 ...

  7. Vim文本编辑工具

    4文本编辑工具Vim Vim是vi的升级版,编辑文本时vi不会显示颜色而vim会显示颜色. 安装vim工具 #yum  install  –y  vim-enhanced Vim有三种模式:一般模式. ...

  8. linux文本编辑工具

    文本编辑工具VIM vim 主要有三种工作模式,分别是命令模式.插入模式和编辑模式,输入 vim 文件名 我们可以进入命令模式,输入字符 i或者a或者o我们可以进入插入模式,进入插入模式之后我们可以进 ...

  9. 文本处理工具-vim编辑器的常见用法

    文本编辑工具分类: (1)全屏编辑器: nano(字符编辑器).vi.vim (2)行编辑器: sed:可以逐行改文件 vi编辑器 全名:Visual editor,linux系统自带的文本编辑工具 ...

随机推荐

  1. C#中的System.Type和System.RuntimeType之间的区别

    string str = string.Empty; Type strType = str.GetType(); Type strTypeType = strType.GetType(); strTy ...

  2. Python学习笔记之replace()

    10-2 可使用方法replace()将字符串中的特定单词都替换为另一个单词. 读取你刚创建的文件learning_python.txt 中的每一行,将其中的Python 都替换为另一门语言的名称,如 ...

  3. iOS11里判断Safari浏览器是无痕模式还是正常模式?

    var isPrivate = false; try { window.openDatabase(null, null, null, null); } catch (_) { isPrivate = ...

  4. bash信号捕捉

    我们ping一个主机,然后按下ctrl+c那么就会终止这个ping动作,如下图: 可是如果使用一个循环来逐个ping不同主机,你再按下ctrl+c就会发现停不下来,直到循环完成,如下图: #!/bin ...

  5. 【开发笔记】- 输出String字符串使其文本对齐

    需求 一段文本做每64个字节换行处理,并添加对应的头尾注释 代码实现 public static String certFormat(String code, String beginTitle, S ...

  6. Kubernetes概念之deployment

    一整天一整天的坐在办公室,真的很~~~,懵圈中....,求解救. 本文通过<Kubernetes权威指南>的概念部分学习总结 Deployment作用 Deployment与RC的作用其实 ...

  7. SQL Server 修改表结构(转载)

    SQL Server 修改表结构 本文链接:https://blog.csdn.net/petezh/article/details/81744374 查看指定表结构 exec sp_help Rep ...

  8. TP框架命令行操作

    cmd进入到tp项目根目录 php think route:list #查看以定义路由 php think version #框架版本 php think list #指令列表 php think h ...

  9. matplotlib 绘制正余弦曲线图

    1.普通风格 代码 import numpy as npimport matplotlib.pyplot as plt x = np.linspace(0, 2*np.pi, 50)y1 = np.s ...

  10. dapi 基于Django的轻量级测试平台三 接口关联

    QQ群: GitHub:https://github.com/yjlch1016/dapi 一.接口关联思路: 在接口测试中, 很多场景下, 上一个接口的出参要作为下一个接口的入参, 即上一个接口的响 ...