Linux重器之 Vim 实用命令
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 实用命令的更多相关文章
- Linux中的vim实用命令 -- (转)
VI 有2个模式.我自己定义的 1. 命令模式,一开始进去的模式.一些指定的键盘输入会产生不同的效果 2. 输入模式,在命令模式下输入冒号(:) 就可以进入输入模式.按Esc键即可退出命令模式. ...
- Linux Tomcat日志查看实用命令
实用命令: 查看tomcat运行日志 tail -f catalina.out 通过关键字搜索查看日志 cat jeewx-2015-09-20.log | grep 验证码 查看固定时间日志 cat ...
- Linux文本编辑器之vim
VIM 文本编辑器 vim/vi是Unix/Linux上最常用的文本编辑器而且功能强大.注意:只有命令,没有菜单 VIM工作模式 命令模式:又称为一般模式 编辑模式:又称为低行模式,命令行模式 插入命 ...
- Linux基础入门 vim常用命令详解
介绍 vim是一个文本编辑程序 没有菜单,只有命令,且命令繁多 命令行模式下相关命令 移动光标 h: ← 左移 l: → 右移 j: ↓ 下移 k: ↑ 上移 gg: 光标移动文件 ...
- Linux终端多用户通信实用命令
一 命令 1.1 write 该命令将当前终端(源)输入的字符拷贝至目标用户的终端,从而发送消息给系统中某个用户.用法如下: #write <user> <msg> [Ctr ...
- vi/vim实用命令
查找 n是下一个,N是上一个 撤销和重做 u:撤销上一步的操作 ctrl+r:恢复上一步被撤销的操作 替换 :1,$ s/aaa/bbb/g
- Vim实用命令
[n]yy:从当前行复制n行 [n]p:粘贴n次 [n]dd:删除当前行往下的n行 / : 向后查找 ?:向前查找 u → undo 撤销上一操作 <C-r> → redo 0 → 开启 ...
- 「LINUX资料」简单实用命令less和vi(三)
- <实训|第四天>Linux下的vim你真的掌握了吗?附上ftp远程命令上传。
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
随机推荐
- 2场 J -Subarray
题意: 长度为1e91e9的(1,−1)(1,−1)序列,下标从00到1e9−11e9−1,已知有nn个区间为11,其他为−1−1, 问存在多少个区间的和>1>1(保证∑1≤i≤nr[i] ...
- VS2019提示scanf不安全问题
VS2019提示scanf不安全问题 我们现在学的就是使用scanf()语句进行输入,但是vs2019中却报错显示不安全 首先我先来说一下scanf和scanf-s的区别 scanf()函数是标准C中 ...
- input 输入框 只能输入数字、字母、汉字等
1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafte ...
- uni-app中使用scroll-view滚到底部时多次触发scrolltolower事件
一.前言.scroll-view基本属性: 前言: 前段时间使用scroll-view可滚动视图区域容器来做多个不同内容的展示(在我这个页面中同时使用了三个scroll-view做数据展示),因为这几 ...
- 震惊!线上四台机器同一时间全部 OOM,到底发生了什么?
案发现场 昨天晚上突然短信收到 APM (即 Application Performance Management 的简称),我们内部自己搭建了这样一套系统来对应用的性能.可靠性进行线上的监控和预警的 ...
- 学习AI之NLP后对预训练语言模型——心得体会总结
一.学习NLP背景介绍: 从2019年4月份开始跟着华为云ModelArts实战营同学们一起进行了6期关于图像深度学习的学习,初步了解了关于图像标注.图像分类.物体检测,图像都目标物体检测等 ...
- 什么是API文档?--斯科特·马文
有时候,软件开发人员想要的是自己的软件被其他应用软件所应用,而不是让人来操作.API使各种应用软件互相通信成为了可能. 从事API文档写作15年,我亲眼见证了API产品的崛起.各个公司开始搭建平台,希 ...
- 2019企业linux运维最需要的了解的一些硬件基础知识
第3章 服务器 245 3.1 电脑的种类 245 3.2 服务器的介绍 246 3.2.1 服务器的类别 246 3.2.2 服务器的性能 247 3.2.3 服务器的 ...
- [golang] nats的消息传递模型介绍
目录 nats的消息传递模型 What is NATS 主题式消息(Subject-Based Messaging) 发布订阅(Publish-Subscribe) 请求应答(Request-Repl ...
- tensorflow add_to_collection用法
训练代码: # coding: utf-8 from __future__ import print_function from __future__ import division import t ...