文本编辑工具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)
上一篇 2016-08-12 09:01
下一篇 2016-08-12 09:01

相关推荐

  • 文件相关操作练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限: 2、编辑/etc/group文件,添加组hadoop: 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop: 4、复制/etc/sk…

    2017-11-17
  • 分布式文件系统MogileFS

    1、分布式系统的目标:加强A、P,在C上进行妥协     BASE模型 CAP理论: C:Consistency(一致性)  任何一个读操作总是能够读取之前完成的写操作。 A:Availability(可用性) 每一次操作总是能够在确定的时间返回。 P: Partition Tolerance ( 分区容错性 )   在出现网络分区的情况下,仍然能够满足一致…

    2017-11-23
  • N25-第九周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # 统计登录用户和非登陆用户的个数 # author: han declare -i loginnum=0 declare -i nologinnum=0 whil…

    Linux干货 2017-02-24
  • 软链接和硬链接的区别

          什么是链接文件? 使用windows的朋友们应该会经常接触到快捷方式吧!它也就是能让我们快速的打开一个目标应用程序,文件,或者文件夹来使我们的操作更加快捷。那么下面我们就来简单聊聊linux上的“链接文件”吧!            &n…

    Linux干货 2016-10-19
  • sed,vim练习

    1 、删除/etc/grub2.cfg 文件中所有以空白开头的行行首的 空白字符 [root@localhost ~]# sed -r 's@^[[:space:]]+@@' /etc/grub2.cfg 2 、删除/etc/fstab 文件中所有以#开头,后面至少跟一个空白字符的行的行首…

    Linux干货 2016-08-10
  • 第五周 练习

    1、显示当前系统上root、fedora或user1用户的默认shell; 1.  egrep "^(root|user1|fedora)" /etc/passwd|cut –d: –f7   2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:h…

    Linux干货 2016-11-28