Linux学习笔记(10)文本编辑器vim

vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix最常用的文本编辑器,其作用是建立、编辑、显示文本文件。vim的特点是没有菜单,只有命令。

vim主要有三种工作模式,分别为命令模式、插入模式、编辑模式。三者的关系可由下图来表示:

1 vim常用操作

(1)插入命令


命令


作用


a


在光标所在字符后插入


A


在光标所在行尾插入


i


在光标所在字符前插入


I


在光标所在行首插入


o


在光标下插入新行


O


在光标上插入新行

(2)定位命令


命令


作用


:set nu


设置行号


:set nonu


取消行号


gg


到第一行


G


到最后一行


nG


到第n行


:n


到第n行


$


移至行尾


0


移至行首

(3)删除命令


命令


作用


x


删除光标所在处字符


nx


删除光标所在处后n个字符


dd


删除光标所在行


dG


删除光标所在行到文件末尾内容


ndd


删除光标所在行后n行(包括当前行)


D


删除光标所在处到行尾内容


:n1,n2d


删除指定范围行

(4)复制和剪切命令


命令


作用


yy


复制当前行


nyy


复制当前行以下n行(包括当前行)


dd


剪切当前行


ndd


剪切当前行以下n行(包括当前行)


p,P


粘贴在当前光标所在行下或行上

(5)替换和取消命令


命令


作用


r


取代光标所在处字符


R


从光标所在处开始替换字符,按ESC结束


u


取消上一步操作

(6)搜索和搜索替换命令


命令


作用


/string


搜索指定字符串,搜索时忽略大小写:set ic,取消忽略:set noic


n


搜索指定字符串的下一个出现位置


:%s/old/new/g


全文替换指定字符串


:n1,n2s/old/new/g


在一定范围内替换指定字符串

其中g表示不询问确认,如果是c的话表示询问确认

(7)保存和退出命令


命令


作用


:w


保存修改


:w new_filename


另存为指定文件


:wq


保存修改并退出


ZZ


快捷键,保存修改并退出


:q!


不保存修改并退出


:wq!


保存修改并退出(文件所有者和root可使用)

2. vim的使用技巧

(1)将一个文件的内容导入到文本文件中,其格式为:

:r 文件名

例:创建test文本,写入如下内容,将/etc/issue的内容复制到test文本中

[[email protected] ~]# vi test

I am ws.

What‘s your name?

My name is LiMing

I am glad to see you.

在最后一行的下一行插入issue的内容,在命令模式下输入:r /etc/issue,可得:

I am ws.

What‘s your name?

My name is LiMing

I am glad to see you!

CentOS release 6.5 (Final)

Kernel \r on an \m

(2)在不退出vim的情况下,执行相应的操作命令,其格式为:

:!命令

例:如在命令模式下执行ls命令

I am glad to see you!

CentOS release 6.5 (Final)

Kernel \r on an \m

:!ls

[No write since last change]

anaconda-ks.cfg  install.log  install.log.syslog

(3)导入命令执行结果,相当于将前两者进行综合,其格式为:

:r !命令

例:在test的文本末尾添加日期,在命令模式下输入:r !date,其结果为:

I am ws.

What‘s your name?

My name is LiMing

I am glad to see you!

CentOS release 6.5 (Final)

Kernel \r on an \m

Fri Jan  2 06:00:55 CST 2015

(4)定义快捷键

可以为常用的命令定义快捷键,其格式为:

map 快捷键 触发命令

注:快捷键的创建需要同时按下Ctrl+v+创建快捷键的字母

例1:创建一个快捷键,可使在行首加入注释符#,只需在命令模式下输入:map ^P I#<ESC>,其中^P为Ctrl+v+p同时按下后的显示,I#即为行首插入注释符#,<ESC>表示退出编辑模式到命令模式。

然后在第一行执行Ctrl+p,即可得到如下结果:

#I am ws.

What‘s your name?

My name is LiMing

I am glad to see you!

CentOS release 6.5 (Final)

Kernel \r on an \m

Fri Jan  2 06:00:55 CST 2015

例2:创建删除行首注释符#的快捷键,在命令模式下输入:map ^B 0x。

例3:在当前光标下为邮箱创建快捷键,在命令模式下输入如下命令:

:map ^H [email protected]

(5)连续注释行,该命令与搜索替换命令1.(6)类似。如在连续多行添加注释符#,在命令模式下输入如下命令:

:n1,n2s/^/#/g

其中^表示行首

相对的,取消连续行注释可以在命令模式下输入如下命令:

:n1,n2s/^#//g

如果以"//"表示注释符的话,则连续注释行可在命令模式下输入如下命令:

:n1,n2s/^/\/\//g

其中"\"表示转义字符。

例:在test文本中的前两行加入//注释符:

//I am ws.

//What‘s your name?

My name is LiMing

I am glad to see you!

CentOS release 6.5 (Final)

Kernel \r on an \m

Fri Jan  2 06:00:55 CST 2015

(6)替换

在文本文件中,可以将一个字符串替换为另一个字符串,如将mail替换为[email protected],其命令格式为:

:ab  mail [email protected]

然后在文本中写入mail,按空格或Enter键则mail自动替换为[email protected]。

通常设置的快捷键或替换在系统重启时会消失,如果想长时间的保存快捷键的定义或替换等,可以在每个用户的家目录(如root在/root,用户在/home/用户)下写入配置文件.vimrc(root下如/root/.vimrc),然后在该配置文件中编辑模式下写入所需要的命令,且行首无需加冒号(:)。

时间: 2024-08-02 15:12:59

Linux学习笔记(10)文本编辑器vim的相关文章

Linux学习笔记033_8文本处理

less: 一次显示不完是可以向上(n),向下翻页(N),并且可以查找:/keyword,v进入编辑器 cat: 一次显示完文本内容 more: 回车向下翻一行,空格向下翻一页,但是不能向上翻页 nl: 显示行号的输出 head: 显示文件的前10行 head -n 15 a: 显示文件a的前15行 tail: 显示文件的最后10行 tail -n 15 a: 显示文件a的后15行 :查看日志的最后10行 :实时显示最后10行,如果没有-f则为静态 :提取11到20行保存在文件中 grep:(正

Linux学习笔记之VI(VIM)编辑器

百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi 文件名   就会进入vi,并且建立了一个空的名字为刚才输入的文件,假如进入vi的时候不加文件名,那么进入vi后系统会自动建立一个空文件,你可以在命令模式下给这个文件改名. 退出:按ESC切换到命令模式下,输入 :q   这是没有保存就退出,一般系统会提示你要不要保存 :q!  强制退出,不保存 :w

linux学习笔记之文本处理

文本处理器    字处理软件    word vi(visual interface)    vim (vi improved) Emacs    小型机上多用   可打开网页  功能强大 vim 主要在linux 模式化编辑器 输入模式(插入模式) 命令模式(编辑模式,复制粘贴等) 末行模式(最下方一行命令操作) vim打开文件 vim file vim +n file     打开文件,光标定位到第n行 vim +/PATTERN    FILE vim +/ab file     打开文件

linux学习笔记十三:安装vim

1.一般可用yum install vim* 2.在RHEL5.8下,则去vim官网下载了vim-7.4.tar.bz2(unix版),然后再编译安装.有一点需注意:编译时要带参数,否则报错. ./configure--prefix=/usr/local --enable-multibyte --with-features=big --disable-selinux 如果make时提示缺少ncurses,则需先安装ncurses-devel-5.5-24.20060715.x86_64.rpm,

Linux学习笔记(十七) vim

一.vim介绍vim是vi的升级版是带有颜色显示的vi分为一般模式.编辑模式.命令模式.yum install -y vim-enhanced安装vim安装完成之后使用vim打开passwdvim /etc/passwd和之前用vi打开有明显的区别,vim带有颜色显示,二.vim颜色显示和移动光标将/etc/passwd 移动到/tmp下vim /tmp/passwd发现并没有颜色显示vim的颜色显示与文件的路径,文件内容有关vim /etc/vimrc可以编辑vim的配置文件,首先我们找一个文

Linux学习笔记10——管道和重定义

计算机的组成有:运算器,控制器,存储器,输入输出设备.于是就有了地址总线,数据总线,控制总线.事实上在机器里面总线是复用的,一个总线三种功能.地址总线:内存寻址数据总线:传输数据控制总结:控制指令 寄存器:CPU暂时存储器 程序在运行时要从输入设备获取指令,通过输出设备输出作为人机交互.那么系统在什么地方获取输入输出键盘鼠标硬盘还是哪里?那么系统就需要设定默认的输入输出. 系统设定 默认输出设备:标准输出,STDOUT, 1(1为描述符号) 默认输入设备:标准输入, STDIN, 0 标准错误输

Linux学习笔记10

创建文件 touch touch filenames 创建文件夹 mkdir mkdir dir3 dir4 dir5 建立多个文件夹 mkdir ~/games  在登录用户的本目录之下建立games文件夹 mkdir -p dir6/dir7/dir8 建立多层文件夹 复制  复制文件夹 例如     -->tomcat    源文件夹待拷贝   |  其他 |   文件夹 |    tomcat_2   目的文件夹  空文件夹 步骤 #cd tomcat 进入tomcat文件夹 #cp -

Linux学习笔记10——文件I/O之一

UNIX系统中的大多数文件I/O只需要用到5个函数:open,read,write,lseek以及close 文件描述符 文件描述符是一个非负整数,所有打开的文件都通过文件描述符引用 文件描述符的变化范围是0-OPEN_MAX,OPEN_MAX是每个进程最多打开的文件 1.open函数 #include<fcntl.h> int open(const char* pathname, int flag, mode_t mode ); //若成功则返回文件描述符,若出错则返回-1 flag打开方式

[Linux学习笔记] Linux文本编辑器Vim/Vi

文本编辑器Vim: Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器. 它的作用是建立.编辑.显示文本文件. Vim/Vi没有菜单,只有命令. 插入命令 命令 作用 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入文本 I 在本行开始插入文本 o 在光标下插入新行 O 在光标上插入新行 定位命令 命令 作用 h 方向左键. 左移一个字符 j 方向下键. 下移一行 k 方向上键. 上移一行 l 方向右键. 右移一个字符 $ 移至行尾 0 移至行

linux学习笔记--vim程序编辑器

1,在linux系统中使用文本编辑器来编辑自己的linux参数配置文件是一件很重要的事情,因此系统管理员至少应该要熟悉一种文本编辑器. 2,不同的linux distribution各有不同的附加软件,linux命令行界面下的文本编辑器有Emacs,pico,nano,joe与vim 3,学习vim的重要性 (1)所有的UNIX Like系统都内置vi文本编辑器,其他的文本编辑器不一定存在 (2)很多软件的编辑接口都会主动调用vi (3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确