Linux之VIM常用功能
介绍:vim包含三种模式分别为
命令模式:浏览文件,临时更改vim的工作方式,对字符批量处理(也可进行配置)
插入模式:对文件内容进行编辑
退出模式:退出VIM操作
一、命令模式
1、调整vim的工作方式 【在vim程序中,使用:set调整参数】
示例:
:set nu ## 在每一行显示行号
:set nonu ## 取消行号的显示
:set mouse =a ## 显示鼠标
:set cursorline ## 显示行线
结果显示:

操作:vim.file ---> : ---> set nu ---> enter (其他参数的操作于此类似)
注意:在vim程序中设定的vim工作方式是临时的,即在vim关闭之后再次打开还是会还原;
如果要永久保存的话,则需要编辑VIM的配置文件:/etc/vimrv;打开后直接在末尾
加上*** set nu ***,不需要冒号
2、字符的搜索
/关键字 ## 若在内容中存在的话,会跳转到该关键字
n ## 内容向下匹配
N ## 内容向上匹配
操作:vim file ---> /Ubuntu --->N(或者n)
结果显示:(只截取部分)


3、字符的管理
复制:y
yl ##复制一个字母
y3l ##复制3个字母
yw ##复制一个单词
y3w ##复制3个单词
yy ##复制一行
y3y ##复制三行
注意:yy复制一行的时候,由于同时复制了换行,故会调至下一行粘贴。
删除:d
dl ##删除一个字母
d3l ##删除三个字母
dw ##删除一个单词
d3w ##删除三个单词
dd ##删除一行
d3d ##删除三行
剪切:c
cl ##剪切一个字母
c3l ##剪切三个字母
cw ##剪切一个单词
c3w ##剪切三个单词
cc ##剪切一行
c3c ##剪切三行
粘贴:p
撤销:u
恢复撤销:ctrl+r
注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式,然后按p粘贴
4、vim可视化
ctrl+v ##在这个模式下可以选择区域操作
批量添加字符:
ctrl+v选中要加入的字符所在的列
按大写的I
加入字符
按【ESC】<C-F12>
5、字符替换
:%s/要替换的字符/替换成的字符/g
例子 :%s/:/@/g ##替换全文的:为@
:%s/\t//g ## 把全文中的tab键去掉
:%s/^\*//g ## 把全文中行首的空格去掉,“^\*”表示行首
:%s/\*//g ## 吧全文中的空格去掉
:1,5s/:/@/g ##替换1-5行的:为@
注意:
%s标示所有的行
g表示所有的列
例子:*** :1,6s/test/niu ***代表从文件的第一行到第六行进行查找名为test的字符,找到第一个为test的进行修改(只修改一个)。
*** :1,6/test/niu/g ***表示从文件1-6行找到所有名为test的字符,并替换为niu.
6、vim的分屏功能
ctrl+w s ##上下分屏
ctrl+w v ##左右分屏
ctrl+w c ##关闭光标所在的屏幕
ctrl+w 上下左右 ##光标移动到指定的屏幕
:sp file2 ##同时编辑当前文件和file2文件
7、在命令模式下光标的移动
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后一行
:数字 ##光标移动到指定的行
二、插入模式
- 插入模式下光标的移动
i ##光标所在行插入
I ##光标所在行行首插入
o ##光标所在行下一行插入
O ##光标所在行的上一行插入
a ##光标所在字符的下一个字符插入
A ##光标所在行的行尾插入
s ##光标所在字符删除并插入
S ##光标所在行删除并插入
三、退出模式
:q ##退出,在文件内容没有被改变时使用
:q! ##强制退出不保存,在改变文件后不想保存时使用
:wq ##退出保存
:wq! ##强制退出保存,在对只读文件编写时使用,注意,所编辑的只读文件必须是当前用户的文件;或者当前操作的用户是root
Linux之VIM常用功能的更多相关文章
- 【linux】vim常用操作及vim插件的安装使用
vim是linux下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令. 1. 打开在第n行 vim +143 filename.txt 2. 只读模式打开 vim -R / ...
- Linux 和 Vim 常用命令整理
Sftp常用命令: lcd f:本地切换到 F盘 lpwd本地 当前目录 lls本地 文件列表 put 本地 上传文件到服务器(put输入后,回车会有弹窗,选择上传文件) get下载文件到本地 Lin ...
- Linux下Vim常用操作
linux下Vim的常用操作 linux 首先\(ctrl+Alt+t\)打开小框框 \(./\):相当于手机上的\(home\)键 \(ls\):当前文件夹的东东 \(mkdir\) ...
- Linux 之 Vim常用命令
Vim常用命令 参考教程:[千峰教育] 终端编辑命令工具: vi/vim.emacs等. vim简介: vim是vi的扩展,被誉为终端编辑之神. vim安装: yum install -y vim 工 ...
- 【linux】vim常用快捷键(转)
原文链接:https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc 进入配置文件 如果不知 ...
- 【linux】vim常用命令
转自:https://www.runoob.com/linux/linux-vim.html vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输 ...
- linux vi(vim)常用命令汇总(转)
前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Imp ...
- linux中vim常用的快捷键
移动光标的方法 h或者向左箭头:光标向左移动一个字符 j或者向下箭头:光标向下移动一个字符 k或者向上箭头:光标向上移动一个字符 i或者向右箭头:光标向右移动一个字符 Ctrl+f:屏幕向下移动一页[ ...
- linux中vim常用命令
vim工作模式 vi 文件名 进入命令模式 i a o 进入插入模式 ESC键 回到命令模式 : 进入编辑模式 添加行号 :set number/nu :wq 保存退出 插入命令 a 在光标所在字符后 ...
随机推荐
- centos7安装kvm环境采用网桥模式并创建虚拟机制作openstack需要的镜像
初始环境的安装:centos7 mini iso镜像进行安装的系统 采用的环境是vm该软件,联网方式NAT模式下配置的静态ip(如何在NAT模式下配置静态ip参考之前的文章) 1.由于要安装kvm环境 ...
- ThinkPHP5执行流程分析
1.入口文件(tp5\public\index.php) 作用: 1)定义目录常量. 2)加载框架引导目录. 2.框架引导目录(tp5\thinkphp\start.php) 作用: 1)引导基础文件 ...
- 20145310 GDB调试汇编堆栈分析
GDB调试汇编堆栈分析 由于老师说要逐条分析汇编代码,所以我学习卢肖明同学的方法,重新写了一篇博客. 代码: #include<stdio.h> short addend1 = 1; st ...
- 20145331 《Java程序设计》第7周学习总结
20145331 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 Lambda 1.Lambda定义:一个不用被绑定到一个标识符上,并且可能被调用的函数. 2.在只有Lam ...
- 资源 | TensorFlow推出新工具Seedbank:即刻使用的预训练模型库【转】
本文转载自:http://tech.ifeng.com/a/20180713/45062331_0.shtml 选自TensorFlow 作者:Michael Tyka 机器之心编译 参与:路.王淑婷 ...
- jqGrid入门简单使用
jqGrid中文API:https://blog.mn886.net/jqGrid/ 这里没有请求后台,是直接读取本地.json文件 就两个文件,一个html.一个json文件,jquery是jqgr ...
- SSH 登录时出现如下错误:Host key verification failed
注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 使用 SS ...
- 好的Mysql 查询语句
select swr.id,swr.name,swr.sort as type,count(swl.id) as nums,ifnull(sum(swl.package_num),0) package ...
- java23种设计模式之三: 适配器模式
一.适配器模式 就是个通过一个中间件转化,可以将不匹配的两件事整合到一起,把不匹配变的匹配. 二.适配器分类 1.类适配器 2.对象适配器 三. 适配器的3种组成 1.类适配器组成 1.2个接口 ...
- invocationCount和invocationTimeOut
这篇我们来学习下@Test中另外两个属性invocationCount和invocationTimeOut,前面我介绍了timOut这个属性,知道是超时监控的功能.同样,本篇两个属性和这个差不多,只不 ...