vim 熟练度练习

:w /tmp/bbb #另存为

0 行首

$ 行尾

ctrl+f  下翻页

ctrl+b 上翻页

行复制,命令行模式下

yy 复制光标所在的行

p 在光标所在行的下面插入复制的一行

P 在光标所在行的上面插入复制的一行

2yy 从光标开始复制二行 #数字多少,代表复制多少行

p 粘贴

段复制,命令行模式下

v 移动光标选择自己想复制的段,按下y复制某个段

p 在光标所在字符后面粘贴

P 在光标所在字符前面粘贴

删除单个字符,命令行模式下

x 删除光标所在的字符

X 删除光标前的字符

3x 删除三个字符

删除某个单词,命令行模式下

dw 删除光标后的单词

db 删除光标前的单词

daw 删除光标所在的单词 delete a word

. 重复之前的操作

删除某个段,命令行模式下

v 选中选择段,然后x删除

删除行,命令行模式下

dd 删除光标所在的行

3dd 删除光标所在开始的三行,往下数 #数字多少,代表删除几行

快速清空正在编辑的文件,命令行模式下

gg然后111111dd #数字>行数就能够清空

gg然后dG   #删除当前行到最后一行

某行我们指定删除到某个字符,命令行模式下

dtu 从当前字符删除到u   delete to u

d0 从当前字符到行首的字符全部删除

d$ 从当前字符到行尾的字符全部删除

删除后的字符自动复制

向下搜索,命令行模式下

/mask 向下搜索mask

n  继续向下

N  反向

向上搜索,命令行模式下

?mask 向上搜索mask

n  继续向上

N  反向

 

忽略大小写搜索

/Maskc

正则搜索,命令行模式下(不支持扩展正则)

/^L 以L开头的

/(mask) 不支持扩展正则

针对行的字符快速定位,命令行模式下

f1 光标快速定位到1

单个字符快速替换,命令行模式下

r4 光标所在的字符替换为4   replace

批量替换,命令行模式下

:%s/no/yes/g 所有的no替换为yes

:%s/no/yes 每一行的第一个no替换为yes

:2s/2/3/g  只替换第二行的

:2,4s/3/4/g 第二行到第四行的3替换4

替换前进行确认

:%s/no/yes/gc c表示替换前需要确认

正则替换(不支持扩展正则)

:%s/ListenAddress .*/ListenAddress 127.0.0.1/g

vim从命令行模式转换为编辑模式的方法

字符前插入

i

字符后插入

a

行首插入

I

行末插入

A

光标所在行的下面新起一行插入

o

光标所在行的上面新起一行插入

O

从编辑模式切换到命令行模式就是按esc

块编辑是指纵向批量编辑,命令行模式下

ctrl+v r 块替换

ctrl+v x 块删除

ctrl+v I 块操作从字符前插入

ctrl+v A 块操作从字符后插入

插入后一定要记得按两次esc键

 

:set all命令

查看默认的设置项目

显示行数

:set number  #显示行数

:set nonumber  #不显示行数

:set relativenumber #显示相对行数

自动缩进

:set autoindent    #打开自动缩进

:set noautoindent   #关闭自动缩进

粘贴模式,保留粘贴的文本格式

:set paste

取消搜索高亮功能

:set nohlsearch

示例文本vim /tmp/shijiange.c

#include <stdio.h>

   main()    {

     printf("hello world!");

      printf("hello world!");

}

自动缩进,命令行模式下

5==    #底下5行自动缩进

v选中块,然后== #选中的块自动缩进

批量缩进取消缩进

>> 相当于按一个tab

<< 相当于删除一个tab

2>> 底下两行往左缩进

代码自动补全功能

ctrl+n 代码自动补全

打开多个文件

vim /tmp/shijiange1.txt

:tabnew /tmp/shijiange2.txt   #打开新的文件,同时旧的文件也在编辑

gt      #切换窗口

:qa!      #所有编辑文件不保存退出

:wqa      #所有编辑文件保存退出 all

对比

vimdiff /tmp/shijiange1.txt /tmp/shijiange2.txt

ctrl+w l 移动到右窗口

ctrl+w h 移动到左窗口

]c   移动到下一个不同的点

[c   移动到上一个不同的点

示例python文件vim /tmp/shijiange.py

print('1.1.1.1')

if 3 == 3:

    print('shijiange')

运行正在编辑的python脚本

:!ifconfig  #运行ifconfig命令查看ip

:!python % #运行正在编辑的python脚本

原文地址:https://www.cnblogs.com/jpinsz/p/13031747.html