vim可以说是学习linux的必备技能,文件的拷贝实在是太麻烦了,不如直接对原文件进行修改。

所以我这里就总结了一些基础操作,看完你肯定能够学会vim对文件进行基础的操作。

什么是 vim?

Vim是从 vi 发展出来的一个文本编辑器。虽然说是文本编辑器,但是连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

下面是一张键位图

建议

是不是看着眼花缭乱?那就对了,因为这是完整的键位,应该很少有人能够全部都用上,就像在windows下,用的最多的还是Ctrl+C/V操作(手动滑稽)。

所以一开始实在没有必要系统的进行学习,而是先学基础操作,后面在使用中可以不断的熟悉,然后为了提高效率,你就会慢慢的掌握一些快捷键的使用。

三种模式

vim 共分为三种模式,分别是

  • 命令模式(Command mode):默认模式,移动光标,剪切/粘贴文本(界面表现:左下角显示文件名或为空)
  • 输入模式(Insert mode):修改文本(界面表现:左下角显示—INSERT–)插入模式下,按ESC按键返回命令模式
  • 底线命令模式(Last line mode):保存、退出等(界面表现:左下角显示—VISUAL–)末行模式下连续按两次ESC按键返回末行模式

三者之间的关系

图片来自runoob.com

命令模式

用户刚刚启动 vim,便进入了命令模式。

比如输入vim test.txt,就会变成这样:

test.txt如果不存在当前的目录,就会新建的一个test.txt文件.

此状态下敲击键盘动作会被vim识别为命令,而非输入字符。就像在windows下按住了ctrl一样,你的操作会被解析执行.

按下i,并不会输入一个字符,i被当作了一个命令,会进入输入模式

以下是常用的几个命令:

i 切换到输入模式,以输入字符。
: 切换到底线命令模式,然后可以在最底行输入命令。

输入/编辑 模式

在命令模式下按下 i 就进入了输入模式。

不是只有i才可以进入输入模式。后面会有其他命令进行文本编辑。

输入模式可以对文本进行内容进行修改。

在输入模式中,可以使用以下按键:

 - 字符按键以及Shift组合,输入字符 - ENTER,回车键,换行 - BACK SPACE,退格键,删除光标前一个字符- DEL,删除键,删除光标后一个字符 方向键,在文本中移动- HOME/END,移动光标到行首/行尾 - Page Up/Page Down,上/下翻页 - Insert,切换光标为输入/替换模式,光标将变成竖线/下划线 - ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

按下后左下角就会显示一个 :

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

底线命令模式下输入q!就会强制退出vim编辑器,不保存任何内容。

按ESC键可随时退出底线命令模式,回到命令模式。如果有输入内容没有执行两次esc也可退出。

这边就只介绍那么多,只是一些入门概念和操作。

下面就仔细讲解一下具体的操作。

下面是具体的文件操作

行号设置

命令模式下操作,只对当前文件有效。

命令 解释
:set nu 显示行号
:set nonu 取消显示行号

如果需要全局设置vim /etc/vimrc,在最后一行处增加set number,保存就可以了。

文件操作

下面是文件的操作,都是底线模式的命令。(带 : 是为了说明这是底线模式命令)

命令 解释
vim filename 打开filename文件,如果不存在就创建
:w 保存文件
:w! 强制保存
:w filename 另外保存至filename文件
:q 退出vim编辑器,且保存文件;如果文件已修改请使用下面的保存命令
:q! 强制退出vim编辑器,且 不保存
:wq 保存文件, 退出 vim编辑器
:wq! 保存文件,强制退出 vim编辑器
:e! 放弃所有修改,回到上次保存的状态或者打开时的状态,重新编辑
:e otherfilename 切换编辑文件名为otherfilename的文件。
:set fileformat = unix 将文件格式修改为unix格式,如win下面的文本文件在linux下会出现^M。
:set fileencoding = utf-8 转换文件编码,比如将一个文件转换成utf-8格式

所谓fileformat就讲的是个行结束符的问题。行结束符在显示的时候是不显示的。由于历史原因,dos,unix,mac采用了不同的行结束符。

光标移动

移动光标在命令模式和输入模式下都可以进行,但是输入模式下比较局限,因为大部分的按键都会被解析成字符进行输入,而命令模式则会解析成命令。

输入模式的光标移动

两个模式都可以使用方向键以及小键盘的方向键(需要解开num lock)进行光标移动。

输入模式下应该也只能方向键移动了。(别的我母鸡啊,如果有别的麻烦提醒我下一吧…)

命令模式的光标移动

命令 解释
上下左右方向键 移动光标
h j k l 与方向键一样的移动方式,h 向左、j 向下 、k 向上、l 向右。
Space空格键 向右移动
Backspace 退格键 向左移动
Enter 移动到下一行首
- 移动到上一行首
n ↓或n ↑ 依次敲击 数字键 键 来实现移动n位,这里的n是数字。比如n↓,就是向下移动n行。n↑是向上移动n行
n →或n ← n→就是向右移动n位,n ←就是向左移动n位
n+ 向下跳n行
n- 向上跳n行
G 跳至文件的底部(注意是大写的G,不是g)
nG 跳到行号为n的行
pageup 上一页
pagedown 下一页

复制和粘贴

命令 解释
yy 将当前行复制到缓存区,也可以用"ayy复制,"a为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy 将当前行向下n行复制到缓冲区,也可以用"anyy复制,"a为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw 复制从光标开始到词尾的字符。
nyw 复制从光标开始的n个字符。
y^ 复制从光标到行首的内容。
y$ 复制从光标到行尾的内容。
p 粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
P 粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。

插入、撤销、删除

命令 解释
a 在当前光标位置的右边添加文本
i 在当前光标位置的左边添加文本
A 在当前行的末尾位置添加文本
I 在当前行的开始处添加文本(非空字符的行首)
O 在当前行的上面新建一行
o 在当前行的下面新建一行
R 替换(覆盖) 当前光标位置及后的若干文本
J 合并光标所在行及下一行为一行(依然在命令模式)
x 删除当前字符
nx 删除从光标开始的n个字符
dd 删除当前行
ndd 向下删除当前行在内的n行
u 撤销上一步操作
U 撤销对当前行的所有操作

替换

命令 解释
: s/old/new 用new替换行中首次出现的old
: s /old/new/g 用new替换行中所有的old
: n,m s/old/new/g 用new替换从n到m行里所有的old
: %s/old/new/g 用new替换当前文件里所有的old

搜索

搜索之后的结果会高亮显示,如果想要取消高亮需要取消高亮命令。

命令 解释
:/string 向光标下搜索string字符串
:?string 向光标上搜索string字符串
:n 下一个搜索结果
:N 上一个搜素结果
:noh(底线命令) 取消高亮

小结

看到这里,再回头去看前面这张键位表,我感觉已经能够完全看懂这些命令了。

其他还有很多很多的命令,我也没有完全的了解,所以这篇文章就先介绍到这里了,感谢大家的观看。

Linux中vim编辑器基本操作就这么简单相关推荐

  1. linux中vim编辑器_为什么Vim爱好者喜欢Herbstluftwm Linux窗口管理器

    linux中vim编辑器 每个人都喜欢Vim(除了Dvorak和Emacs用户). Vim非常流行,以至于整个Web浏览器都致力于通过Vim键盘绑定,流行的Zsh终端仿真器中的Vim模式甚至文本编辑器 ...

  2. Linux中vim编辑器保存退出命令

    Linux中vim编辑器保存退出命令 进入vim编辑器,输入 i 进入编辑状态 按esc退出编辑 常用的保存退出命令如下: 1.:w(保存编辑的文件内容,但不退出vim编辑器) 2.:w!(强制写文件 ...

  3. Linux 中vim编辑器学习笔记

    vim是Linux是非常常用的编辑器,也是编程开发中的神器之一.接下来,是我学习vim编辑器的一些笔记,总结如下: 首先:我们接触的vim编辑器一共有三种模式,分别为命令模式.编辑模式.末行模式. 具 ...

  4. Linux中vim编辑器的缩进的功能键

    vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护. 可以采用多种方式达到缩进的目的: 1) 命令模式(command mode) 2) Visual模式(visual mo ...

  5. Linux 中 vim编辑器如何跳转到指定的列、如何跳转到行首或者行尾、左右跳转

    1.跳转到首行(文件的第一行第一列) gg # 输入两个小写gg 2.跳转到末行(文件的最后一行第一列) G #输入一个大写G 3.跳转到指定的第n行 66gg 66G # 输入 ngg 或 nG, ...

  6. linux下vim编辑器插件,为你介绍Linux系统中vim编辑器的实用插件!

    今天小编要跟大家分享的文章是关于Linux系统中vim编辑器的实用插件.Vim 是 Linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门. Linu ...

  7. Linux的vim编辑器中的翻页命令

    当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:    Ctrl + f 键   f 的英文全拼为:forw ...

  8. linux中命令的基本操作(补上篇)

    linux中命令的基本操作(补上篇) 创建和删除 ①.touch 创建文件命令 创建文件或修改文件时间 如果文件 不存在,可以创建一个空白文件 如果文件 已经存在,可以修改文件的末次修改日期 ②.mk ...

  9. Linux中 vim 实现代码补全

    Linux中 vim 实现代码补全 vim 中代码补全 步骤1:判断 步骤2:安装 `OmniCppComplete` 步骤3: 步骤4:些许其他操作 结果 利用 Tab 键进行补全 vim 中代码补 ...

最新文章

  1. 在Win 2003中配置ASP.net环境
  2. 不使用梯度裁剪和使用梯度裁剪的对比(tensorflow)
  3. java/php/c#版rsa签名以及java验签实现--转
  4. httpd2.2的配置文件常见设置
  5. zookeeper springboot_摊牌了!我要手写一个“Spring Boot”
  6. python读取csv文件_Hello,Python!小鲸教你Python之文件读取
  7. hackathon活动复盘
  8. 人脸识别门禁系统java实现_java实现人脸识别源码【含测试效果图】——前台显示层(index.jsp)...
  9. 数据结构_十字链表(C语言)
  10. MySQL数据库通过data文件夹恢复数据库信息
  11. 计算机视觉及色彩空间RGB,HSV,HLS,Lab,LMS,XYZ,CMYK
  12. MATLAB 学习笔记(6)MATLAB 的 upsample 函数和 downsample 函数
  13. crx什么意思_CRX文件怎么打开-CRX是什么格式-CRX文件是什么意思-腾牛网
  14. 轻松输入并注音生僻字
  15. 经纬度坐标转换到平面坐标
  16. 一元二次不等式和一元三次不等式解法的思考
  17. 笔记:springboot-admin 整合spring security应用注册失败问题
  18. android studio 自定义控件
  19. 胡润百富今日发布《2020胡润中国最具影响力财经媒体榜》的阅读感受
  20. Firefox+FireBug+YSlow搭建测试web前端性能

热门文章

  1. 【python】math.pow(),pow() 和 **进行指数运算的问题
  2. 【★★★★★ 第6章 图总结笔记 2022 9.13】
  3. 基于KMP算法的字符匹配问题
  4. 【FFH】OpenHarmony啃论文成长计划---JSON-RPC
  5. 中投民生:今日A股大面积飘绿;注册制独领风骚
  6. 共享雨伞,”雨“你共享——宁德“伞之缘”共享雨伞自助售货一体机上线啦!内附使用攻略~
  7. java我的世界1.7.2怎么下载模组,我的世界1.7.2模组大全整合包游戏
  8. oracle 10g clusterware,OracleClusterware10g/11g进程详解
  9. linux 用户配额设置,Linux系统edquota命令:修改用户(群组)的磁盘配额
  10. 时间序列分析:AR(p),MA(q)