Vim 常用的命令

光标定位;

hjkl  上下左右移动

0 $ 跳到行首或行尾

gg   shift+G 跳到整个文件的开头行或者结尾行

1G ,2G,3G........NG ,跳到第1.2.3 N 行开头

/String(n N 可以循环的 上一个下一个切换) 快速定位到某个有String 的 行,

/^d   快速定位到以  d 开头的行,

/txt$ 快速定位的到以txt  结尾的行.

文本编辑(少量)

y 复制. yy 3yy ygg yG (以行为单位)

d 删除 dd 3dd dgg dG(以行为单位)

p 粘贴

x 删除光标所在的字符

D 从光标处删除到行尾

u undo 撤销

^r redo 反撤销,重做   Ctrl + r

r 修改一个字符

进入其他模式

a 进入插入模式,  在光标的后面插入

i  进入插入模式, 在光标前面插入

o  另起一行插入

A shift + A  在当前行尾插入

:   进入末行模式(扩展命令模式)
v  进入可视模式

^v  进入可视块模式   Ctrl +v

V 进入可视行模式

R 进入替换模式   在光标后进行批量替换,类似于为Windows上的 文本Insert

插入模式下的VIm 关键字 自动补全 Ctrl + p / n

可视块模式:

块插入:(在指定块前面加入字符)  选择块, Shift  i   然后输入字符 ,ESC(退出两次)

块替换:  选择块  r  输入替换的字符

块删除 : 选择块,  输入 d 或者 x

块复制 : 选择块 , y

扩展命令模式:

: 10  进入第10行

: w  保存

:q 退出

:wq 保存并退出

:w!  强制保存

:q! 不保存强制退出

:wq!  强制保存退出

: x 强制保存退出 或者ZZ

:X 给当前文件上锁, 加密,

远程登陆的过程中 Ctrl +s 会锁定 当前终端 , 输入任何命令都不可见,但是命令仍然可以执行 Ctrl +q  解除锁定,展示命令

查找替换s search

: 范围 s/old/new/选项

:1,5 s/ string1 / string2 /  从第一行到第五行,把string1 替换为string2 . / 可以换做其他分隔符, 只要保持一样

: 5,$ s/root/yang   $表示最后一行

:1,$ s/root/yang/g  == :% s/root/yang/g  % 表示全文,g表示全局

:%  s/#/dev/sda#/var/sss#g  #这里表示分隔的标识符

:,8 s/root/yang  从当前行到第八行

:2,8 s/^#//  2-8行的开头# 替换为空

:1,9 s/.*/#&/ 1-9行 前面计入#字符(.*整行,& 引用查找的内容)

读入文件/ 写文件(另存为)

:w 存储到当前文件

:w /tmp/aaa.txt  另存为tmp/aaa.txt

:1,3 w  /tmp/aaa.txt  1至3行另存为 /tmp/aaa.txt  文件

:r /etc/hosts 读入文件到当前行后

:5 r  /etc/hsotst  读入文件到第五行后

设置环境

临时设置:设置了之后只对当前vim 文件有效,退出则无效

:set nu 设置行号

:set ic 不区分大小写

:set ai 自动缩进

:set list 显示控制字符

:set nonu 取消设置行号

:set noic   .....

永久设置环境 :   修改vim的环境配置文件

/etc/vimrc   影响所有系统用户

~/.vimrc   影响某一个用户

Vim 打开多个文件

vim  - O 文件1, 文件2 ,。。。(O 表示左右并排显示, o 表示上下并排显示)

:qall 退出全部,:q 单个退出,其他命令全部操作也加 all

^ww (Ctrl + ww) 切换窗口

比较两个文件的不同

vimdiff 文件1 , 文件2

Linux重器之 Vim 实用命令的更多相关文章

  1. Linux中的vim实用命令 -- (转)

    VI 有2个模式.我自己定义的   1. 命令模式,一开始进去的模式.一些指定的键盘输入会产生不同的效果 2. 输入模式,在命令模式下输入冒号(:) 就可以进入输入模式.按Esc键即可退出命令模式. ...

  2. Linux Tomcat日志查看实用命令

    实用命令: 查看tomcat运行日志 tail -f catalina.out 通过关键字搜索查看日志 cat jeewx-2015-09-20.log | grep 验证码 查看固定时间日志 cat ...

  3. Linux文本编辑器之vim

    VIM 文本编辑器 vim/vi是Unix/Linux上最常用的文本编辑器而且功能强大.注意:只有命令,没有菜单 VIM工作模式 命令模式:又称为一般模式 编辑模式:又称为低行模式,命令行模式 插入命 ...

  4. Linux基础入门 vim常用命令详解

    介绍 vim是一个文本编辑程序 没有菜单,只有命令,且命令繁多 命令行模式下相关命令 移动光标 ​ h: ← 左移 ​ l: → 右移 ​ j: ↓ 下移 ​ k: ↑ 上移 ​ gg: 光标移动文件 ...

  5. Linux终端多用户通信实用命令

    一  命令 1.1 write 该命令将当前终端(源)输入的字符拷贝至目标用户的终端,从而发送消息给系统中某个用户.用法如下: #write <user> <msg> [Ctr ...

  6. vi/vim实用命令

    查找 n是下一个,N是上一个 撤销和重做 u:撤销上一步的操作 ctrl+r:恢复上一步被撤销的操作 替换 :1,$ s/aaa/bbb/g

  7. Vim实用命令

    [n]yy:从当前行复制n行 [n]p:粘贴n次 [n]dd:删除当前行往下的n行 /  : 向后查找 ?:向前查找 u → undo 撤销上一操作 <C-r> → redo 0 → 开启 ...

  8. 「LINUX资料」简单实用命令less和vi(三)

  9. <实训|第四天>Linux下的vim你真的掌握了吗?附上ftp远程命令上传。

    期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...

随机推荐

  1. 影响ES相关度算分的因素

    相关性算分 指文档与查询语句间的相关度,通过倒排索引可以获取与查询语句相匹配的文档列表   如何将最符合用户查询需求的文档放到前列呢? 本质问题是一个排序的问题,排序的依据是相关性算分,确定倒排索引哪 ...

  2. Mybatis整合spring(适合小白)

    目录 1.整合思路 2.整合需要的jar包 3.整合的步骤 4.Dao的开发的两种实现方式 6.Dao的开发的实现方式总结图 @ Mybatis整合spring其实就是SSM框架中SM的整合集成. 1 ...

  3. nginx中proxy_pass小斜杠

    nginx中proxy_pass小斜杠 1. 故事背景 相信做微信公众号开发的朋友都知道,要想在微信中预览效果,必须使用域名访问.很多朋友使用内网穿透工具.不仅不好用还不稳定.所以,发挥脸厚吃天下的态 ...

  4. HTTPS工作流程(入门)

    1.CA(为服务器做担保的第三方机构)将包含CA[公钥C]等信息的[证书C]发送给浏览器: 2.服务器将其[公钥S]和网站信息发送给CA: 3.CA用CA[私钥C]将这些信息加密得到了签名后的[服务器 ...

  5. spring boot 一个项目启动多个实例

    0.前言 在开发中,我们经常需要以不同端口启动同一个项目的多个实例,IDEA中启动多个实例很简单 1.方法 1.1.在项目中,选择编辑配置,然后点选允许并行运行,如下图: 1.2.调出RunDashb ...

  6. Java基础IO类之字符串流(查字符串中的单词数量)与管道流

    一.字符串流 定义:字符串流(StringReader),以一个字符为数据源,来构造一个字符流. 作用:在Web开发中,我们经常要从服务器上获取数据,数据返回的格式通常一个字符串(XML.JSON), ...

  7. Git的安装和使用教程详解

    ---恢复内容开始--- 本篇笔记聊聊Git的安装和使用教程 一.认 识 Git                                                            ...

  8. 不止面试-JVM垃圾回收面试题详解

    第一部分:面试题 本次分享我们将尝试回答以下问题: GC 是什么? 为什么要有 GC? 简单说一下java的垃圾回收机制. JVM的常见垃圾回收算法有哪些? 为什么要使用分代回收机制? 如何判断一个对 ...

  9. 如何使用modelarts训练海量数据

    在modelarts上使用notebook上使用evs空间默认大小是5G,能满足大部分文本和图片训练模型的需求.如果训练数据稍微超过这个限额,可以适当的扩增下空间.但如果训练对象是视频,或是实际生成过 ...

  10. 转:ETL讲解(很详细!!!)

    ETL讲解(很详细!!!) ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为企业的决策提供分析依据. ETL是BI项目重要 ...