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  反向

 

忽略大小写搜索

/Mask\c

 

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

/^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脚本

 

posted @ 2020-06-02 15:51  JPinsz  阅读(329)  评论(0编辑  收藏  举报