一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. 用友 UIFrom

    任何表单,有两个字段是必须的,一个是ID,一个是版本号

  2. 在<a></a>标签中如何调用javaScript脚本

    在日常工作总会遇到在<a>标签中执行js代码的情况 现在做一个总结,希望对大家有一个帮助. 1.a href="javascript:js_method();" 这是我 ...

  3. 2-kong的preserve_host和strip_uri解析

    原文参考:https://www.cnblogs.com/mentalidade/p/6847004.html preserve_host:当代理的时候,k代理时,Kong的默认行为是将上游请求的Ho ...

  4. 【USACO】香甜的黄油

    这是一道来自USACO的题,一般歪果仁的题都不是很好做,就比如这题 题目描述: 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶 ...

  5. Objective-C的self.用法

    转自:http://mobile.51cto.com/iphone-313096.htm 进入正题, 我们经常会在官方文档里看到这样的代码: MyClass.h @interface MyClass ...

  6. jdbc预编译实现方式

    jdbc预编译可以有两种方式: 方式一.jdbc自己实现的预编译,就是做一下特殊字符处理来防SQL注入,看PreparedStatement源码就可以了. public static void mai ...

  7. android studio学习----添加项目库

    Library Project(库项目) compile project(':library') 引用名称为 library 的 module .需要注意的是,被引用的 module 需要在 {@pr ...

  8. Jira未授权SSRF漏洞复现(CVE-2019-8451)

    0x00 漏洞背景 Jira的/plugins/servlet/gadgets/makeRequest资源存在SSRF漏洞,原因在于JiraWhitelist这个类的逻辑缺陷,成功利用此漏洞的远程攻击 ...

  9. FPM十一:点击POPUP显示明细

    沿接着前面的Search和List.在LIST中点击一列,弹出窗口显示明细. 1.list中定义事件: METHOD if_fpm_guibb_list~get_definition. DATA:gt ...

  10. 跳过__wakeup()魔法函数

    __wakeup():将在序列化之后立即被调用. 漏洞原理:当反序列化字符串中,表示属性个数的值大于其真实值,则跳过__wakeup()执行.     参考题目:xctf-unserialize3 h ...