每日命令之vim简单使用
vim:即visual interface improved,是从 vi 发展出来的一个功能强大的文本编辑器,下面来介绍下vim命令的一些简单使用方法。
vim属于模式化编辑器,有以下三种工作模式:编辑模式(默认)、输入模式和末行模式 。
我们用vim打开一个或多个文本文件时,使用格式为:vim [options] file file2...,常用的选项有:
+#:表示打开文本文件后,让光标定位到第#行行首
+/pattern : 表示打开文本文件后,让光标定位到第一个被pattern匹配到的行的行首
-o: 表示打开多个文本文件后,将窗口水平分割
-O: 表示打开多个文本文件后,将窗口竖直分割
一、模式间转换:
编辑模式 ==> 输入模式:
i:insert,在当前光标所在字符的前方转入输入模式;
a: append,附加,在当前光标所在字符的后方转入输入模式;
I:当前行行首转入输入模式
A:当前行行尾转入输入模式
o: 在当前行下方新建一个空白行并转入输入模式
O: 在当前行上方新建一个空白行并转入输入模式
输入模式 ==> 编辑模式:按 ESC 键
编辑模式 ==> 末行模式:按 : 键
末行模式 ==> 编辑模式:按一下或多下 ESC 键
二、vim光标跳转
1、字符间跳转:h(左), j(下), k(上), l(右),当我们在命令前面加#(表示具体数字)则表示一次移动#个字符。
2、单词间跳转:w(下一个单词的词首)、e(当前或下一个单词的词尾)、b(当前或前一个单词的词首),同理在命令前加#,则表示一次移动#个单词
3、行内移动:0(绝对行首)、^(本行行首第一个非空白字符)、$(绝对行尾)
4、行间移动:#G(跳转至第#行)、G(尾行)
三、vim命令:
1、字符编辑(编辑模式下)
x: 删除光标所在处的字符
#COMMAND: 删除光标所在处及向右的#个字符
d: 删除,结合光标跳转字符,实现多字符删除
d$: 删除当前光标所在处至行尾
d^: 删除当前光标所在处至行首
dw:删除当前光标所在处至下一个单词词首
de:删除当前光标所在处至当前或下一个单词词尾
db:删除当前光标所在处至当前或上一个单词词首
dd: 删除行
#dd: 删除#行,从当前光标所在行开始,删除#行
y: 复制(yank),结合光标跳转字符,实现多字符复制,使用方法同d命令
p: 粘贴(paste)
p:缓冲区存储如果整行,则粘贴于当前行下方;否则,则粘贴于当前光标所在处的后方
P:缓冲区存储如果整行,则粘贴于当前行上方;否则,则粘贴于当前光标所在处的前方
c: 改变(change),结合光标跳转字符,实现多字符修改,使用方法同d命令,并转入输入模式
r: 替换(replace),替换单个字符
u: 撤销,撤销上次操作,#u则表示撤销#次前操作
ctrl+r: 取消上次的撤销操作
.:重复执行上次操作
2、关闭文件:(末行模式下)
:q! 保不存退出
:w! 强制保存(通常没有写权限时只有root用户才能执行此类操作)
:wq 保存退出
:x 保存退出
:w /path/to/somefile 文件另存
3、查找和替换:(末行模式下)
字符查找:
/pattern:从上往下根据pattern到文本中查找
n:查看下一个匹配到的内容
N:查看上一个匹配到的内容
?pattern:从下往上根据pattern到文本中查找
n:查看下一个匹配到的内容
N:查看上一个匹配到的内容
字符查找替换:使用方法:s/要查找的内容/替换为的内容/(ig),要查找的内容可以使用模式,替换为的内容不能除后向引用以外的元字符,分隔符可按需要指定:s@@@, s###
i: 忽略字符大小写
g: 全局替换
后向引用:如果要引用“要找到的内容”匹配到的所有内容,可使用&直接引用,而无需在模式中加\(\);如果只引用“要找到的内容”中的部分模式匹配到的内容,则仍需使用正则表达式的分组;而后使用\1, \2,...进行引用
四、设置内置变量(末行模式下)
在末行模式下使用set命令定义某内置变量的值为所需要的值;如果我们需要让这些设置永久生效,那么我们需要将设置保存到配置文件中:/etc/vimrc或者~/.vimrc
:set nu 显示行号
:set nonu 取消显示行号
:set sm 开启高亮和括号匹配功能
:set nosm 取消高亮和括号匹配功能
:set ai 自动缩进
:set noai 取消自动缩进
:set ic 忽略字符大小写
:set noic 不忽略字符大小写
:set hlsearch 搜索结果显示高亮
:set nohlsearch 关闭搜索结果显示高亮
:syntax on 开启语法高亮功能
:syntax off 关闭语法高亮功能
转载于:https://blog.51cto.com/zhouxt/1579414
每日命令之vim简单使用相关推荐
- 你知道吗?Linux命令竟如此简单!
你知道吗?Linux命令竟如此简单! 我Linux安完了,如何快速入门? 1.进入终端 2.好了,入门完了 咳 咳 开个玩笑 2.1查看磁盘容量 2.2新建 2.3查看&删除 2.5解压&am ...
- vim简单使用教程【转】
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- cd短是什么意思_每日命令|pwd、cd
01 命令简介 上回说到<每日命令 | ls>,今天我们来说一说pwd命令和cd命令. pwd命令--返回当前工作目录名称. cd命令--改变工作目录. 什么是工作目录? 举个例子:我在北 ...
- linux命令vi作用,详解Linux常用命令的用法(二)――――文本编辑器命令vi/vim
vi/vim介绍 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. 1.vi和vim的区别: 就是在进入一般命令模式后,当按下(i.I.o ...
- 【Linux系统管理】05 常用命令 06 vim编辑器
一.命令的基本格式 1.1 命令的提示符 [root@localhost ~]# []:这是提示符的分隔符号,没有特殊含义. root:显示的是当前的登录用户,现在使用的是root用户登录. @:分隔 ...
- shell个性化配置+vim简单配置
配置bash_profile,不同文件类型显示不同颜色,同时下方cmd栏显示当前目录,记得source ~/.bash_profile(注意替换成自己的目录) "export PS1='\e ...
- linux命令:vim
VIM命令简介: 文本编辑器,字处理器 处理纯ASCII文本 1.命令格式: vim [option] file 2.命令功能: 用于对文本进行编辑的命令. vim模式: 编辑模式(命令模式) 输 ...
- linux每日命令(26):Linux文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loca ...
- linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用
cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟 ...
最新文章
- 计算机网络-物理层设备
- -webkit-font-smoothing
- 程序员的自由,不只在那一寸领地!
- Android 简单天气预报
- 国内首款全国产固态硬盘控制芯片发布
- 第 5-7 课:Java 中的各种锁和 CAS + 面试题
- 探秘Spring AOP(下)
- cnn加工是什么意思_天秤座R-CNN:全面平衡的目标检测器
- libs/spandsp/src/floating_fudge.h:40:20: error: implicit declaration of function ‘sin’ [-Werror=impl
- 【CF Round #534 Div2】B:Game with string(水题,积累思路)
- 图像处理中的差分求导计算和相应的卷积核(filter)
- oracle数据如何采集,网页采集的数据如何导出到Oracle数据库 - 八爪鱼采集器
- 路由器桥接LAN接LAN口(改DHCP以及详细避坑教程)
- pandas文件保存操作
- 到底什么是阿里味?能否在不加入阿里的时候可以体验一下
- python写入中文json
- Mac Terminal 美化
- 生活简单案例,分析管理中的深奥道理
- 一个简单的集成电路运算放大器的计算和multisim的仿真
- 零基础语法入门第十二/十三讲指示代词和不定代词以及形容词
热门文章
- wxPython 资料链接
- Webpack入门——使用Webpack打包Angular项目的一个例子
- androidpn 推送初探
- 使用 IntraWeb (10) - CSS
- 开源的数据可视化JavaScript图表库:ECharts
- 熟练掌握如何设置空闲超时时间.
- 请确保此代码文件中定义的类与“inherits”属性匹配.并且该类扩展的基类(例如 Page 或 UserControl)是正确...
- 《并行计算的编程模型》一1.10 MPI开发心得
- devstack安装openstack
- jsmin 使用方法