第4章 文本编辑器vim
1. vim常用操作
1.1 vim简介
(1)vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
(2)vim没有菜单,只有命令。
(3)vim编辑器的安装
①所需的4个安装包vim-filesystem、vim-common、vim-enhanced、vim-minimal
②查看本机己经存在的包:#rpm –qa | grep vim
③安装vim编辑器:yum –y install vim*
1.2 vim编辑器的设置
(1)修改配置文件 /etc/vimrc或#~/.vimrc
①按C语言语法自动调整缩进:set cindent,如按{,再换行会自动缩进
②自动缩进: set autoindent
③加行号:set nu
④tab缩进4个字符:set tabstop=4
(2)多文件并发操作(主要用于不同文件中进行复制、粘贴操作)
①同时打开多个文件:#vim test1.c test2.c test3.c
②末行模式下,查看打开的文件: :args,然后会在下方显示,[test1.c] test2.c test3.c,其中加[]的文件表示当前正在编辑的文件
③切换到其它文件: :first、:next、:prev、:last
1.3 vim的工作模式
(1)3种工作模式及切换

(2)基础编辑
①插入命令
|
命令 |
作用 |
|
a |
在光标所在字符后插入 |
|
A |
在光标所在行尾插入 |
|
i |
在光标所在字符前插入 |
|
I |
在光标所在行首插入 |
|
o |
在光标下插入新行 |
|
O |
在光标上插入新行 |
|
s |
删除光旨定的字符并进入插入模式 |
|
S |
将光标所在行清除(内容)并进入插入模式 |
②定位命令
|
命令 |
作用 |
|
:set nu |
设置行号 |
|
:set nonu |
取消行号 |
|
gg |
到第一行 |
|
G |
到最后一行 |
|
nG (n go) |
到第n行 |
|
:n |
到第n行 |
|
$ |
移到行尾 |
|
0(数字0) |
移动行首 |
③删除命令
|
命令 |
作用 |
|
x |
删除光标所在处字符 |
|
nx |
删除光标所在处后n个字符 |
|
dd |
删除光标所在行,ndd删除n行 |
|
dG |
删除光标所在行到文件末尾内容 |
|
D |
删除光标所在处到行尾内容 |
|
:n1,n2d |
删除指定范围的行 |
④复制和剪切命令
|
命令 |
作用 |
|
yy |
复制当前行 |
|
nyy |
复制当前行以下n行 |
|
dd |
剪切当前行 |
|
ndd |
剪切当前行以下n行 |
|
D |
删除光标所在处到行尾内容 |
|
p、P |
粘贴在当前光标所在行下或行上 |
⑤替换和撤消命令
|
命令 |
作用 |
|
r |
取代光标所在处字符 |
|
R |
从光标所在处开始替换字符,直到按ESC结束 |
|
u |
取消上一步操作 |
|
Ctrl+R |
重做操作 |
⑥搜索和搜索替换命令
|
命令 |
作用 |
|
/string ?string |
搜索向前(或向后)指定字符串,/向前,?表示向后查找。 忽略大小写:set /ic |
|
n |
搜索指定字符串的下一个出现位置 |
|
:%s/old/new/g |
全文替换指定字符串,s前面加%,表示全文范围,g表示global,如果不加%表示当前行。 |
|
:n1,n2s/old/new/g |
s前面加数字,表示在指定范围的行内替换指定字符串 |
⑦保存和退出命令
|
命令 |
作用 |
|
:w |
只保存,不退出 |
|
:w new_filename |
另存为指定文件 |
|
:wq |
保存修改并退出 |
|
ZZ |
快捷键(shift+z+z),保存修改并退出 |
|
:q! |
不保存修改退出 |
|
:wq! |
强行保存修改并退出(文件所有者及root可使用,针对文件只有只读权限的情况!) |
2. vim使用技巧
(1)末行模式下执行命令:格式,!命令
如,:!ls -l /etc,:!date
(2)导入命令执行结果
①导入命令执行结果: #r !命令, eg.#r !ll /tmp
②导入文件到光标所在位置:#r 文件名,eg.#r /etc/issue
(3)定义快捷键:map 快捷键 触发命令
① 注释一行::map ^p I#<ESC> //定义ctrl+p为I表示光标回到行首并进入插入模式,然后输入#,最后按ESC返回命令模式(注意,其中的^P在输入时应按ctrl+v+p)。
②删除注释::map ^B 0x //ctrl+B,0表示光标定位到行首,但仍在命令模式下,x表示删除光标下的字符。
③插入邮箱地址::map ^m isample@126.com<ESC> //ctrl+m,其中i表示进入插入模式,<ESC>返回命令模式。
④在插入模式下,连续按两下”jj“用来替换ESC返回命令模式::imap jj <ESC>: //也可以写入/etc/vimrc永久生效!(或定义ctrl+i::imap <C-I> <ESC>:)
(4)连续行注释
①注释连续行: :n1,n2s/^/#/g //其中^表示行首,后面什么都不写表示空字符,替换为#
②删除连续行注释::n1,n2s/^#//g //将#替换为空,第3个/后面什么都不写表示空字符。
③以//来注释: :n1,n2s/^/\/\//g //其中\表示转义,即转为//。原意,将行首的空字符转为//,起到注释作用。
(5)替换: :ab mymail sample@126.com //ab命令,用mymail替换sample@126.com
第4章 文本编辑器vim的更多相关文章
- Linux基础学习(5)--文本编辑器Vim
第五章——文本编辑器Vim 一. Vim常用操作 1.Vim简介: Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑. ...
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
- LINUX文件内容处理及文本编辑器vim
Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
- 文本编辑器vim和gedit
vim和gedit都是文本编辑器 vim用法: vim 文件名 #打开文件 输入 i,进入文本编辑模式,编辑完再按ESC,退出编辑模式,再输:wq,保存退出:如果输:q!则是不保存退出,很简单.. 如 ...
- Linux 文本编辑器 vim
第五讲 文本编辑器 vim
- Linux文本文件——文本编辑器Vim
Linux文本文件——文本编辑器Vim 摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本. 什么是Vim Vim是一个基于文本界面的编辑工具,使用简单且功能强大.更重要的是,Vim是所 ...
- 文本编辑器VIM/VI
vim/vi 功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org 构建shell脚本 :set number 使文件出现行号 a 光标后附件文件 i在光标前插入文 ...
随机推荐
- 背水一战 Windows 10 (26) - XAML: x:DeferLoadStrategy, x:Null
[源码下载] 背水一战 Windows 10 (26) - XAML: x:DeferLoadStrategy, x:Null 作者:webabcd 介绍背水一战 Windows 10 之 XAML ...
- Overload 和Override 的区别
Overload 是重载的意思,Override 是覆盖的意思,也就是重写.重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同).重写 ...
- oracle触发器详解
触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 1.触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和 ...
- C++_系列自学课程_第_3_课_变量和基本类型_《C++ Primer 第四版》
最近复习C++相关内容,决定在这里记录自己复习的过程. 以前写过部分文字,但是没有坚持连续写,因此学完后 基本又忘光啦,主要是没有实践,这一次决定自学完后,在这里在复习一遍增强自己的记忆和理解程度. ...
- spice server dpkg-buildpackage 打包编译备忘
一般我们会通过configure,make 编译.但是为了替换版本的方便需要把他编译成deb的包,而且还需要自定义下包名.下面就记录下我的修改过程. 注:前面关于spice server的编译过程掠过 ...
- Java--正则表达式-简单的在字符串中找数字
import org.junit.Test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ...
- PHP 小数点保留两位
最近在做统计这一块内容,接触关于数字的数据比较多, 用到了三个函数来是 数字保留小数后 N 位: 接下来简单的介绍一下三个函数: 1.number_format echo number_format( ...
- jQuery AutoComplete 自动补全
jQuery.AutoComplete是一个基于jQuery的自动补全插件.借助于jQuery优秀的跨浏览器特性,可以兼容Chrome/IE/Firefox/Opera/Safari等多种浏览器. 特 ...
- 分享20个最新的免费 UI 设计素材给设计师
用户界面设计涉及到很多的创意,灵感以及需要与客户进行有效沟通的技能.良好的用户界面是一致的,可以使网站更容易理解和使用.UI设计的重点在于用户体验和互动,同时易于使用对于一个成功的移动应用程序来说非常 ...
- [deviceone开发]-小草用户分享的Listview停靠的示例
一.简介 这个例子展示了Listview的多模板,上拉下拉功能,也实现了上下滑动第二行工具栏的停靠功能,值得参考 二.效果图 三.相关下载 https://github.com/do-project/ ...