vim学习笔记

Vim刚启动的时候进入的是命令模式,常用的几个命令有:

i 切换到输入模式,以输入字符

x 删除当前光标所在处的字符

: 切换到底线命令模式,以在最底一行输入命令。

输入模式:命令模式按下i进入输入模式
字符按键以及Shirt组合 输入字符

ENTER回车键 换行

BACKSPACE退格键 删除光标前一个字符

DEL 删除键 删除光标后一个字符

方向键 在文本中移动光标

HOME/END 移动光标到行首/行尾

Page Up/Page Down 上/下翻页

Insert 切换光标为输入/替换模式,光标将变成竖线/下划线

ESC 退出输入模式,切换到命令模式

底线命令模式:命令模式下按下(英文冒号:)进入底线命令模式
基本命令
q 退出程序

w 保存文件

ESC 出底线命令模式

分屏、窗口:

:sp分屏

HJKL左下上右移动

zc 合并

Ctrl+w 切换窗口

撤销:

U 撤销上一步操作

Ctrl+r返回上一步撤销的操作

复制、剪切、删除:

dd剪切一行 p 粘贴

dt’删除所有内容直到遇到单引号’

yy复制一行 p 粘贴

x删除当前光标字符

p在光标前粘贴

P在光标后粘贴

选择复制按v进入选择模式,然后按hjkl移动光标,选择文本,然后按y进行复制,按p进行粘贴

光标移动:

gg到第一行

G到最后一行

:N到第N行,如:13到第13行

w到下一个单词的开头

e到下一个单词的结尾

*#在当前文件中搜索当前光标的单词

%匹配括号移动,移动到括号匹配处

Ctrl+o向后回退光标移动

Ctrl+I向前追赶光标移动

0数字0,到行头

$美元符,到本行行尾

fa到下一个为“a”的字符处,也可以为fs,到下一个为s的字符,F反向

t,到逗号前的第一个字符,逗号可以变成其它字符。“T”反向

^到本行第一个不是blank字符的位置(blank字符就是空格、tab、换行、回车等)

g_到本行最后一个不是blank字符的位置

/pattern搜索pattern字符串,如果搜索出多个匹配,按n键到下一个。

shell命令相关:

:r!date:r是:read的缩写,!是表明要运行一个shell命令,意思是我要把shell命令的输出读到vim里来。

缩进相关:

=对齐缩进当前行

=%把光标位置移到语句块的括号上,然后按=%,缩进整个语句块(%是括号匹配)

G=gggg=G缩进整个文件(G是到文件结尾,gg是到文件开头)

>>向右缩进

<<向左缩进

字符:

guuVu把一行文字全部变成小写

gUUVU把一行文字全部变成大写

v进入可视化,进入可视化后,可单独对所选文字进行操作

gU将所选文字都变大写

gu将所选文字都变小写

ga查看光标处字符的ascii码

g8查看光标处字符的utf-8编码

gf 打开光标处所指的文件 (这个命令在打到#include头文件时挺好用的,当然,仅限于有路径的)

插入模式:

i在光标前插入

a在光标后插入

o在当前行后插入一个新行

O在当前行前插入一个新行

文件相关:

:w存盘

:x:wqZZ保存并退出

:q!退出不保存

:e <path/to/file>打开一个文件

:bn:bp当同时打开多个文件时,使用这两个命令来切换下一个或上一个文件

:saveas <path/to/file>将文件另存为<path/to/file>

命令重复:

.小数点可以重复上一次的命令

3.重复3次命令

命令组合:

格式:

0y$从行头拷贝到行尾

ye从当前位置拷贝到本单词的最后一个字符

块操作:

典型操作:0 Ctrl+v hjkl(或%匹配或Ctrl+d向下移动)I-- 【ESC】

I是插入,插入“–”,按ESC键为每一行生效。

自动补齐提示:

在Insert模式下,输入一个词的开头,按tab键或Ctrl+nCtrl+p

可视化选择:

vVCtrl+v进入可视化选择

J把所有的行连接起来(变成一行)

在所有被选择行后加东西按<Ctrl+v> j选择行 $到行最后 A输入字符串,按ESC生效

分屏:

:sp分屏

:split创建分屏

:vsplit创建垂直分屏

<Ctrl+w> hjkl或箭头切换分屏

<Ctrl+w> _最大化尺寸

<Ctrl+w> +增加尺寸

<Ctrl+w> -减少尺寸

代码跳转:

到项目根目录下运行ctags --R 生成tags文件

CTRL + ] 跳转到声明处

CTRL + T原路返回

替换、查找:

:%s#hello#hi#g文件内全部替换,用hi替换文件中所有的hello。(如果文件内有#,可用/替换)

:10,50s#hello#hi#g把10到50行内的“hello”全部替换成“hi”

【注意】如果在g后面再加上c,则会在替换之前显示提示符给用户确认是否替换。

:%s#hello#hi#gc替换之前确认

vj命令原理:
在/usr/local/bin目录下建立vj文件,内容如下

if [ $# = 1 ]

then

    vim +"Project $1"

else

    vim +"Project .prjide"

fi

类似于命令:vim +“Project AbstractFactory.prj”

【技巧:vim后台】Ctrl + z 将vim切换到后台,jobs 查看vim在后台那个jobfg 1 打开对应的job

:vertical res 20 设置vim窗口的宽度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值