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的更多相关文章

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

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

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

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

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

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

  4. Linux文本编辑器vim

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

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

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

  6. 文本编辑器vim和gedit

    vim和gedit都是文本编辑器 vim用法: vim 文件名 #打开文件 输入 i,进入文本编辑模式,编辑完再按ESC,退出编辑模式,再输:wq,保存退出:如果输:q!则是不保存退出,很简单.. 如 ...

  7. Linux 文本编辑器 vim

    第五讲 文本编辑器 vim

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

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

  9. 文本编辑器VIM/VI

    vim/vi  功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org  构建shell脚本 :set number 使文件出现行号 a 光标后附件文件     i在光标前插入文 ...

随机推荐

  1. poj1789--最小生成树(prim)

    水题... 题目大意: 用一个7位的字符串代表一个编号,两个编号之间的distance代表这两个编号之间不同字母的个数.一个编号只能由另一个编号“衍生”出来,代价是这两个编号之间相应的distance ...

  2. php strtotime 在32位操作系统下的限制

    php strtotime 在32位操作系统下的限制 <?php class DateHelper{ /** * 在32位操作系统下,超过 2038-01-19 03:14:07 ,会溢出 * ...

  3. SSH输入错误Action

    在类型转化.输入验证校验 .文件上传等出错的时候,如Action中某个变量是int,而上传的值是"ABC",此时Action不会执行execute()函数,而是直接返回result ...

  4. ASP.NET MVC搭建项目后台UI框架—7、统计报表

    ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET M ...

  5. WindowsAPI调用和OCR图片识别

    傻了吧唧的装双系统.成功的干崩了原本的系统.现在重装VS.闲的没事胡扯几句. WindowsAPI在每一台Windows系统上开放标准API供开发人员调用.功能齐全.在这里只介绍三个部分. 1.利用A ...

  6. git将本地仓库推送到远程仓库

    如何将本地仓库推送到公司远程仓库? 1:前提是你本地安装好git.先把远程git仓库克隆到本地  git clone 远程仓库的地址(SSH) 2: git  branch //查看本地分支 3: g ...

  7. 你的USB设备还安全吗?USB的安全性已从根本上被打破!

    前言: USB设备使用方便,但也可能被用来携带恶意软件.病毒,感染计算机系统.通过禁用自动播放功能.杀毒软件查杀.不定期的对设备进行格式化等操作可以确保它是干净的.但它存在的安全问题要比我们想象的更深 ...

  8. 活用UML-软件设计高手(深圳 2014年4月26-27日)

      我们将在深圳为您奉献高级技术课程”活用UML-软件设计高手“,首席专家张老师将会为您分享软件架构设计.数据库设计.用户体验设计及详细设计的最佳实践,帮助您成为优秀的软件设计师! 时间:2014.0 ...

  9. IndexOf、IndexOfAny 、Remove

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. MySQL更改数据库数据存储目录

    MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录.下文总结整理了实践过程的操作步骤. 1:确认MySQL数据库存储目 ...