vim的使用

本文详细介绍Vim编辑器的高效使用方法,包括快速移动、查找替换、文字处理、窗口管理和多文件操作等功能,帮助读者提升编码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

删除不包含test的行

:g/test/d  删除包含test的行

 

1.快速移动

w、e   移动到下一个单词的开头、结尾

b、ge   移动到前一个单词的开头、结尾

 

W    移动到下一个空格的开头

B    移动到前一个空格的开头

 

$    移动到当前行的末尾

^    移动到当前行第一个非空字符上

0    移动到当前行第一个字符(可能是空格)

 

fx    移动到当前行光标后的字符x上

Fx    移动到当前行光标前的字符x上

 

G    跳到尾行

gg    跳到首行

45G    跳到第45行

 

``    跳到前一个光标位置

ma    将当前光标位置标记为a(一共可以记录为a-z26个标记)

`a    跳到标记a处

:marks    显示标记列表

 

ctrl-o    跳到上一位置

ctrl-i    跳到下一位置

:jumps    列出跳到的位置列表

 

ctrl-]    跳转到光标所在字符串表示的主题处

 

H    跳到屏幕的首行

M    跳到屏幕的中间行

L    跳到屏幕的尾行

 

ctrl-g    显示当前光标所在行等信息

:set number    显示行号

:set nonumber    不显示行号

 

ctrl-y    向上滚屏

ctrl-e    向下滚屏

 

ctrl-u    向上滚半屏

ctrl-d    向下滚半屏

 

ctrl-b    向上滚一屏

ctrl-f    向下滚一屏

 

zz    把当前行置为屏幕的中间

zt    把当前行置为屏幕的顶端

zb    把当前行置为屏幕的尾端

 

%    与当前光标所在位置匹配的()、[]

{、}    与当前光标所在位置匹配的{、}

[[、]]    上一个、下一个函数的开头

 

 

2.查找

/pattern    向后查找匹配的字符串(输入/后按上下键会出现上次输入的匹配串)

 

?pattern    向前查找匹配的字符串

n、N    查找下一个(方向与上一次相同、相反)

*、gd    查找当前光标所在的单词

:h :s    查看替换命令的帮助

 

:set ignorecase    设置忽略大小写

:set noignorecase    不忽略大小写

 

3.输入

ctrl-n    自动补齐变量或函数名

qa 操作 q    将操作记录在宏a中(一共可用26个宏)

@a    重复宏a中的操作(机械的重复键入的操作,光标移动也在内,使用时注意操作位置的问题)

 

:abbr ture true    单词自动替换功能,比如当键入ture时会自动的替换成true(可以自定义一些没有歧异的缩写)

 

 

3.文字处理

a    在当前光标后插入

i    在当前光标前插入

o    在当前行后插入一行

O    在当前行前插入一行

 

x    删除一个字符

dd    删除一行

dw    删除一个单词

d$、D    删除光标至当前行尾

d^    删除光标至当前行首

d0    删除光标至当前行首

 

cw    删除一个单词并进入插入模式

 

r    有后面输入的字符替换当前光标下的字符

 

R    进入替换模式,键入的字符会替换光标下的字符,按ESC退出到命令模式

 

也可以先用v进入视图模式后再用d删除选择的文本

 

v    进入视图模式

V    进入视图模式,整行选取

ctrl-v    进入视图模式,选取矩形块(o、O    在可视模式下,调整光标所在角)

 

yy    复制一行

y$、y^    复制到行尾、行首

 

 

J    将两行合并为一行

 

u    撤销上一次操作

crtl-R    恢复上一次的操作

 

ZZ或:wq    保存并退出

:q!    不保存退出

:w    保存

:e!    放弃保存前的所有修改并重新载入该文件的原始内容

 

:help {subject}    查看某个主题的帮助,会将屏幕分成2个编辑窗口,可以使用ZZ或:q退出而不关闭原编辑窗口

:help ctrl-r 查看ctrl-r控制键的帮助,ctrl-表示控制键

 

 

5.重复执行

.

 

6.拆分窗口

new    打开新的空窗口

split    水平拆分窗口

vsplit    垂直拆分窗口

split socket.c    在新窗口中打开socket.c文件

5ctrl-w+    将窗口高度增加5行

10ctrl-w-    将窗口高度减少10行

ctrl-wctrl-w    在窗口间切换

 

7.比较2个文件

vimdiff file1 file2

 

8.多个文件操作

vi file1 file2    一次打开多个文件

:args    显示编辑的文件列表

:arga    添加一个文件到列表

:argd    从列表中删除一个文件

:n    跳到下一个文件

:N    跳到前一个文件

:n file    跳到指定的文件

:saveas file    另存为

 

:buffers 显示所有打开的文件及其编号

:buffer N 显示第几个打开的文件

:bnext 显示下一个打开文件

:bNext :bprevious 显示前一个打开文件

 

具体看

:h buffer-list

:h buffers

 

 

vi filea

: arga fileb

: previous

即可开始编辑fileb

: n

即可开始编辑filea

: previous

即可开始编辑fileb

 

 

9.在文件间复制粘贴

进入可视模式选择文本后

"ay    复制到寄存器a中

"by    复制到寄存器b中

切换到另一个文件

"ap    粘贴寄存器a中的内容

"bp    粘贴寄存器b中的内容

 

10.使用taglist

:Tlist 启动

在~/.vimrc中加入一行

:nnoremap <silent> <F11> :Tlist<CR>

设置启动快捷键为F11

 

11.语法高亮显示

将/usr/share/vim/vim64/vimrc_example.vim复制到~/下,存为.vimrc(例如执行cp /usr/share/vim/vim64/vimrc_example.vim ~/.vimrc)

 

12.将c语言缩进改为4个空格

在~/.vim中加入一行set cindent shiftwidth=4

 

命令模式:(vim有自动补全的功能tab)
sy on语法加亮  sy clear取法加亮
:colo evening(设置配色方案)
tabnew file在新的标签页打开文件

分段:
%s/content to replace/\r&/gc

 %代表全文
 s替换
 content to replace替换的内容
 \r回车
 &被替换的部分
 gc一直替换
输入y替换一个,输入a全部替换

Normal模式:
gg2x
 gg将光标移动到文本开头
 2x删除两个字符
 x删除当前光标处的文本
按键ctrl+r 相当于word中的redo
按键u    相当于word中的undo

块选择 ctrl+v   15jx  当前行向下15行选中的内容删除

q+宏名字,开始录制宏
执行动作
q结束宏录制
@宏名字,执行宏

 

 

以上内容来自网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值