【Linux】中默认文本编辑器 vim 的入门与进阶
Linux 基本操作 vim 篇
vim 简介
vim 是 Linux 上最基本的文本编辑工具,其地位像是 Windows 自带的记事本工具,还要少数的 Linux 系统自带 leafpad 编辑器,leafpad 的操作界面更像是 Win 的记事本,可以使用鼠标切换光标,自由删除,并且点击左上角的文件可以进行保存;但是 vim 编辑器却像是一个简单的指令工具,其操作必须依靠指令来完成,但是如果不会使用 vim 的话,是无法完成很多操作的,甚至对大多数只集成了 vim 的系统来说,不会使用 vim ,甚至无法安装 leafpad ,而在 Linux 系统中,刚装完的系统(国产系统除外)一定要进行换源,这时候就要使用到一个编辑器工具,如果你的系统只有 vim,最好还是学习一下如何使用 vim;
vim 三种模式
- 只读模式:使用 vim 打开文件为 只读模式,此时只可以查看文件内容,无法对文件进行编辑;
- 插入模式:即 编辑模式 ,此时可以对文件进行编辑,字符的插入或删除等操作;
- 底行模式:类似于终端的命令行,此时可以输入命令,选择是保存文件 / 保存并退出 / 不保存退出 / 强制退出 等;
vim 基本命令
基本的编辑命令,学会后可以流畅操作 vim 编辑器;
在进入 vim 之前,建议使用:sudo su 命令进入超级管理员模式,否则一些系统级的文件即使你编辑了,也无法进行保存;
打开文件:打开控制终端,输入 vim + 一个文本的名字,就可以打开这个文本(打开当前目录下的文件只需要输入文件名,打开其他目录下的文件需要输入绝对地址);这个时候是“只读”模式,无法对文件进行编辑;
编辑命令:进入文件之后,点击
i(insert 缩写),进入编辑模式,这个时候可以自使用上下左右四个键控制光标,使用删除键删除,或输入任意字符;底行模式:对文件编辑好之后,点一下
Esc键,进入底行模式,此时可以输入命令选择对文件的操作,基本命令如下(注:以冒号开头):
| 指令 | 效果 | 备注 |
|---|---|---|
| :wq | 保存 并 退出 | 保存文件并退出文件,返回到命令终端界面; |
| :q | 退出 | 不保存,直接退出文件,返回到命令终端界面; |
| :q! | 强制退出 | 提示无法保存的时候,加!可以强制退出文件,此时的文件缓存在内存中,并不会存回磁盘中; |
| :wq! | 强制保存并退出 | 此时文件会被强制保存,并退出回到命令终端; |
vim 进阶命令
进阶指令,学会后操作更方便,相当于魔法加成;
- 光标控制
| 指令 | 效果 | 备注 |
|---|---|---|
| :num | 让光标跳到第 Xnum行首 | 只会跳到行首 |
| :nd | 删除第 n 行 | d:delete |
| :n , md | 从第 n 行删到第 m 行 | m 不能超过最后一行,否则提示无效 |
- 快速复制粘贴
| 指令 | 效果 | 备注 |
|---|---|---|
| :n,my | 复制第 n 行到 m 行的内容 | 按 p 粘贴(Paste) |
| :n,md | 剪切第 n 行到 m 行的内容 | 按 p 粘贴(Paste) |
- 文本编辑(效果类似于各类编辑器的“编辑”功能)
| 指令 | 效果 | 备注 |
|---|---|---|
| :%s#old#new#g | 全局替换 | g:全局 ;#不是代替空格用的,不可以删除; |
| :num s#old#new#g | 在第 num 行查找old并将其替换成new | 相对于上一条命令,加了一个范围:某一行; |
| :n , m s#old#new#g | 在第 n 到 m 行查找old并将其替换成new | 相对于上一条命令,扩大了范围,多行;- |
- 文件操作
| 指令 | 效果 | 备注 |
|---|---|---|
| vsp xxx.c | 左右分屏打开 xxx.c 文件 | 分屏应该很常见了,可以理解吧 |
| sp xxx.c | 上下分屏打开 xxx.c 文件 | |
| :w new xxx.c | 将当前文件另存为 xxx.c 文件 | 可以使用绝对地址 |
| :n ,mw new xxx.c | 将当前文件的第 n 到 m 行另存为 xxx.c 文件 | 使用时候注意不要少了 w |
| :0r /etc/hosts | 将/etc/hosts文件中的内容导入到此文件的开头 | |
| :$r /etc/hosts | 将/etc/hosts文件中的内容导入到此文件的结尾 |
- 搜索内容
| 指令 | 效果 | 备注 |
|---|---|---|
| /word | 在文件中搜索word这个单词 |
|
| n | 向下查找(下一个) | |
| N | 向上查找(上一个) | |
| /word\c | 忽略大小写,在文件中搜索word这个单词 |
|
| :noh | 取消高亮 | 退出“查找模式” |
注意事项
- vim 可以打开任意模式文件,不一定非得是
.c文件 - 打开 / 另存为 的时候 最好加上绝对地址
- $ 符号一般指最后( 行 / 字母 )
【Linux】中默认文本编辑器 vim 的入门与进阶的更多相关文章
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...
- 设置ISE/vivado中默认文本编辑器为gvim
ise windows版,添加方式 ISE下点击菜单Edit -> Preferences -> Editor. 在Editor选项框里选择Custom,在Command line syn ...
- Linux中的代码编辑器vim
Vim的三种工作模式 命令行模式 插入模式 底行模式 Vim 的命令行模式 命令行模式是进入vim后的初始模式,在该模式下主要是使用方向键来移动光标的位置,并通过相应的命令来进行文字的编辑. 切换方法 ...
- linux 学习5 文本编辑器 vim
vim 没有菜单,只有命令 //root用户既可以用vi,也可以用vim, 无实质性区别,vim是vi的升级版//粘贴用shift+insert , 要在insert模式下粘贴,否则粘贴不全// ^ ...
- WordPress中默认文本编辑器替换成百度UEditor编辑器
1.下载 下载地址: http://pan.baidu.com/s/1geNk19L 2.解压放到plugins目录下 3.插件启用
- Linux文本文件——文本编辑器Vim
Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
- LINUX文件内容处理及文本编辑器vim
Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
随机推荐
- MySQL索引(一)索引基础
索引是数据库系统里面最重要的概念之一.一句话简单来说,索引的出现其实是为了提高数据查询的效率,就像书的目录一样. 常见模型 索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,这里就介绍三种常 ...
- 第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化
一. 引言 前面两节介绍的字符串格式化方法,都有其本身对应的缺陷,老猿不建议大家使用,之所以详细介绍主要是考虑历史代码的兼容性,方便大家理解前人留下的代码.老猿推荐大家新编码时使用format方 ...
- 测试点常用用例设计(登录、修改密码、输入框、上传视频、XSS、URL篡改)
1.无效-视频文件测试点: 视频大小过大 视频大小过小 视频名称过长 视频名称包含特殊字符 视频名称包含中文.中英混合 视频文件格式错误 视频文件重复性上传 2.有效-视频文件测试点: 选择符合要求的 ...
- 【题解】P3631 [APIO2011]方格染色
很有意思的一道题,所以单独拿出来了. 完整分享看 这里 题目链接 luogu 题意 有一个包含 \(n \times m\) 个方格的表格.要将其中的每个方格都染成红色或蓝色.表格中每个 \(2 \t ...
- CF1327F AND Segments
链接 Description 要求构造满足下列条件的长度为 \(n\) 的序列 \(a\) 的个数: 每个数值域在 \([0, 2 ^ k)\) \(m\) 个限制条件 \(l, r, x\),需要满 ...
- 题解-[国家集训队]Crash的数字表格 / JZPTAB
题解-[国家集训队]Crash的数字表格 / JZPTAB 前置知识: 莫比乌斯反演 </> [国家集训队]Crash的数字表格 / JZPTAB 单组测试数据,给定 \(n,m\) ,求 ...
- js中的bind、apply、call、callee、caller的区别
1.bind.apply与call的区别与使用 相同点:2者是函数原型的一个方法,因此调用者都必须是函数,第1个参数都是对象.作用是,用另一个对象替换当前对象,另一对象也即是你传的第一个参数.通常用于 ...
- vscode vue快速新建模板
vscode 文件=>首选项 =>用户代码片段 =>新建全局代码片段 { "Print to console": { " ...
- 近期一些使用MATLAB常用的代码
背景 最近处理行为学数据和fMRI数据,主要使用MATLAB.有一些常用的代码被自己重复使用,所以在此记录,以便于随时调取使用. 1.PVT原生mat文件→txt文件 遇到在处理一些被试的PVT数据时 ...
- Spring Cloud Ribbon之URL重构(三)
接着前面的说,前两篇中分析了解析和动态服务列表的获取,这两步完成后那接下来要做的事就是重组解析后的URL路径和发起通信了,这一步完成应该是在前面分析的RibbonLoadBalancerClient. ...