VIM 介绍
gedit a.txt 是一个图形界面的文本编辑器。 需要安装图形界面才会有。
nano a.txt 也是一样的
vi 是一种文本界面的编辑器。
vim 是 vimsual interface IMproved 的简称。 可以执行 输出、删除、查找、替换、块操作等众多文本操作。而且用户可以跟进需求自定制。
vim 命令模式: 再这个模式下,可以输入命令 进行文件的存储、移动光标、删除字符、撤销命令、和重复命令等操作,还可以设置vim的编辑环境。
[root@python ~]# vim a.txt 打开文件
最下面一行 有一些。文件的基本信息。 以及 光标位置等。
移动光标: 上 k 、下 j 、左 h 、右 l 不过一般都是使用, 箭头键来移动,比较舒服。
end 光标移动到,行尾。 home 光标移动到,行首。
PgDn PgUp 向下、向上翻页。
gg 光标移动到本文件的开头。
G 光标移动到最后一行的开头。
w 光标移动一个单词的距离。 单词以空格、换行符区分。
ZZ 保存退出。(存盘)
操作: 粘贴复制:
复制一行 yy 复制n行 nyy (复制光标当前行,或者当前行向下数的n行。)
粘贴p (粘贴时,粘贴到光标当前位置,的下面一行开始粘贴)。 P 粘贴到当前行的上面一行。
删除:
x 从光标当前位置,向后一个一个的删除。
X 从光标当前位置,向前一个一个的删除。
dd 直接删除一行。 ndd 删除多行。(也是从光标位置向下数的。)
dw 直接删除一个单词。(从光标当前位置向后,直到遇到空格。 所以删除时 光标一定要在单词的第一个字符上。否则可能就删一半。)
撤销:
u 撤销。 按一次就返回一次上一次操作的状态。
查找:
/xxx 斜杠 / 后跟想要查找的字符串,就行了。 (需要注意如果查找的字符是特殊符号,需要转义符进行转义)
vim 插入模式: 可以删除字符、插入字符。 可以在这个模式下对,文件的内容进行 编辑 修改等等。
a 光标之后插入, o 光标当前行,向下另起一行插入, i 光标当前位置之前插入
A 光标当前行的行尾插入。 O 光标当前行,向上另起一行插入, I 光标当前行的行首(第一个非空字符之前插入。)
vim 末行模式:可以进行保存文件,退出vim、 查找和替换等操作
在命令模式下输入命令 “ :” 就可进入末行模式,在末行模式下,可进行保存文件,退出VIM, 进行查找和替换等操作。
:q 退出
:q! 强制退出不保存
:w 保存
:wq 保存退出
替换:
语法格式 :s/old/new or :s%/old/new
:s/old/new 只替换光标所在行的第一个 old string 替换成 new string
:s/old/new/g 将光标所在行的所有的 old string 替换成 new string
:s%/old/new 将本文所有的 old sting 替换成 new string (默认替换每一行中出现的第一个 old。需要全部替换要加上一个 代表全局替换的 g 的标志)
:1,2s/old/new 替换1 到 2行中的 old string 为 new string
:.,2s/old/new 光标所在行到第二行的所有的 old string 替换成 new string
:2,$s/old/new/g 替换2到最后一行中的 old string 替换成 new string
其他命令:
vim 也是支持同时打开多个文件的。
比如: vim a b c 同时打开 a b c 三个文件。
在操作三个文件时,界面只会展示一个文件出来, 要进行切换的话需要 :n 就是下一个, :N 就是上一个
:set nu 显示行号
:set nonu 取消行号
:! command 可以在vim编辑器中执行一条命令(command)。 比如 :! ls /root 就可以显示root文件夹下有哪些文件。
替换模式
替换模式和插入模式差不多的。 不同的点就是 输入的内容,会直接替换掉光标当前位置的内容。
在家目录里面有一个 .viminfo 的隐藏文件夹。 这个文件夹是记录了 vim操作的一些历史操作记录。
如果想要个人定制:
[root@python ~]# vim .vimrc # 创建一个 vimrc 的隐藏文件。 其中可以写一些个人定制的东西 比如我想要 每次打开一个文件时,都会有行号的显示。 那么就只需要在这个文件中输入 set nu 就可以
有一点需要注意的就是, 这个个性化的定制只是属于某个用户的。 在 root 用户下设置了,其他用户是不能使用的。 要想用只能在 各自的 家目录里面去进行配置一个这个文件。
VIM 介绍的更多相关文章
- vim介绍/vim颜色显示和移动光标/ vim一般模式下移动光标/ vim一般模式下复制、剪切和粘贴
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制.剪切和粘贴 vim 是vi的升级版本 vim 带有颜色显示 安装vim : y ...
- vim介绍、颜色显示和移动光标、一般模式下移动光标及复制、剪切和粘贴
第4周第4次课(4月12日) 课程内容: 5.1 vim介绍5.2 vim颜色显示和移动光标5.3 vim一般模式下移动光标5.4 vim一般模式下复制.剪切和粘贴 5.1 vim介绍 centos7 ...
- Linux centosVMware Vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、vim一般模式下复制、剪切和粘贴
一.Vim介绍 vim 是一款功能强大的文本编辑器,是vi的升级版,带有颜色显示, 默认有三种模式:一般模式, 命令模式, 编辑模式 安装Vim [root@davery ~]# vim /et ...
- vim 介绍安装 复制 剪切 粘贴
1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和 ...
- Ubuntu下VIM的安装及其配置——Linux篇
一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...
- Vim的使用方法
导读 Vim是从vi发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器. 一.vi.vim介绍 ...
- vim 学习笔记
vim介绍:一款编辑器,另外一般linux系统会自带,所以一般linux下日志.配置文件等 纯文本文件的修改编辑等通过vim操作 学会的好处:1 方便操作linux下日志.配置文件等纯文本文件 2 功 ...
- vim编辑器命令
Vim介绍 vim(vimsual)是Linux/Unix系列OS中通用的全屏编辑器. vim分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作为命令来处理,如:q代表退出,而编辑 ...
- Ubuntu 16.04 Vim安装及配置【转】
转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...
随机推荐
- 【转载】从头到尾彻底理解KMP
转自:http://blog.csdn.net/v_july_v/article/details/7041827 从头到尾彻底理解KMP 作者:July 时间:最初写于2011年12月,2014年7月 ...
- Mybatis源码学习之日志(五)
简述 在Java开发中常用的日志框架有Log4j.Log4j2.Apache Commons Log.java.util.logging.slf4j等,这些工具对外的接口并不相同.为了统一这些工具的接 ...
- CF1207B
CF1207B-Square Filling 题意: 两个矩阵a,b,已知矩阵b,每次能修改b矩阵中相邻的四个格(b为空矩阵),使b变为a 解法: 枚举矩阵中的1,按题意修改,并把改过的四个点都标记一 ...
- IDEA如何切换到括号外
一般我们输入完括号后都会习惯性Enter或者Shift + Enter切换到括号外,结果却变成了: public void nothing() Enter → public void nothing( ...
- FreeMarker学习(常用指令)
参考:http://freemarker.foofun.cn/dgui_quickstart_basics.html assign: 使用该指令你可以创建一个新的变量, 或者替换一个已经存在的变量 a ...
- mongodb 的云数据库产品 atlas 的使用
前言:最近发现 mlab 被mongodb 收购以后,不再支持新用户,推荐使用 MongoDB Atlas 第一步:注册或登陆 在MongoDB atlas首页,如果有账号,那就点击登陆.否则点击Ge ...
- leetcode 日常清单
a:excellent几乎一次ac或只有点小bug很快解决:半年后再重刷: b:经过艰难的debug和磕磕绊绊或者看了小提示才刷出来: c:经过艰难的debug没做出来,看答案刷的: 艾宾浩斯遗忘曲线 ...
- jeecg中的datagrid显示一条记录为橙色表示完结
效果如图: 1.操作小结后面的已完结js $(document).ready(function(){ $('.datagrid-toolbar').children("span") ...
- mybatis之动态SQL操作之删除
/** * 持久层 */ public class StudentDao { /** * 动态SQL--删除 */ public void dynaSQLwithDelete(int... ids) ...
- JS中的map()方法
map定义和方法 map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值. map()方法按照原始数组元素顺序依次处理元素. 注意: map不会对空数组进行检测 map不会改变原始 ...