vim文本编辑器:

简介:

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

基本上vi共分为三种模式,分别是『 一般模式 』、『 编辑模式 』与『 指令列命令模式 』。 这三种模式的作用分别是:

一般模式 :

以vi 打开一个档案就直接进入一般模式了(这是预设的模式)。 在这个模式中, 你可以使用『上下左右』按键来移动游标,你可以使用『删除字元』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件资料。

编辑模式 :

在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『 i, I, o, O, a, A, r, R 』等任何一个字母之后才会进入编辑模式。 注意了! 通常在Linux中,按下这些按键时,在画面的左下方会出现『 INSERT或REPLACE 』的字样,此时才可以进行编辑。 而如果要回到一般模式时,则必须要按下『 Esc 』这个按键即可退出编辑模式。

命令模式 :

在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将游标移动到最底下那一行。 在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存档、大量取代字元、离开vi 、显示行号等等的动作则是在此模式中达成的!

打开VIM的方式

# vim [options] [/path/to/somefile]

# vim filename :打开或新建文件,并将光标置于第一行首

# vim +n filename :打开文件,并将光标置于第n行首

# vim + filename :打开文件,并将光标置于最后一行首

# vim +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

# vim -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

# vim filename....filename :打开多个文件,依次进行编辑

next 打开下一个文件;

last 打开最后一个文件;

first 打开第一个文件;

prev 打开前一个文件;

-O : 垂直分割窗口  Ctrl+w --> 光标 左 右跳转文件

-o : 水平分割窗口 Ctrl+w --> 光标 上下 跳转文件

模式转换:

一般模式 --> 编辑模式:

i: insert,实现在当前光标所在处前面转换为输入模式;

a: append,实现在当前光标所在处后面转换为输入模式;

o: 实现在当前光标所在行的下方新建一个空白行并转换为输入模式;

I: 在当前光标所在行的行首转为输入模式;

A: 在当前光标所在行的行尾转为输入模式;

O: 在当前光标所在行的上方新建一行,并转为输入模式;

编辑模式 --> 一般模式:

按下Esc键;

一般模式 --> 命令模式:

键入: / ?

命令模式 --> 一般模式:

Esc,Esc

光标跳转:

字符间跳转

h: 左

l : 右

j : 下

k : 上

#h : 向左侧跳#个字符;

单词间跳转:

w : 后一个单词的词首

e : 跳当前或下一个单词词尾;

b : 跳至当前或前一个单词词首;

句子间跳转:

) : 下一句;

( : 前一句;

段落单跳转:

}: 下一段;

{: 前一段;

行间跳转:

1G,gg :

G:

#G:

行内跳转:

^ :  行首的第一个非空白字符

$,End : 行尾

0,Home : 绝对行首

关闭文件:

在命令模式下:

: w 保存

: q 退出

: ! 强制

: wq 保存退出

: q! 强制退出

: x  保存退出

: qall 退出所有编辑的文本

在一般模式下:

ZZ: 保存退出;

一般模式命令:

x : 删除单个字符

#x :删除#个字符

d: 删除命令

dw: 删除后一个单词

db: 删除前一个单词

de:

d^

d$

dd: 删除光标所在行;

#dd : 删除光标所在行向下#行 例如: 2dd

在命令模式下使用的命令

末行模式地址定界:

起始地址,结束地址

$: 最后一行;

. : 当前行

%: 全文

例:

1,7d : 删除光标所在的第1到第7个行

1,$-2d : 删除除最后两行的所有行

.,+3d : 删除当前行到下面3行

一般模式下撤销操作:

u: vim默认会最近50次的操作,u命令可逐一撤销此前的编辑操作;

撤销此前的撤销:Ctrl+r :

粘贴操作:

p :paste, put

在一般模式下删除的整行:

p: 在当前光标所在行的下方粘贴 ;

P: 在当前光标所在行的上方粘贴 ;

在一般模式下删除的字符:

p:在当前光标所在处字符的后方粘贴 :

P:在当前光标所在处字符的前方粘贴 :

复制:

y: yank

yy

#yy 例如:2yy

y$

y^

在一般模式复制的是整行:

p: 在当前光标所在行的下方粘贴 ;

P: 在当前光标所在行的上方粘贴 ;

在一般模式复制的不是整行:

p:在当前光标所在处字符的后方粘贴 :

P:在当前光标所在处字符的前方粘贴 :

翻屏:

Ctrl+f :向文件尾部翻一屏;

Ctrl+b:向文件首部翻一屏;

Ctrl+d:向文件尾部翻半屏;

Ctrl+u:向文件首部翻半屏;

文本搜索:

/keyword : 从当前光标所在处向文件尾部查找

?keyword:从当前光标所在处向文件首部查找

n:下一个,跟查找命令相同的方向

N:前一个,跟查找命令相反的方向

模式

/\

vim可视化模式

visval模式

v : 选中光标划过的字符

V : 选中光标划过的行,整行选取

Esc,Esc : 回到编辑模式

同一文档窗口分割:

Ctrl+w,s : 水平分割

Ctrl+w,v : 垂直分割

Ctrl+w, 箭头 : 跳转

q : 退出分割

vim窗口属性定义:

显示行号:

set number, set nu

set nonumber, set nonu

自动缩进

set autoindent, set ai

set noai

不区分字符大小写

set ignorecase, set ic

set noic

获取帮助:

set

显示匹配的括号:

set showwatch, set sm

set nosm

语法着色:

syntax on

syntax off

搜索高亮显示

set hlsearch

set nohlsearch

vim的配置文件:

上述的常用vim可添加到下面配置文件中,每次打开就可以很舒服的操作了

全局:/etc/vimrc

个人:~/.vimrc

查找替换:

:地址定界s/查找模式/替换成的内容/gi

:地址定界s@查找模式@替换成的内容@gi

s后的“/”可以是任意符号,要搜索的内容中没有即可。

g : global 全局

i : ignorecase 忽略大小写

例如:

全文中匹配 锚写d后面任意2个或2个以上字母后面再跟上n  如 daaan dbbn这样的内容 替换为what

: 1,$s/\/what/g

全文中匹配/dev/null 的内容 替换为/tmp/a.txt

方法一 :%s/\/dev\/null/\/tmp\/a.txt/g

方法二 :%s#/dev/null#/tmp/a.txt#g

全文中匹配 d开头后面跟任意两个字母现跟n的字符串 把开头的d 和结尾n替换成大写,例如:down替换为DowN, doon替换为DooN

%@\@D\1N@g

全文中匹配Dev 或DEV 或 dEV 或 dev的字符串后面添加ice ,例如:Device,DEVice,dEVice,device

方法一 :%s/\([dD][eE][Vv\)]/\1ice/g

方法二 :%s@\([dD][eE][Vv\)]@\1ice@g

方法三 :%s@\([dD][eE][Vv\)]@&ice@g

删除行首开头的#:

%s/^#//

删除行首开头的#及后面紧跟的空白字符:

%s@^#[[:space:]]*@@

为空白字符开头的行的行首加上#:

%s@^[[:space:]]@#&@

为当前行至再加9行以空白字符开头的行的行首加上#:

.,+9s@^[[:space:]]@#&@

删除文件中行首的空白符;

%s/^[[:space:]]*//

%s/^[[:space:]]\{1,\}//

替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;

%s/id:3:/id:5:/g

删除某文件中的空白行;

%s/^$//g

删除某文件中的开头的#号;

%s/^#//g

删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;

%s/^#[[:space:]]\{1,\}//g

为指定范围内的行的行首添加#;

1,10s@^@#@g

vim操作图片

linux撤销编辑内容,linux编辑利器vim常用操作相关推荐

  1. Linux之Vim常用操作

    Linux之Vim常用操作 Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑和显示文本文件.Vim没有菜单,只有命令. 一.插入命令 命令 作用 ...

  2. LINUX查看文件内容命令cat vi/vim more tail head的区别

    缘起 用过linux的同学应该都知道,在linux中查看文件内容有好几个命令都可以实现,包括但不限于以下这些 cat vi more tail head 那么这些命令都有什么区别呢?又分别在什么时候用 ...

  3. 清空linux当前页面内容,linux文档整理

    第一单元 #############虚拟机控制####### 1.[kiosk@foundation Desktop]$ rht-vmctl start desktop     ##开启desktop ...

  4. Linux下vim常用操作

    vim有三种模式,分别是命令模式.编辑模式和最后行模式 当我们在命令行模式中时是不可以进行文本编辑的,我们可以通过按一下几个字母中的其中一个进入编辑模式 i 插入,也就是在你光标位置的前面进行插入编辑 ...

  5. linux认证考试内容,Linux认证考试RHCE大纲

    下面是由题名考试网计算机小编为您整理发布的Linux认证考试RHCE大纲: RHCE必要的知识点 1.考生必须必须掌握以下基本技能,因为它们是RHCE考试中必考的内容 * use standard c ...

  6. linux清除文件内容 ,Linux清除文件内容的几种方法

    # 清空或删除大文件内容的五种方法: # 法一:通过重定向到 Null 来清空文件内容 $ >test.sh # 法二:使用 'true' 命令重定向来清空文件 $ true > test ...

  7. VIM 常用操作(转载)

    vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个"纯字符"模式下的工具,它的操作和WINDOWS中的文本编辑工具 ...

  8. vim常用操作技巧与配置

    转自:http://os.chinaunix.net/a2006/0706/963/000000963867.shtml vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两 ...

  9. mac 读linux格式文件内容,linux和mac osx 下查找替换并保存文件的方法

    1. 查找deskop.xml 并修改文件 find . -name desktop.xml|xargs sed -i '.bak' 's/$/ /g' 注: -i 参数在  mac 下一定要指定备份 ...

最新文章

  1. ONNX+TensorRT
  2. 进程、线程、堆、栈的理解和区别!
  3. arcgis select by attributes一次选多个_地理工具学习--arcgis篇:单工具学习(2)
  4. d3.js 教程 模仿echarts折线图
  5. HDU3183 A Magic Lamp —— 贪心(单调队列优化)/ RMQ / 线段树
  6. .NET 中 async 和 await
  7. FPGA内部硬件结构简介
  8. HTTP协议及URL统一资源定位符详解
  9. [Buzz.Today]2012.04.29
  10. 汇编语言基本概念(续13)
  11. 关于ADO之AddNew,UPdate与Identity列
  12. android 生成长截图,【UNIAPP截长图】方案之一:滚动截屏 Android
  13. node2vec python_论文笔记 | node2vec
  14. revit二次开发概念_半天入门Revit二次开发
  15. YOLOv3的批量图片检测以及批量输出(windows下)
  16. selenium滑块拖动验证(携程)
  17. Golang的基础数据类型
  18. nginx配置详解及设置代理服务器(1)
  19. 文件上传绕过姿势整理
  20. 2.3 放大电路的分析方法

热门文章

  1. ES6新特征总结与介绍——声明与表达式
  2. javascript 总结笔记
  3. 897A. Scarborough Fair# 斯卡布罗集市(模拟)
  4. 解读阿里云oss-android/ios-sdk 断点续传(多线程)
  5. Redis 错误1067:进程意外终止,Redis不能启动,Redis启动不了
  6. devices-list
  7. 看博客学学Android(五)
  8. 扒取的国外的后台管理系统的界面
  9. 使用ISA实现用户级验证(1~3篇)
  10. IBatis.Net学习笔记五--常用的查询方式