Linux中vim编辑器基本操作就这么简单
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编辑器基本操作就这么简单相关推荐
- linux中vim编辑器_为什么Vim爱好者喜欢Herbstluftwm Linux窗口管理器
linux中vim编辑器 每个人都喜欢Vim(除了Dvorak和Emacs用户). Vim非常流行,以至于整个Web浏览器都致力于通过Vim键盘绑定,流行的Zsh终端仿真器中的Vim模式甚至文本编辑器 ...
- Linux中vim编辑器保存退出命令
Linux中vim编辑器保存退出命令 进入vim编辑器,输入 i 进入编辑状态 按esc退出编辑 常用的保存退出命令如下: 1.:w(保存编辑的文件内容,但不退出vim编辑器) 2.:w!(强制写文件 ...
- Linux 中vim编辑器学习笔记
vim是Linux是非常常用的编辑器,也是编程开发中的神器之一.接下来,是我学习vim编辑器的一些笔记,总结如下: 首先:我们接触的vim编辑器一共有三种模式,分别为命令模式.编辑模式.末行模式. 具 ...
- Linux中vim编辑器的缩进的功能键
vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护. 可以采用多种方式达到缩进的目的: 1) 命令模式(command mode) 2) Visual模式(visual mo ...
- Linux 中 vim编辑器如何跳转到指定的列、如何跳转到行首或者行尾、左右跳转
1.跳转到首行(文件的第一行第一列) gg # 输入两个小写gg 2.跳转到末行(文件的最后一行第一列) G #输入一个大写G 3.跳转到指定的第n行 66gg 66G # 输入 ngg 或 nG, ...
- linux下vim编辑器插件,为你介绍Linux系统中vim编辑器的实用插件!
今天小编要跟大家分享的文章是关于Linux系统中vim编辑器的实用插件.Vim 是 Linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门. Linu ...
- Linux的vim编辑器中的翻页命令
当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为: Ctrl + f 键 f 的英文全拼为:forw ...
- linux中命令的基本操作(补上篇)
linux中命令的基本操作(补上篇) 创建和删除 ①.touch 创建文件命令 创建文件或修改文件时间 如果文件 不存在,可以创建一个空白文件 如果文件 已经存在,可以修改文件的末次修改日期 ②.mk ...
- Linux中 vim 实现代码补全
Linux中 vim 实现代码补全 vim 中代码补全 步骤1:判断 步骤2:安装 `OmniCppComplete` 步骤3: 步骤4:些许其他操作 结果 利用 Tab 键进行补全 vim 中代码补 ...
最新文章
- 在Win 2003中配置ASP.net环境
- 不使用梯度裁剪和使用梯度裁剪的对比(tensorflow)
- java/php/c#版rsa签名以及java验签实现--转
- httpd2.2的配置文件常见设置
- zookeeper springboot_摊牌了!我要手写一个“Spring Boot”
- python读取csv文件_Hello,Python!小鲸教你Python之文件读取
- hackathon活动复盘
- 人脸识别门禁系统java实现_java实现人脸识别源码【含测试效果图】——前台显示层(index.jsp)...
- 数据结构_十字链表(C语言)
- MySQL数据库通过data文件夹恢复数据库信息
- 计算机视觉及色彩空间RGB,HSV,HLS,Lab,LMS,XYZ,CMYK
- MATLAB 学习笔记(6)MATLAB 的 upsample 函数和 downsample 函数
- crx什么意思_CRX文件怎么打开-CRX是什么格式-CRX文件是什么意思-腾牛网
- 轻松输入并注音生僻字
- 经纬度坐标转换到平面坐标
- 一元二次不等式和一元三次不等式解法的思考
- 笔记:springboot-admin 整合spring security应用注册失败问题
- android studio 自定义控件
- 胡润百富今日发布《2020胡润中国最具影响力财经媒体榜》的阅读感受
- Firefox+FireBug+YSlow搭建测试web前端性能
热门文章
- 【python】math.pow(),pow() 和 **进行指数运算的问题
- 【★★★★★ 第6章 图总结笔记 2022 9.13】
- 基于KMP算法的字符匹配问题
- 【FFH】OpenHarmony啃论文成长计划---JSON-RPC
- 中投民生:今日A股大面积飘绿;注册制独领风骚
- 共享雨伞,”雨“你共享——宁德“伞之缘”共享雨伞自助售货一体机上线啦!内附使用攻略~
- java我的世界1.7.2怎么下载模组,我的世界1.7.2模组大全整合包游戏
- oracle 10g clusterware,OracleClusterware10g/11g进程详解
- linux 用户配额设置,Linux系统edquota命令:修改用户(群组)的磁盘配额
- 时间序列分析:AR(p),MA(q)