一、什么是vim

vi是一种模式编辑器。vi 是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix机器都会提供这套软体,
其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 vim 编辑器。

vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。

二、vi/vim的使用

基本上vi/vim共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

1、命令模式

用户刚刚启动vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
比如我们此时按下a或者i或者o等等,并不会输入一个字符,而是会被当作一个命令进行处理。

1. 移动光标
w(e)    移动光标到下一个单词
b    移动到光标上一个单词

数字0  移动到本行开头
$    移动光标到本行结尾

H    移动光标到屏幕首行的行首
M    移动到光标到屏幕的中间一行的行首
L     移动光标到屏幕的尾行的行首

gg     移动光标到文档的首行
G    移动光标到文档尾行

nG 移动光标到指定行的行首(n为行数,例如 25G 移动到第25行)
:行号 快速定位到哪一行

Ctrl + f 翻到下一页 (向前翻页) front
Ctrl + b 翻到上一页(向后翻页) back

Ctrl + u 向前翻半页
Ctrl + d 向后翻半页

`.  移动光标到上一次的修改行

2. 查找
/字符串 在整篇文档中搜索 字符串,向下查找,按字母 n 跳到下一个
?字符串 在整篇文档中搜索 字符串,向上查找,按字母 n 跳到上一个

* 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
# 查找整个文档,匹配光标所在的所有单词,按下n查找上一处,N下一处

gd 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上

%     找到括号的另一半!!

:noh 取消查找的内容

3. 复制粘贴
yy 光标在哪一行,输入yy就是复制这一行
p 粘贴yy所复制的内容

7yy 就是复制光标所在行的7行
p 粘贴刚才复制的7行

4. 删除

dd 删除光标所在行
2dd 删除光标所在的2行数据

D 删除当前光标到行尾的内容
dG 删除当前行到文档尾部的内容

x   删除光标所在的字符

5.撤销

u 撤销上一步的操作
Ctrl+r 反撤销

2、输入模式

i: 插入光标前一个字符
I: 插入行首

a: 插入光标后一个字符
A: 插入行未

o: 向下新开一行,插入行首
O: 向上新开一行,插入行首

3、底线命令模式

在命令模式下输入冒号(英文的:),就进入了底线命令模式,
在底线命令模式下可以输入单个或多个字符的命令,常用命令有

:w 将文件内容写入

:q 不保存退出
:q! 不保存强制退出

:x 保存退出
:wq! 强制保存退出

:set number 显示行号
:set nu 显示行号

:set nonu  取消行号

:! command 暂时离开vim指令模式,执行command的结果
例如 :!ip 临时看一下ip信息,然后可以回到vim

4、vim工作模式

5、vim按键

移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符

向下移动5行      5j
向右移动10字符    10l

n(space)    按下数字n,例如10,然后按下空格,光标会向右移动10个字符

ctrl + n 是自动补齐

vim 编辑器中TAB变4空格
vim /etc/vimrc #打开 vimrc 文件,将以下三行内容添加到文件中

set ts=4

set expandtab

set autoindent

Linux之文本编辑器Vim的更多相关文章

  1. Linux文本文件——文本编辑器Vim

    Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...

  2. 【Linux】文本编辑器Vim常用操作入门

    Linux常用文本编辑器:Vi & Eamcs Vim -- Vi的升级版本 Vim 一.3种工作模式 命令行模式 (Command Mode) 插入模式 (Insert Mode) -- 键 ...

  3. Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法

    1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...

  4. Linux学习 - 文本编辑器Vim

    一.Vim工作模式 二.命令 插入 a 光标后插入 A 光标所在行尾插入 i 光标前插入 I 光标所在行首插入 o 光标下插入新行 O 光标上插入新行   删除 x 删除光标处字符 nx 删除光标处后 ...

  5. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  6. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  7. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  8. LINUX文件内容处理及文本编辑器vim

    Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...

  9. Linux基础学习(5)--文本编辑器Vim

    第五章——文本编辑器Vim 一. Vim常用操作 1.Vim简介:              Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑. ...

随机推荐

  1. js 颜色16进制转RGB方法

    //颜色16进制转RGB方法 String.prototype.colorRgb = function(){ var sColor = this.toLowerCase(); //十六进制颜色值的正则 ...

  2. SQL Server中几种遍历方式比较

    SQL遍历解析 在SQL的存储过程,函数中,经常需要使用遍历(遍历table),其中游标.临时表等遍历方法很常用.面对小数据量,这几种遍历方法均可行,但是面临大数据量时,就需要择优选择,不同的遍历方法 ...

  3. Catalan卡特兰数入门

    简介 卡特兰数是组合数学中的一种常见数列 它的前几项为: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, ...

  4. Dynamics 365-如何利用Audit History还原被删除的数据

    Audit History,常被用来记录record的日常操作信息,包括创建,更新,删除.这是一个非常实用的功能,想想看,如果数据被误修改了,通过Audit History,可以很容易地找到修改前的数 ...

  5. Android 手机连不上电脑

    [个人经验] 给大家分享一下,最近Android开发中一个坑. 在Android开发中,有时会需要自己开发服务端,就需要连接自己的电脑. ①首先,我们得知道我们电脑的ip地址是多少: 开始菜单---- ...

  6. MUI 实用教程

    MUI 实用JS教程: https://www.kancloud.cn/benhailong/mui/319751  MUI 实用教程: https://www.kancloud.cn/benhail ...

  7. win10系统关闭自动更新

    win10关闭自动更新 步骤①右键“此电脑”选择“管理”选项 步骤②(如下图所示): 步骤③:     步骤④: 好啦!这样就大功告成了!

  8. C#基础学习第一天

    ..net与C# .NET是一个框架.一种平台.一种技术 C#是一种编程语言,可以开发基于.NET平台的应用 .NET能干什么 Winform ASP.NET Wwb wphone Unity3D游戏 ...

  9. awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一

    awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...

  10. C# 中使用特性获得函数被调用的路径,行号和函数

    自从 .net framework 4.5  增加了几个特性来获得函数的调用路径(CallerFilePath),调用行号(CallerLineNumber),和调用函数(CallerMemberNa ...