Linux中vim命令详解
vim 是linux中最基本的操作
vim常用模式
1、命令模式
2、插入模式
3、底行模式
4、可视化模式,命令模式按v进入
5、替换模式,命令模式下按r进入
1、插入模式
默认进入文件打开的是命令模式
在这个模式下是不能插入字符的
按“i”键,然后就进入到插入模式了,屏幕下面有个“--INSERT--”标识,很明显的
现在就能写你的文档了,
写完后按“Esc"键就又回到命令模式了;
2、命令模式
在命令模式下
按
"x" 删除光标处的字符;
"u" 恢复上一个操作的命令,相当于撤销;
以y开头的都是复制
"yw" 复制光标处的单词
"yl" 复制光标处的字母
"yy" 复制一整行
"yny" n为数字,复制光标后n行
以c开头的都是剪切
"cw" 剪切一个单词
"cl" 剪切一个字母
"cc" 剪切一整行
"cnc" n为数字,剪切光标后的n行
###需要注意的是,剪切后会进去插入模式!!!
"p" 就是粘贴了,粘贴到光标处
以d开头的都是删除
"dw" 删除一个单词
"dl" 删除一个字母
"dd" 删除一整行
"dnd" n为数字,删除n行;
基本的命令就是这些,当然还有一些特殊的
"i" 在光标处插入字符
"I" 光标所在行的行首插入字符
"o" 光标所在行的下一行新行插入字符
"O" 光标所在行的上以行新行插入
"s" 删除光标所在字符并插入字符
"S" 删除光标所在行并插入字符
"a" 光标所在字符的下一个字符插入
"A" 光标所在行的行尾插入字符
"gg" 光标移动到首行
"G" 光标移动到尾行
3、底行模式
最后就是底行模式了,命令模式下按":",光标就到最后一行了,然后就能输入命令了
:q 就是退出
:wq 保存并退出,通常都是一起用的
:q! 强制退出不保存
:wq! 强制保存退出,首先要你有足够的限权
:sp filename 在vim窗口上半部分打开另一个文件,(同时编辑两个文件);
贴个图瞧瞧:
ctrl +w 然后按下,就切换到下半文件窗口
ctrl +w 然后按上,就切换到上半文件窗口
(可以复制上边文件的内容到下边的文件哦,当时不会的时候,我可是一个个敲进去的)
:num 冒号后面按数字,然后回车,就能快速定位到num行,
vim工作方式设定
末行模式下输入
:set 指定信息
:set nu 在每行行首显示行号
:set nonu 不显示行号
:set cursorline 显示下划线
:set spell 开启拼写检查功能
:set nospell 关闭拼写检查功能
/ 关键字 匹配关键字字符,并高亮显示,按n匹配下一个,按N匹配上一个
在文件中的修改在退出后就失效了,想要永久更改就要更改vim配置文件“/etc/vimrc”,
在后面加上设置就行了,
这里的用法虽然不是全部的用法,却是最常用的,一般的情况下,就够用了,
可视化模式
可视化模式下批量添加字符
1.把光标停留在想要加入字符所在的列的第一行
2.移动光标选择添加字符所在列
3."I"进入插入模式
4.写入要插入的字符
5.按"ESC"退出插入模式,字符批量添加成功
vim的字符替换 (可视化模式下)
%s/原有字符/新字符/g #全文替换
1,5s/原有字符/新字符/g #替换1到5行的字符
g #替换出现的所有关键字,如果不加"g"只替换没行出现的第一个
正则表达式
高级的查找替换用到正则表达式
\d: 表示十进制数(我猜的)
\s: 表示空格
\S: 非空字符
\a: 英文字母
\|: 表示 或
\.: 表示.
{m,n}: 表示m到n个字符。这要和 \s与\a等连用,如 \a\{m,n} 表示m 到n个英文字母。
{m,}: 表示m到无限多个字符。
**: 当前目录下的所有子目录。
分屏操作
vim -o file1 file2:水平分割窗口,同时打开file1和file2
vim -O file1 file2:垂直分割窗口,同时打开file1和file2
Linux中vim命令详解相关推荐
- Linux中iptraf命令详解(IP局域网监控工具)
2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03 作者:佚名 ...
- linux中create命令详解,linux中 pmap 命令详解
通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show details -X show eve ...
- linux中mkdir命令含义,Linux中mkdir命令详解
Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...
- linux中dd命令详解,Linux中DD命令详解
Linux中DD命令详解 1.dd命令简介 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的 ...
- linux pmap命令,linux中 pmap 命令详解
通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x,--extended show details -X show even ...
- linux 修改用户dir,linux中dir命令详解
在linux系统下dir命令的功能和ls命令差不多,主要是用以查看目录.文件权限等详细信息.下面由学习啦小编整理了linux中dir命令的详细解释,希望对你有帮助. linux中dir命令的详细解释 ...
- linux中Iscpi命令详解(四)
lscpi命令详解 lspci是一个用来查看系统中所有PCI总线以及连接到该总线上的设备的工具. 命令格式为 lspci -参数 (不加参数显示所有硬件设备) 我的电脑lspci显示结果为: 00:0 ...
- Linux中curl命令详解(做定时任务超级有用)!
Linux curl命令详解 命令:curl 在kingle中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- linux中jstack命令详解,Linux jstack命令详解
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息. 如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack ...
- linux中groupadd命令详解,Linux添加用户组(groupadd)
Linux添加用户组(groupadd)教程 Linux groupadd命令详解 功能 创建用户组. 语法 groupadd [options] groupname 参数 参数 描述 options ...
最新文章
- iOS面试题整理---关键字!!!
- mysql字符串区分大小写么_mysql字符串区分大小写的问题-阿里云开发者社区
- Android studio git 本地仓库和远程仓库节点对比
- Pandas打印所有行和列(显示所有的行和列)
- windows下 VScode+CMake+Linux远程调试
- java holder_java.sql.SQLException: connection holder is null
- Linux php.ini设置date.timezone=XXX为什么不生效?
- thinkphp 助手函数url不生成https_关于ThinkPHP的一些渗透方式
- lzg_ad:EWF启用常见问题及解决方案
- rfc2544_tput_test脚本中增加丢包率功能
- 创业板首批企业或节前招股 新公布6家上会公司
- 求两条轨迹间的hausdorff距离_【每周三题】高二【136】分子间作用力和分子势能...
- 为了让5G更省电,这家设备商秀出黑科技
- linux vncviewer使用教程,vnc使用教程,vnc使用教程5步详解
- 从金融IT公司工作10年后转到银行的工作体会
- 使用 git 创建补丁和打补丁。
- 【Java学习笔记】(二)Java平台和Java虚拟机
- 实验四:201571030116/201571030106《小学四则运算练习软件需求说明》结对项目报告...
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'chong'@'localhost
- 解决复制粘贴出现的错误