文本编辑工具vim

                         vim

+#: 打开文件直接处在#

+/PATTERN:打开文件直接处在第一次匹配到行

vim + file :打开文件直接处在最后行

vim b file :以二进制打开文件(只对二进制文件有效。对文本文件无改变)

vim d file1 file2 :同时打开两个文件

vim -m file:以只读模式打开文件

 

vim有三种工作模式:

命令模式(默认)

编辑模式

 

扩展模式(末行模式)

命令模式转化为编辑模式:

i:当前光标处插入

I:当前光标行行首处插入

a:当前光标后处插入

A: 当前光标行行尾处插入

o:当前光标行下一行插入

O: 当前光标行前一行插入

编辑模式转化为命令模式:esc

命令模式转化为扩展模式: 

扩展模式转化为命令模式:esc

编辑模式扩展模式不能相互转化必须通过命令模式

 

vim的保存及退出(扩展模式下):

w:保存

wq:保存并退出

q:退出(只有在没有对文件做更改时可以退出)

q!:强制退出

命令模式下:ZZ:保存退出  ZQ:不保存退出

 

命令模式下跳转:

h:   l:    j:   k:  

w:下一个单词的词首 

e:当前或下一单词的词尾 

b:当前或前一个单词的词首

(以上跳转命令可在前面加数值)    

H:当前页页首

M:当前页页中间行

L:当前页页底 

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

0: 跳转至行首 

$: 跳转至行尾  

#G、扩展模式:# :跳转至由#指定行 

G:最后一行 

1G, gg: 第一行  

 ):下一句

(:上一句  

 }:下一段

{:上一段

在扩展模式下输入行号可以直接跳转至指定行

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

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

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

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

 

ctrl+s :锁定屏幕(锁定屏幕后仍然会接受键盘输入,解锁后显示出来)

ctrl+q:解锁屏幕

 

字符编辑

x:删除光标所在字符

~:将光标所在字符转换大小写

r:替换

R:进入替换模式

 

删除复制粘贴命令

d:删除  p:粘贴(光标后或行后)  y:复制

以上命令可以配合数值或者跳转字符使用

dd删除一行

yy复制一行

D:删除光标至行尾所有字符

P:在光标前或行前粘贴、

#1 i #2 esc  #1复制#2

 

gu转换成小写  gU转换成大写

搜索及替换(扩展模式下)

/# :从上向下搜索#

#:从下向上搜索#

s/#1/#2/:  #1:要替换的内容   #2:替换为的内容

 

u:撤销

ctrl+r:重做

U:撤销光标进入该行后所做的全部修改

 

vim共有26个命名寄存器(a-z)和一个无名寄存器用‘’表示

ps3"tyy表示复制3行到t寄存器中

tp 表示将t寄存器内容粘贴

 

二进制文件:

vim –b可以打开二进制文件

扩展命令模式下,%!xxd可以转换为可读的十六进制

扩展命令模式下, %!xxd –r转换回二进制

 

可视化模式:

v:面向字符的可视化模式

V:面向行的可视化模式

ctrl+v:面向块的可视化模式

 

分屏模式

多文件使用 vim –o 水平分屏

多文件使用 vim –O竖向分屏

单文件水平分屏:Ctrl +w s

单文件竖向分屏:Ctrl +w v

单文件取消相邻分屏:Ctrl +w q

单文件取消全部分屏:Ctrl +w o

 

vim配置文件

全局:/etc/vimrc

个人:~/.vimrc

原创文章,作者:zzzzz1357x1,如若转载,请注明出处:http://www.178linux.com/33437

(0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-12 09:01
下一篇 2016-08-12 09:01

相关推荐

  • Linux的常用的计划任务(一次任务与周期性任务) at & cron

      在Linux日常维护工作中,维护员不可能每时每刻都守在服务前前,但如果遇到例行的操作要进行怎么办?设定计划任务!     Linux任务计划、周期性任务执行     • 未来的某时间点执行一次任务:      &n…

    Linux干货 2016-09-09
  • awk用法进阶

    一、控制语句 1 if-else语句        使用场景:对awk取得的整行或某个字段做条件判断        语法:         &nbsp…

    Linux干货 2016-09-21
  • 看了还想看—普通权限及umask

        权限在操作系统是尤为重要的,无论是windows和linux中,都少不了权限这么一说,权限的大小决定了你能操作些什么,在linux中,权限对目录和文件的意义是不同的,并且还有特殊权限。今天,我们就来说说一说权限在linux中的重要性以及权限操作命令。     权限:权限决…

    Linux干货 2016-08-03
  • 数组和变量之间的关系及如何灵活运用数组

    什么是数组?数组:存储多个元素的连续的内存空间,相当于多个变量的集合什么是变量? 变量即是存储单个元素的内存空间 如果整个数组只有一个名字;数组名是数组的标识;也是数组所指向的存储多个元素的连续的内存空间开始地址的标识;数组索引定义从 0 开始(第一个数组元素);到 N 结束引用某个数组元素时,数组名+【索引】格式:${ARRAY_NAM…

    Linux干货 2017-05-22
  • 【招聘需求】高级运维工程师/上海虹口区/待遇20k左右

    上海虹口区/待遇20k左右 有意向者发简历至@管家邮箱 邮件名是:[求职]Net-姓名-花名-工作年限 岗位职责:1、降低技术壁垒,建设运维工具、运维平台,实现运维自动化,包括 运维自动化、配置管理中心等。2、具备前瞻性,带领运维技术团队完成业务支撑,负责定位、分析、跟踪和相协调处理重大事故,使之对业务影响降至最低。3、技术支持、培训、知识库建设。4、运维接…

    Linux干货 2015-03-12